【问题标题】:Time complexity of BFS and DFS on a BinaryTree: Why O(n)?二叉树上 BFS 和 DFS 的时间复杂度:为什么是 O(n)?
【发布时间】:2021-02-15 19:32:51
【问题描述】:

图上 BFS 或 DFS 的时间复杂度为 O(V+E),因为我们遍历图的所有节点和边。 (我明白了)但是对于二叉树来说,BFS 和 DFS 的时间复杂度是 O(V)……这是为什么呢?

我假设是因为以下原因:O(V+E) = O(V + V-1) = O(2V) = O(V)。这是正确的推理吗?如果没有,将不胜感激直观的解释。谢谢

【问题讨论】:

    标签: binary-tree depth-first-search traversal breadth-first-search tree-traversal


    【解决方案1】:

    所有树都有n - 1 边,n 是节点数。时间复杂度在技术上仍然是 O(V + E),但这等于 O(n + (n-1)) = O(n)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-07-13
      • 1970-01-01
      • 2019-12-21
      • 2015-01-01
      • 1970-01-01
      • 2020-01-23
      • 2016-08-18
      • 1970-01-01
      相关资源
      最近更新 更多