我一直试图找到一种算法来搜索图表是否已连接。图表是无向的,我只想找到 a 解决方案(可能有多个)或者如果没有。我在找阿尔格。在线性时间附近执行,可能是O(logN)或O(NlogN)。
DFS可以胜任这项任务还是针对这个具体问题还有其他选择?
答案 0 :(得分:1)
这将取决于您定义N
的方式,如果N
是顶点数,则输入本身的大小可能为O(N^2)
,您将需要阅读所有内容(除非你有一些特定的输入顺序,而且可能会改变)。
DFS在O(|V|+|E|)
中运行(节点数+边数),并且可以通过简单计算您发现的新顶点的数量来查找是否连接图,并在完成时检查此数字是否为{ {1}}。