问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

(转)BFS与DFS

发布网友 发布时间:2023-05-25 20:55

我来回答

1个回答

热心网友 时间:2024-11-15 22:30

广度优先搜索(BFS)和深度优先搜索(DFS)都是图遍历算法中的重要成员。BFS采用的策略是:越早被访问到的顶点,其邻居越优先被访问。类似于树的层次遍历。DFS采用的策略是:优先选取最后一个被访问到的顶点的邻居。类似于树的前序遍历。

BFS算法的时间比较简单。
顶点的状态有三种:(1)visited;(2)discovered;(3)undiscovered;
采用辅助队列Q存放已经遍历的顶点。每一次迭代都从Q中取出当前的首顶点v;在逐一核对其邻居状态u的状态并做相应的处理,最后将顶点v置为visited,即可进入下一步迭代。

DFS算法是优先选取最后一个被访问到的顶点的邻居。因此可以栈作为辅助的数据结构(当然不用也行,只是为了好实现)。DFS的每一次迭代中,都先将当前节点v标记为discovered状态,再逐一核对其各邻居u的状态并做相应的处理,待其所有邻居均已处理完毕之后,将顶点v设置为visited状态,然后进行回溯。

DFS算法重要的有一个活跃期的时间区间。通过活跃期可以判断两个顶点之间是否是祖先-后代关系,判断的充要条件是两个顶点的活跃期是否相互包含。

BFS和DFS的时间复杂度都是O(n+e),其中n是顶点数,e是边的数量。

参考:
https://www.cnblogs.com/brucekun/p/8503042.html
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
说课包括哪些方面 说课内容包括()。 如何在手机百度上删除对话记录? 结核病是什么样的疾病? 曹丕17岁得了肺痨,明知自己命不长久,还要强争王位,是不是很自私呢?_百... 古代小说常出现的病名 急求一篇"生活小窍门"(500字)的作文 至今最有什么小妙招 健康的戒烟方法 笔记本电池锁死是什么原因引起的? BFS算法实现? BFS算法示例 - 解开密码锁的最少次数 土建中去投标的下浮率怎么定?在招标文件中是否已经有个下浮率的范围... 政府采购下浮率要求 周天买的手机为什么激活显示二月份 近期激活是翻新机吗 ...卖家说美版全新的,是近期激活的。序列号是DNPJ6SMRDTC0 帮忙查一... 近期激活新机,全套官方原配,盒子不对码,什么意思 ...上面卖的苹果6写着近期一个月内激活版,是什么意思?我问他回答说过... ...能帮我取个与我名字谐音的英文名么? 【 英文名(中文名)含义... ...当中有人因为做生意出了事故请问合伙人要负担责任吗? 合伙人因工受伤如何赔偿 ...L N 、 FG、 G V+、 VO ADG 这样四块区域。有达人晓得? 我想去香港打工可以吗 自己可以去香港找工作吗? 战地青春之歌最后谁死了 战地青春之歌近期在哪个台播 战地青春之歌都牺牲了吗 xs饮料一瓶提神醒脑几小时 怎样做牛奶桃胶 dfs和bfs算法的区别 数据线uc和cc区别 自考驾驶证要多少钱? 现在学车需要多少钱? 基于移动社交网络的营销有哪些 无精蛋和有精蛋有什么区别? 氢化蓖麻油的质量特性 20氢化蓖麻油和40氢化蓖麻油区别 罗永浩为什么做电子烟 修心的女人男人喜欢吗 ...是不是这样理解 大势所趋的势头,没有人能够挡得住。 这? 无人替你挡风雨什么意思呢? 肉末四季豆 标志设计的方法步骤有哪些 十种简单易做的干煸菜简单易学学着显摆 观致3显示请检查发动机是什么意思啊 小子样理论是什么 关于小样本生成 长春版小学六年级上册语文《贴春联》课件【三篇】 沪教版小学六年级上册语文课件:《天上的街市》