小楠楠正解。事實上原貼給出的中序還對應這樣的樹呀:B

A C


中序輸入無法確定一棵二叉樹,會有不同的樹對應一個中序輸入。

中序序列只能確定真二叉樹(每個節點只有0個或2個孩子)

----------------------------------額。。。答的不對----------------------------------先序序列或者後序序列只能確定真二叉樹。中序序列不能唯一得對應一顆二叉樹。比如平衡二叉樹有很多形式,但是中序遍歷意義上的順序都是非遞減的。


中序擴展序列是一個無效的序列,因為任何兩個元素之間有且只有一個「_」,其唯一性等價於同一中序序列的二叉樹的唯一性,(或者把_想像為運算數,原來的字元想像為運算符,設想一個可能有多少個表達式),如果必須通過中序序列讀入二叉樹的話,一種可行的方法是將中序序列加括弧;先序擴展序列和後序擴展序列是可以確定二叉樹的 ,後序可以用棧作為輔助讀入(類似逆波蘭式的求解)

關於二叉樹的五種構建方法與實現:

1.前序+中序序列構建2.後序+中序序列構建3.層次+中序序列構建

4.擴充二叉樹前序序列構建

5.擴充二叉樹後序序列構建參考一篇不錯的博文:二叉樹的構建_數據結構與演算法_Dablelv的博客專欄-CSDN博客


推薦閱讀:
相关文章