图的深度优先搜索算法DFS

图的深度优先搜索正如其名"深度优先",算法从一个点开始遍历,只要还有可能就尽量的"深入"遍历.

第一个节点是v,深度优先搜索总是对最近"发现"的节点的出发边进行探索,直到当前节点的所有出发边已经探索完成,则算法"回朔"到该节点的父节点,去探索父节点的其他出发边.该过程会一直持续到由v发出的边的所有边都探索完成,如果该图中还有为发现的节点,则从剩下的未发现的节点中选取一个节点开始深度优先算法的运行,重复同样的上述工作.这样直至图中的所有节点都被发现,则深度优先搜索完成

拓扑排序可以借助与深度优先搜索,每个节点有一个发现时间discover_time,(是第一次探索到该节点)和一个完成时间finish_time(该节点的所有边探索完成时间),而拓扑排序是深度优先搜索的每个节点按其完成时间依次从左到右排序,即为拓扑排序.


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值