回覆列表
-
1 # 使用者9782896731606
-
2 # 貓秉many
首先我們要明確的一點是隻有中序是無法建立二叉樹的,它要結合先序,兩者相聯絡才可以。
根據二叉樹的圖,得出先序的順序是ABDECFG,而與此同時的中序DBEAFCG,根據這個建立
然後就是要根據二叉樹的原則編寫程式碼,你要知道的是前序遍歷序列中的首元素是二叉樹的根節點
然後你要做的是在中序遍歷序列中找到這個節點,他是中間的分水嶺,前面其左節點,後面是右節點;
最後要做的是建立根節點的左子樹和右子樹,再由中序 遍歷序列中根節點的位置確定我們前面提到的子樹的節點,這樣二叉樹就差不多建立完成了
這個就是全過程。
-
3 # 日黎黎
先序遍歷,中序遍歷,後序遍歷,根\左\右三者中,訪問根的時機,確定名稱。 這個先\中\後,是說訪問根的時機。
先:先(最先,第一步)訪問根,根左右;
中:中(第二步)訪問根,左根右;
後:後(最後,第三步)訪問根,左右根;
一、中序遍歷可以想象成,按樹畫好的左右位置投影下來就可以了
中序遍歷結果:HDIBEJAFKCG
二、二叉樹還有其他三種遍歷
1、先序遍歷
先序遍歷可以想象成,小人從樹根開始繞著整棵樹的外圍轉一圈,經過結點的順序就是先序遍歷的順序
先序遍歷結果:ABDHIEJCFKG
2、後序遍歷
後序遍歷就像是剪葡萄,我們要把一串葡萄剪成一顆一顆的。
還記得我們先序遍歷繞圈的路線麼?
就是圍著樹的外圍繞一圈,如果發現一剪刀就能剪下的葡萄(必須是一顆葡萄),就把它剪下來,組成的就是後序遍歷了。
後序遍歷結果:HIDJEBKFGCA
3、層序遍歷
層序遍歷太簡單了,就是按照一層一層的順序,從左到右寫下來就行了。
後序遍歷結果:ABCDEFGHIJK