【问题标题】:Time/space complexity of a non-binary tree traversal algorithm非二叉树遍历算法的时间/空间复杂度
【发布时间】:2021-08-25 14:59:06
【问题描述】:

一个非二叉树遍历算法的时间和空间复杂度是多少?该算法从根开始打印出树中所有可能的路径?

【问题讨论】:

  • 取决于遍历。但是深度优先搜索可以完成这项工作,因此可以按 O(N) 的顺序完成,其中 N 是节点数。

标签: algorithm time-complexity tree-traversal space-complexity


【解决方案1】:

对于二叉树,#edges = #vertices - 1。遍历需要 O(|E|) 或 O(|V|) 时间。

在非二叉树的情况下,#edges = #vertices - 1 仍然成立。因此,遍历仍然需要 O(|E|) 或 O(|V|) 时间。

获取每条可能的路径所花费的时间与遍历 = O(|E|) 或 O(|V|) 的时间相同。

如果要打印所有存储的路径,可能需要 O(最长路径的长度 * 路径数)。

总时间复杂度 =遍历+打印 = O(|E|) + O(最长路径长度 * 路径数)。

【讨论】:

  • 非常感谢您的详细解释!
猜你喜欢
  • 1970-01-01
  • 2015-02-16
  • 1970-01-01
  • 2021-03-10
  • 2023-04-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-03-05
相关资源
最近更新 更多