对于树结构中的每个节点(在前序遍历中)也必须触及所有祖先节点的方法的大O运行时复杂性是多少? O(n * avg(树高))?那就是我们的方法/函数的运行时复杂度是在O(n * avg(树高))? (在一般情况下)。
也许avg(树高)可以定义为(min + max)/ 2,但是hm
答案 0 :(得分:0)
我可能误解了,但是如果你说你需要遍历所有节点(n)然后触摸每个节点的每个anscestor(最坏的情况:在平衡二进制树中记录n)那么我认为它会是O(n*Log(n))
。常量不适用于大O表示法,但(如下面@interjay所指出的)平均值可能是。
假设树的不平衡,触摸所有祖先的最坏情况大约是n/2
,这只是大O中的n。