algorithm - 为什么 DFS 在无向图中检测循环的时间复杂度是 O(|V|) 而不是 O(|V| + |E|)?
问题描述
谁能向我详细解释为什么以及如何检测无向图中的循环的 DFS 上限是 O(|V|) ?
解决方案
没有环的图最多有 |V| - 1 条边(这是一片森林)。因此,如果 DFS 发现 |V| 边缘或更多,然后它已经找到一个循环并终止。因此,运行时间以 O(|V|) 为界。
推荐阅读
- python - attr = xyz if xy else None 给出 AttributeError
- javascript - 通过 id 访问对象 javascript 的一部分
- javascript - 未捕获的类型错误:无法使用电子更新程序代码读取未定义的属性“on”
- rust - 如何并行执行阻塞http请求的映射?
- sql - 使用 dbplyr 删除包含 NA 行
- git - windows server 2016 使用 git ssh(主机密钥验证失败)
- javascript - 是否可以在选项值属性上使用带有字符串的链式选择?
- python - 如何使用 PyOpengl 将立方体的每个面划分为小的细分?
- azure - 我的 Azure DevOps 管道作业无法正常工作,我已达到最大请求数,但我是新手
- javascript - 如何根据 SQL 表中的字段创建 JSON 数组?(Node.js - MsSQL)