二叉樹的遍歷算法例題(有關二叉樹遍歷的題目)

其實二叉樹的遍歷算法例題的問題并不復雜,但是又很多的朋友都不太了解有關二叉樹遍歷的題目,因此呢,今天小編就來為大家分享二叉樹的遍歷算法例題的一些知識,希望可以幫助到大家...
其實二叉樹的遍歷算法例題的問題并不復雜,但是又很多的朋友都不太了解有關二叉樹遍歷的題目,因此呢,今天小編就來為大家分享二叉樹的遍歷算法例題的一些知識,希望可以幫助到大家,下面我們一起來看看這個問題的分析吧!
二叉樹中序遍歷的結果
根據已知的中序和后序,可以確定根結點A和左子樹:BDCE右子樹:FHG然后再確定左子樹的中序BDCE和后序DECB確定左子樹的根結點為B,右子樹的中序FHG后序HGF確定右子樹根結點為F,再確定左子樹的左子樹及右子樹的右子樹這樣遞歸下去直到所有的結點!
已知某二叉樹的先序遍歷序列為CEDBA,中序遍歷序列為DEBAC,則它的后序遍歷序列為
DABECC是根節點,E是左兒子,D,B分別是E的左右兒子,A是B的右兒子。
某二叉樹的前序遍歷節點訪問順序是abdgcefh中序遍歷節點訪問順序是dgbaechf則其后序遍歷的節點訪問順序
嗯,你第一步的劃分是正確的a為根,dgb為左子樹,echf為右子樹接下來看左子樹的前序遍歷為bdgb首先被訪問可以知道b為左子樹的根,與a相連再看左子樹的中序遍歷dgbd和g都在b之前就被訪問所以b和g應該在b的左子樹上形狀如下---a--/--b-/dg而dg的確定再根據前序遍歷d先被訪問則d為根再看中序遍歷也是d先被訪問可以確定g為d的右子樹左邊就可以確定出來了如果上面看懂了右邊就很簡單,一樣的道理前序遍歷cefh確定c為右子樹的根再看中序遍歷echfe為c的左子樹,hf為c的右子樹hf的確定在看前序遍歷f先被訪問f為根中序遍歷h先被訪問h為f的左子樹整棵樹就出來了如下圖在做后序就是小菜一碟了
二叉樹的中序遍歷
一、中序遍歷可以想象成,按樹畫好的左右位置投影下來就可以了中序遍歷結果:HDIBEJAFKCG
二、二叉樹還有其他三種遍歷
1、先序遍歷
先序遍歷可以想象成,小人從樹根開始繞著整棵樹的外圍轉一圈,經過結點的順序就是先序遍歷的順序先序遍歷結果:ABDHIEJCFKG
2、后序遍歷
后序遍歷就像是剪葡萄,我們要把一串葡萄剪成一顆一顆的。還記得我們先序遍歷繞圈的路線么?就是圍著樹的外圍繞一圈,如果發現一剪刀就能剪下的葡萄(必須是一顆葡萄),就把它剪下來,組成的就是后序遍歷了。后序遍歷結果:HIDJEBKFGCA
3、層序遍歷
層序遍歷太簡單了,就是按照一層一層的順序,從左到右寫下來就行了。后序遍歷結果:ABCDEFGHIJK
已知二叉樹的中序遍歷結果為DBHEAFICG,后序遍歷結果為DHEBIFGCA,試畫出該二叉樹,并求其前序遍列序列
--------------------A
---------------B----------C
----------D---------E--F--------G
------------------H-------I
前序為ABDEHCFIG
一棵二叉樹的前序遍歷結果是ABCEDF,中序遍歷結果是CBAEDF,則其后序遍歷的結果是
二叉樹是:A/\BE/\CD\F所以后序遍歷是:CBFDEA
關于二叉樹的遍歷算法例題和有關二叉樹遍歷的題目的介紹到此就結束了,不知道你從中找到你需要的信息了嗎 ?如果你還想了解更多這方面的信息,記得收藏關注本站。
本文鏈接:http://xinin56.com/ruanjian/1008.html