bfs公司(bfs)和dfs(dfs)的区别

BFS和DFS的主要区别在于,BFS或广度优先搜索逐级进行,而DFS或深度优先搜索遵循从起点到终点的路径,然后从起点到终点移动到另一条路径,依此类推,直到访问所有节点。...

BFS和DFS的主要区别在于,BFS或广度优先搜索逐级进行,而DFS或深度优先搜索遵循从起点到终点的路径,然后从起点到终点移动到另一条路径,依此类推,直到访问所有节点。

图是一种非线性数据结构,它将数据元素排列成网络模型。图中的节点称为顶点,边连接这些节点。使用搜索方法可以解决大多数图形问题。广度优先搜索(BFS)和深度优先搜索(DFS)是常用的搜索方法。简而言之,BFS使用队列,而DFS使用堆栈。

覆盖的关键领域

1.什么是BFS–定义,功能2.什么是DFS–定义,功能3.BFS和DFS之间的区别是什么–主要区别的比较

关键术语

BFS、DFS

bfs公司(bfs)和dfs(dfs)的区别

什么是bfs公司(bfs)?

BFS代表呼吸优先搜索。它使用队列。过程如下。

  • 访问起始顶点并将该元素放置在队列中。
  • 重复从访问其未访问的相邻顶点的队列中移除顶点。
  • 将新访问的顶点放入队列。

下面是一个例子。

Difference Between BFS and DFS

Figure 1: BFS

假设上面图像中的起始顶点是1。连接到1的节点是2和4。因此我们可以将1、2和4放置在队列中。输出为1、2、4。对于1,没有剩余顶点。因此,我们可以从队列中删除1。现在我们可以移动到2,2的相邻顶点是3,5和6,因此,我们可以将,3,5和6放在队列中。输出是1,2,4,3,6。除了这三个数字,没有连接到2的相邻顶点。因此,我们可以从队列中删除2。现在,让我们转到4。4的唯一相邻节点是6。它已经访问过。没有更多的顶点,因此,我们可以从队列中删除4。您必须重复此过程,直到队列为空。它表示搜索操作的终止。

什么是dfs(dfs)?

DFS代表深度优先搜索。过程如下。

访问相邻的未访问顶点并将其标记为已访问。然后,在输出中显示它并将其推入堆栈。

如果找不到相邻顶点,则从堆栈中弹出顶点。

继续执行上述两个步骤,直到堆栈为空。

Main Difference - BFS vs DFS

Figure 2: DFS

起始顶点是A。它被推入堆栈。相邻的顶点是B和E。考虑B我们可以把B推到堆栈上。由于B没有相邻的节点,我们可以将B从堆栈中弹出。输出为B。与A相邻的其余节点是E,因此,我们可以将E弹出到堆栈中。现在输出是一个B E。

由于A没有相邻的节点,我们可以从堆栈中弹出“A”。E的相邻节点是C和H。现在,考虑C。我们可以把C推到堆栈上。输出为ABEC。该过程将继续,直到堆栈为空。它终止搜索操作。

bfs公司(bfs)和dfs(dfs)的区别

定义

BFS(width-first search)是一种图遍历算法,它从根节点开始遍历图并搜索所有相邻节点。DFS(Depth first search)是一种算法,它从图的初始节点开始,然后越来越深,直到找到所需的节点或没有子节点的节点。因此,这是BFS和DFS之间的主要区别。

长形

BFS代表广度优先搜索,DFS代表深度优先搜索。

存储节点的方法

BFS和DFS之间的另一个主要区别是BFS使用队列,而DFS使用堆栈。

内存消耗

而且,BFS比DFS消耗更多的内存。

穿越方法

转换方法是BFS和DFS之间的另一个区别。BFS的重点是首先访问最老的未访问顶点,而DFS的重点是在开始时访问沿边的顶点。

结论

BFS和DFS是两种在图中查找元素的搜索方法。BFS和DFS的主要区别在于BFS一级一级地进行,而DFS遵循一条从起始节点到结束节点的路径,然后从起始节点到结束节点移动到另一条路径,依此类推,直到访问所有节点。

引用

1.  广度优先搜索算法|伪代码|简介,教育4u,2018年3月22日,可在此处获取。广度优先搜索| BFS示例|,教育4u,2018年3月22日,可在此处获取。3。  深度优先搜索算法|图遍历算法|,教育4u,2018年3月22日,可在此处获得。4。“BFS算法–Javatpoint。“Www.Javatpoint.com,可在此处获得。5。”DFS算法–Javatpoint。“Www.Javatpoint.com,可在此处获得。 2.广度优先搜索| BFS示例|,教育4u,2018年3月22日, 3.  深度优先搜索算法|图遍历算法|,教育4u,2018年3月22日, 4.“BFS算法–Javatpoint”,Www.Javatpoint.com, 5.“DFS算法–Javatpoint”,Www.Javatpoint.com,

  • 发表于 2021-07-01 10:10
  • 阅读 ( 175 )
  • 分类:IT

你可能感兴趣的文章

网络巨人是如何存储海量数据的

...件以防止损坏的文件系统无法做到的。 每家公司为克服这些挑战所付出的努力都是惊人的。谷歌开发了自己的文件系统(称为GFS),旨在将许多低成本的服务器和硬盘驱动器转变为可靠的存储系统,以存储大量的数...

  • 发布于 2021-04-21 05:16
  • 阅读 ( 159 )

机器人图书扫描器每分钟完美捕捉250页

...观察全自动过程快速“读取”一本书的内容。这款被称为BFS Auto的机器将于2013年某个时候投入商业用途。与此同时,你可以在下面的视频中直接看到它的快速阅读能力。

  • 发布于 2021-04-24 16:07
  • 阅读 ( 97 )

纽约为买卖虚拟货币的公司提出“比特许可”规则

...服务部(DFS)公布了一份针对买**特币和其他虚拟货币的公司的拟议“守则、规则和条例”的副本,大约在该机构宣布对比特币监管进行调查一年后。
 该提案概述了特殊“比特许可证”(真正)的要求,将于7月23...

  • 发布于 2021-04-26 22:17
  • 阅读 ( 129 )

纽约州总检察长正在发动一场反对征兵和球迷决斗的战争

...35页的报告对业界进行了严厉的抨击,并逐一驳斥了两家公司的说法,即在假想的体育比赛结果上下真金白银实际上并不是赌博。
 法庭将于11月25日对纽约每日幻想运动的合法性作出裁决。但施耐德曼的办公室已经...

  • 发布于 2021-05-02 11:46
  • 阅读 ( 181 )

fanduel和draftkings试图用数学证明他们不是在赌博

...再出现。例如,在伊利诺伊州,根据一项法律,奇幻体育公司正在接受调查,该法律将赌博定义为“为金钱或其他有价值的东西提供机会或技能”的竞赛
 FanDuel和DraftKings已经为这个案例提供了数学上的支持,招募了统计学家...

  • 发布于 2021-05-02 15:15
  • 阅读 ( 164 )

fanduel和draftkings刚刚失去了一个大的支付处理器

...****》报道,每日奇幻体育网站DraftKings和FanDuel的支付处理公司Vantiv Entertainment Soluti***本周对两家公司表示,将停止处理赌注,并将在法律紧张加剧的情况下退出这一领域。目前尚不清楚凡蒂夫为DraftKings和FanDuel处理的总付款比例...

  • 发布于 2021-05-03 06:40
  • 阅读 ( 109 )

伊隆·马斯克的火星殖民计划:我们目前所知

...维拉尔角的一枚“猎鹰9号”火箭在发射台上爆炸后,该公司最近遭遇重大故障。SpaceX公司在接受《边缘》杂志采访时表示,SpaceX公司目前正试图找出事故原因,但爆炸并未改变马斯克下周谈论火星愿景的计划。
 到目前为止...

  • 发布于 2021-05-07 13:56
  • 阅读 ( 188 )

spacex测试发射了可以将人类送上火星的引擎

SpaceX公司对其“猛禽”发动机进行了首次点火试验,这是一种强大的推进系统,该公司的目标是将人类送上火星。SpaceX老板埃隆·马斯克(Elon Musk)昨晚在推特上发布了这些测试的照片,分享了一张照片,显示发动机发出稳定的...

  • 发布于 2021-05-07 21:01
  • 阅读 ( 104 )

spacex揭开了星际运输系统的面纱,这是一艘太空船和火箭,用来开拓火星的殖民地

私人航天公司SpaceX发布了一段视频,详细描述了人们期待已久的“星际运输系统”。该视频发布不到一个小时,首席执行官埃隆·马斯克(Elon Musk)就被安排在墨西哥瓜达拉哈拉举行的国际宇航会议上详细介绍该系统。
 这段...

  • 发布于 2021-05-07 22:15
  • 阅读 ( 163 )

尽管有联邦通信委员会的规定,linksys将保持其路由器开放,让你黑客

...放弃了,但许多**商仍在锁定他们的设备,以防万一。该公司刚刚宣布,Linksys不是其中之一。在辩护中,联邦通信委员会在2015年澄清了自己的规则,指出他们的目标绝不是阻止用户对自己的电子设备进行黑客攻击和调整,而是...

  • 发布于 2021-05-17 08:37
  • 阅读 ( 118 )
iqckmwyozkip
iqckmwyozkip

0 篇文章

相关推荐