根据遍历序列画二叉树
根據(jù)遍歷序列畫二叉樹
二叉樹的遍歷主要有三種:
(1)先(根)序遍歷(根左右)
(2)中(根)序遍歷(左根右)
(3)后(根)序遍歷(左右根)
和根據(jù)二叉樹寫遍歷序列一樣,根據(jù)遍歷序列畫二叉樹也一樣,文章鏈接在這里 ,點(diǎn)我跳轉(zhuǎn),可以根據(jù)序列先畫小樹,一步一步完成畫二叉樹
在觀察遍歷序列的過程中,可以通過先序遍歷和后序遍歷的序列判斷根節(jié)點(diǎn),通過中序遍歷的序列判斷左子樹右子樹,中序遍歷和其它任何一個(gè)序列都可以畫出來二叉樹(重點(diǎn))。
例如:先(根)序遍歷(根左右):ABEFCGH
? 中(根)序遍歷(左根右) : EBFAGCH
? 后(根)序遍歷(左右根) : EFBGFCA
這里以中序和先序結(jié)合判斷為例:
? 先序遍歷(根左右):ABEFCGH
? 中序遍歷(左根右) : EBFAGCH
首先,前面提到,先序和后序是用來判斷根節(jié)點(diǎn)的,根據(jù)先序序列可知A為根節(jié)點(diǎn),那么,根據(jù)中序序列,A左邊的都是左子樹,右邊的都是右子樹,即EBF為左子樹元素,GCH為右子樹元素。
接下來,再看先序序列,B為根節(jié)點(diǎn),接下來是E和F,根據(jù)中序序列,則E和F分別是B的左節(jié)點(diǎn)元素和右節(jié)點(diǎn)元素,此時(shí)二叉樹的根節(jié)點(diǎn)和左子樹已經(jīng)確定了,如下圖所示。
? 先序遍歷(根左右):ABEFCGH
? 中序遍歷(左根右) : EBFAGCH
接下來再看右子樹,由先序序列可知,C為根節(jié)點(diǎn),接下來是G和H,根據(jù)中序序列,則G和H分別是C的左節(jié)點(diǎn)元素和右節(jié)點(diǎn)元素,此時(shí)二叉樹的根節(jié)點(diǎn)和右子樹已經(jīng)確定了,如下圖所示。
由此,二叉樹已確定。
中序和后序 判斷同理(重點(diǎn):先序后序判斷根節(jié)點(diǎn),中序判斷左右子樹)。
總結(jié)
以上是生活随笔為你收集整理的根据遍历序列画二叉树的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 根据二叉树写遍历序列
- 下一篇: 自动拆箱和装箱