二叉树泛型遍历的时间复杂度

时间:2011-12-07 02:20:33

标签: binary-tree time-complexity

算法:

Tour (node t)
if t is a leaf node
    visit t
else
    visit t
    Tour(t.left)
    visit t
    Tour(t.right)
    visit t

代码的复杂性是否高于O(n)? ;其中n是节点数。

2 个答案:

答案 0 :(得分:0)

是的,每个节点都会访问一次,访问时间不变。我假设你在else子句中只有一个visit,而不是3.这对我来说更有意义:

Tour (node t)
    visit t
    if t is a leaf node
        return
    Tour(t.left)
    Tour(t.right)

答案 1 :(得分:0)

问题:您的访问操作是什么?

如果你的访问操作是一个恒定时间操作并且不依赖于输入大小n那么这个算法的总时间复杂度是O(n)。