我们知道要获得精确的二叉树,我们至少需要两次遍历(按顺序和预订/有序和后序)才能返回原始树。但是,如果树是红黑树,是否必须进行两次遍历(按顺序和预订/有序和后序)才能获得原始树?感谢。
答案 0 :(得分:2)
通过提供一个反例,很容易证明有序遍历是不够的:
5B
3R 10B
1B 4B
3B
1B 5R
4B 10B
这些都是有效的红黑树,其有序遍历顺序为(1,3,4,5,10)。因此,不可能仅通过其节点的有序遍历来重建红黑树。
答案 1 :(得分:1)
对于reference,“与顺序配对的预订或后订单足以唯一地描述树,而预订顺序则在树结构中留下一些歧义。”特别是,这个answer反例表明单独的有序遍历是不够的,而Q&A表明预先排序&一起下订单是不够的。因为“红黑树是special type of binary tree”,答案是肯定的:至少需要两次遍历,其中一次是有序的。
答案 2 :(得分:1)
不,预订或订单后遍历就足够了。
由于红黑树是二进制搜索树,搜索树属性意味着有序遍历只是所有元素的排序列表,并且因此是多余的。