二叉樹的遍歷題目(數(shù)據(jù)結(jié)構(gòu)入棧出棧題目)
夕逆IT
- 前端設(shè)計(jì)
- 2023-08-13
- 226

大家好,感謝邀請,今天來為大家分享一下二叉樹的遍歷題目的問題,以及和數(shù)據(jù)結(jié)構(gòu)入棧出棧題目的一些困惑,大家要是還不太明白的話,也沒有關(guān)系,因?yàn)榻酉聛韺榇蠹曳窒?,希望可?..
大家好,感謝邀請,今天來為大家分享一下二叉樹的遍歷題目的問題,以及和數(shù)據(jù)結(jié)構(gòu)入棧出棧題目的一些困惑,大家要是還不太明白的話,也沒有關(guān)系,因?yàn)榻酉聛韺榇蠹曳窒?,希望可以幫助到大家,解決大家的問題,下面就開始吧!
二叉樹的中序遍歷
一、中序遍歷可以想象成,按樹畫好的左右位置投影下來就可以了中序遍歷結(jié)果:HDIBEJAFKCG
二、二叉樹還有其他三種遍歷
1、先序遍歷
先序遍歷可以想象成,小人從樹根開始繞著整棵樹的外圍轉(zhuǎn)一圈,經(jīng)過結(jié)點(diǎn)的順序就是先序遍歷的順序先序遍歷結(jié)果:ABDHIEJCFKG
2、后序遍歷
后序遍歷就像是剪葡萄,我們要把一串葡萄剪成一顆一顆的。還記得我們先序遍歷繞圈的路線么?就是圍著樹的外圍繞一圈,如果發(fā)現(xiàn)一剪刀就能剪下的葡萄(必須是一顆葡萄),就把它剪下來,組成的就是后序遍歷了。后序遍歷結(jié)果:HIDJEBKFGCA
3、層序遍歷
層序遍歷太簡單了,就是按照一層一層的順序,從左到右寫下來就行了。后序遍歷結(jié)果:ABCDEFGHIJK
中序遍歷結(jié)果為abc的二叉樹有幾種
總共有3種。分別為左a中b右c
c語言編程實(shí)現(xiàn)二叉樹的三種遍歷
二叉樹有三種遍歷方式,分別為先序遍歷、中序遍歷、后序遍歷。
二叉樹是指樹中節(jié)點(diǎn)的度不大于2的有序樹,它是一種最簡單且最重要的樹。二叉樹的遞歸定義為:二叉樹是一棵空樹,或者是一棵由一個根節(jié)點(diǎn)和兩棵互不相交的,分別稱作根的左子樹和右子樹組成的非空樹;左子樹和右子樹又同樣都是二叉樹。
二叉樹遍歷例題
假設(shè)某二叉樹的先序遍歷序列是abdgcefh,中序遍歷序列是dgbaechf,畫出二叉樹,并給出其后序遍歷序列。分析過程:
以下面的例題為例進(jìn)行講解:
已知一棵二叉樹的先序遍歷序列和中序遍歷序列分別是abdgcefh、dgbaechf,求二叉樹及后序遍歷序列。
分析:先序遍歷序列的第一個字符為根結(jié)點(diǎn)。對于中序遍歷,根結(jié)點(diǎn)在中序遍歷序列的中間,左邊部分是根結(jié)點(diǎn)的左子樹的中序遍歷序列,右邊部分是根結(jié)點(diǎn)的右子樹的中序遍歷序列。先序:abdgcefh-->abdgcefh
中序:dgbaechf-->dgbaechf
得出結(jié)論:a是樹根,a有左子樹和右子樹,左子樹有bdg結(jié)點(diǎn),右子樹有cefh結(jié)點(diǎn)。先序:bdg-->bdg
中序:dgb-->dgb
得出結(jié)論:b是左子樹的根結(jié)點(diǎn),b無右子樹,有左子樹。先序:dg-->dg
中序:dg-->dg
得出結(jié)論:d是b的左子樹的根結(jié)點(diǎn),d無左子樹,有右子樹。先序:cefh-->cefh
中序:echf-->echf
得出結(jié)論:c是右子樹的根結(jié)點(diǎn),c有左子樹(只有e結(jié)點(diǎn)),有右子樹(有fh結(jié)點(diǎn))。先序:fh-->fh
中序:hf-->hf
得出結(jié)論:f是c的左子樹的根結(jié)點(diǎn),f有左子樹(只有h結(jié)點(diǎn)),無右子樹。還原二叉樹為:
a
bc
def
gh后序遍歷序列:gdbehfca
前序遍歷是什么
這個是二叉樹里面的一種遍歷情況,前序遍歷也叫做先根遍歷,可記做根左右。
前序遍歷首先訪問根結(jié)點(diǎn)然后遍歷左子樹,最后遍歷右子樹。在遍歷左、右子樹時,仍然先訪問根結(jié)點(diǎn),然后遍歷左子樹,最后遍歷右子樹。
二叉樹中序遍歷的結(jié)果
根據(jù)已知的中序和后序,可以確定根結(jié)點(diǎn)A和左子樹:BDCE右子樹:FHG然后再確定左子樹的中序BDCE和后序DECB確定左子樹的根結(jié)點(diǎn)為B,右子樹的中序FHG后序HGF確定右子樹根結(jié)點(diǎn)為F,再確定左子樹的左子樹及右子樹的右子樹這樣遞歸下去直到所有的結(jié)點(diǎn)!
二叉樹的中序遍歷等于
在二叉樹中,中序遍歷首先遍歷左子樹,然后訪問根結(jié)點(diǎn),最后遍歷右子樹。
好了,關(guān)于二叉樹的遍歷題目和數(shù)據(jù)結(jié)構(gòu)入棧出棧題目的問題到這里結(jié)束啦,希望可以解決您的問題哈!
本文鏈接:http://xinin56.com/qianduan/167.html