algorithm - 为什么 DFS 在无向图中检测循环的时间复杂度是 O(|V|) 而不是 O(|V| + |E|)?

标签 algorithm graph depth-first-search

谁能详细解释一下为什么以及如何在无向图中检测循环的 DFS 上限为 O(|V|)?

最佳答案

无圈图最多有|V| - 1 条边(这是一片森林)。因此,如果 DFS 发现 |V|边缘或更多然后它已经找到一个循环并终止。运行时间因此受到 O(|V|) 的限制。

关于algorithm - 为什么 DFS 在无向图中检测循环的时间复杂度是 O(|V|) 而不是 O(|V| + |E|)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55779686/

相关文章:

algorithm - 为什么要用 DFS 在无向图中找环,用拓扑排序在有向图中找环?

algorithm - 寻找包含两个节点的最短循环

c - 无法找出二叉树的高度

python - databuffer += data_str 类型错误 : can only concatenate str (not "_io.TextIOWrapper") to str

c# - 通过 .Net 代码加载和使用 Mathematica 包

java - 有向图最小割库

php - 同义词查找算法

java - 网格着色游戏 : Find the number of red and blue lines drawn

algorithm - 如果在 Breadth-FirstSearch(BFS) 算法中使用堆栈而不是 queueq 会发生什么?

algorithm - 组合和深度优先搜索解决方案