“娱乐大家一下”的答案

答案:当遇到只有一个子节点的节点(树不平衡性的来源)时,处理这个节点后,直接处理这个节点的唯一子节点就可以了,不用往堆栈里压任何东西。O(N)时间的pre-order遍历的最烂空间复杂性是O(N/2)。

娱乐2:用O(1)空间遍历任意二叉树,分别用pre-order,in-order和post-order。

补充一点:以上所说的二叉树,节点只包括数据和到两个子节点的链接,不包括回到父节点的链接。

娱乐3:如果娱乐2让你很郁闷的话,先来看一下娱乐3吧:书上不是说普通的两腿(binary)找人(search)树(tree)的search操作最坏复杂性是O(N)吗?现在看来遍历一次树都不用O(N),遍历一次不是把该找的找到了吗?用不了O(N)啊?难道一个新的算法就在众目睽睽下诞生了?
答案在这里
http://www.cnblogs.com/yushih/archive/2008/03/17/1110603.html

你可能感兴趣的:(娱乐)