InOrder遍歷Binary Search Tree的問題

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/


正在回答

登陆购买课程后可参与讨论,去登陆

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 星
算法与数据结构
  • 参与学习       2583    人
  • 解答问题       1082    个

慕课网算法名师Liuyubobobo,5年集大成之作 从0到工作5年,算法与数据结构系统解决方案

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师