已知无向图g,写一个算法判断是否存在一条从v0出发,包含所有节点的简单路径

mmickeyy 1年前 已收到1个回答 举报

jiahua520555 幼苗

共回答了18个问题采纳率:94.4% 举报

核心思想就是对图进行遍历,至于选择DFS(深度优先搜索)还是BFS(广度优先搜索)要根据情况考虑,如果不光需要知道能否有路径到达,还要知道有多少条路径,可以考虑采用DFS.如果只是判断是否存在路径,则只需广度优先搜索即可.从一个点,向外扩展到其它的点,再从这些点又开始向开扩展,直到没有节点可以被扩展即可判断是否存在路径.再打个比方,好比在一个点倒水,这些水会通过有向边流到其它的点,再在这些上一步流到的点继续倒水,它又会继续向周边通过有向边流到其他的点,一直重复,直到没有新的点有水流到.
PS:在不统计路径数量的前提下,选择BFS时间复杂度远低于DFS,速度更快.

1年前

5
可能相似的问题
Copyright © 2024 YULUCN.COM - 雨露学习互助 - 17 q. 0.690 s. - webmaster@yulucn.com