1、有一個二叉查找樹,存儲者字符'A','B','C','D','E','F','G','H',下面哪個結果是后序樹遍歷結果
A. ? ADBCEGFH
B. ? BCAGEHFD
C. ? BCAEFDHG
D. ? BDACEFHG
我的結題思路是將每個答案按照后序的遍歷方法把二叉樹存儲數據的結構還原,看是否滿足二叉樹的性質。
二叉樹的性質:
1、左子樹的值小于根節點,右子樹的值大于根節點
我們直接看C答案:
根據二叉查找樹的后序遍歷的方法是LRD,先左子樹,再右子樹,最后是根節點,也就是說排序的最后是根節點
從答案C可以看出 G是根節點 左子樹分為BCAEFD ,右子樹為H,再分左子樹 BCAEFD ,此時D為根節點,左子樹為BCA,右子樹為EF,再分左子樹,A為根節點,左子樹為空,右子樹為BC,將右子樹為EF的繼續分,根節點為F,左子樹為E,右子樹為空,再對BC子樹進行分,C為根節點B為左子樹,右子樹為空。
?最后的圖形是
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?G
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?左 D ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 右H
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?左 A ? ? ? ? ? ? ? ? ?右 F
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 左 () ? ? ? ? 右 C ? ? ?左 E ? ? ? ? 右 ()
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 左B ? ? ? ? ? ? ? ? ??