InOrder遍歷Binary Search Tree的問題
講師您好:
學生想詢問為什麼InOrder遍歷BST的順序無法用來還原BST結構,是因為InOrder遍歷的結果是一有序數列,所以失去了對BST結構的紀錄嗎?
https://www.techiedelight.com/build-binary-search-tree-from-preorder-sequence/
https://www.techiedelight.com/build-binary-search-tree-from-postorder-sequence/
11
收起
正在回答
1回答
中序遍历恢复 BST,第一步就会出问题。
如果是前序遍历恢复 BST,我们可以肯定,整个序列的第一个节点一定是根节点。我们据此,根据 BST 的性质,就可以继续构建整个 BST。
如果是后续遍历恢复 BST,我们可以肯定,整个序列的最后一个节点一定是根节点。我们据此,根据 BST 的性质,就可以继续构建整个 BST。
但是对于中序遍历,整个序列中的任何一个节点,都可以是根节点。
==========
比如中序遍历是 1,2,3 的 BST,下面三棵树分别是以 1, 2, 3 为根的,中序遍历为 1,2,3 的 BST
// 以 1 为根节点 1 \ 2 \ 3
// 以 2 为根节点 2 / \ 1 3
// 以 3 为根节点 3 / 2 / 1
继续加油!:)
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星