酷知百科網

位置:首頁 > 遊戲數碼 > 互聯網

知道中序和後序遍歷,畫二叉樹和寫出前序遍歷

互聯網2.75W

知道中序遍歷和後續遍歷,如何畫出二叉樹,並寫出前序遍歷。其實只要知道任意兩個遍歷,即可畫出應有的二叉樹,與是否是滿二叉樹無關!!!

操作方法

(01)如圖,例子來說明。知道中序和後序遍歷,畫二叉樹和寫出前序遍歷。

知道中序和後序遍歷,畫二叉樹和寫出前序遍歷

(02)從後序遍歷知道,最後一個必然是根節點,因此A是根。再結合中序遍歷可知HDMIBJNE是A的左子樹部分,FKCG是右子樹部分。

知道中序和後序遍歷,畫二叉樹和寫出前序遍歷 第2張

(03)取A的右子樹部分來看先,右子樹部分的中序遍歷:FKCE,後序遍歷:KFGC。接着從後序遍歷中看A的右子樹部分KFGC,所以C是根。又從中序遍歷知,FK是C的左子樹部分,G是C右子樹。如圖所示

知道中序和後序遍歷,畫二叉樹和寫出前序遍歷 第3張

(04)使用同樣的方法,C的左子樹部分,中序:FK,後序:KF。可以得出F是根,那麼K只能是F的右子樹了。此時如圖所示,A的右子樹部分都出來了

知道中序和後序遍歷,畫二叉樹和寫出前序遍歷 第4張

(05)再看,A的左子樹部分HDMIBJE,中序:HDMIBJNE,後序:HMIDNJEB。後序遍歷可知,B是根結點,那麼再結合中序遍歷可知道HDMI是B的左子樹部分,JNE是B的右子樹部分。

知道中序和後序遍歷,畫二叉樹和寫出前序遍歷 第5張

(06)緊接着就是看B的左子樹部分HDMI,中序:HDMI,後序:HMID,可知D是根,H是D的左子樹,MI是D的右子樹部分,如圖所示。

知道中序和後序遍歷,畫二叉樹和寫出前序遍歷 第6張

(07)看到D的右子樹部分,中序後序都是MI,根據後序中序的特性可知道,根只能是I,M是I的左子樹。

知道中序和後序遍歷,畫二叉樹和寫出前序遍歷 第7張

(08)再接着看看B的右子樹部分JNE,中序:JNE,後序:NJE,後序看出E是根,中序看出E無右子樹,只有JN是E的左子樹部分。

知道中序和後序遍歷,畫二叉樹和寫出前序遍歷 第8張

(09)最後看JN的中序:JN,後序:NJ,根據後序特性看出,J是根,中序看出N是J的右子樹。那麼整體的二叉樹就出來了,如圖所示。

知道中序和後序遍歷,畫二叉樹和寫出前序遍歷 第9張

牛刀小試。

(01)已知中序遍歷:ACQVLCOJYPRKSXG後序遍歷:AVQCOCJLRSKPGXY畫出二叉樹,並寫出前序遍歷。

(02)二叉樹如圖所示,前序遍歷是YLCAQVJCOXPKRSG

知道中序和後序遍歷,畫二叉樹和寫出前序遍歷 第10張