樹和二叉樹習題講解

2021-09-21 01:21:04 字數 1348 閱讀 5671

1. 在一棵度為4的樹t中,若有20個度為4的結點,10個度為3的結點,1個度為2的結點,10個度為1的結點,則樹t的葉結點個數是:

[解析]設b為分支總數,n為結點總數,n0, n1, n2 ...分別代表度為0 ,1, 2的結點的個數。通過分析可以知道除了根結點,每乙個結點的上面都連有乙個分支,故得到關係1:b + 1 = n 其中b = n1 + 2n2+ 3n3 + ... 帶入題目中的資料可知答案為82

[答案] 82

2.將森林轉換為對應的二叉樹,若在二叉樹中,結點u是結點v的父結點的父結點,則在原來的森林中,u和v可能具有的關係是: 父子關係; 2. 兄弟關係; 3. u的父結點與v的父結點是兄弟關係

[解析]首先需要知道將森林轉化為二叉樹的方法。

森林->樹: 把一棵樹看成乙個結點,不同的樹之間是兄弟關係。

普通樹->二叉樹:左孩子,右兄弟。在兄弟之間加一條連線,對於每個結點,保留長子與其連線,去掉其他孩子與他的連線。

[答案] 1和2

3. 具有65個結點的完全二叉樹其深度為(根的深度為1):

[解析]完全二叉樹是一種特殊的二叉樹,當且僅當其每乙個結點都與相應的滿二叉樹編號1~n一一對應時,才是完全二叉樹。又因為深度為k的二叉樹最多有2^k-1個結點,可推出具有n個結點的完全二叉樹的深度為[log2n]+1([ ]表示不超過這個數的最大整數)。

[答案] 7

4. 將依次插入初始為空的二叉搜尋樹。則該樹的後序遍歷結果是:

[解析]二叉搜尋樹:或者是一棵空樹,或者是具有下列性質的二叉樹: 若它的左子樹不空,則左子樹上所有結點的值均小於它的根結點的值; 若它的右子樹不空,則右子樹上所有結點的值均大於它的根結點的值

根據定義,這一題的二叉搜尋樹為

[答案] 3, 1, 6, 13, 11, 5

5. 一棵二叉樹的後序序列: fdbgheca,中序序列:bfdagehc。前序遍歷序列為( )。

[解析] 根據後序遍歷,最後乙個就是根結點所在,所以在給定的中序序列裡,以a為界分開,左邊的bfd,右邊的gehc。對於左邊那一小堆,從後續序列可知那乙個小堆的根結點是b,以此類推可以得到整棵樹:

[答案] abdfcegh

二叉樹習題之重建二叉樹

對於給定前序和中序的重建方法。1 前序的第乙個元素一定是樹的根節點,在中序集合中找到此元素,那麼該元素的左面即為根的左子樹,右面為右子樹。2 找到前序的第二個元素,重複上面的步驟。自寫程式的效率大概為 n n 2 或最大的那個元素 這點很坑,斟酌改掉 目前沒發現更快的寫法 自己寫 結果以連續記憶體的...

樹轉二叉樹(有序樹轉換為二叉樹)講解

description 輸入一顆普通有序樹,將它轉換為對應的二叉鍊錶儲存,然後輸出該二叉樹的先序和後序遍歷序列。input 包含多組測試資料。每組測試資料第1行為樹的結點個數n 1 n 26 接下來包含n行,其中第i行 1 i n 的資料依次為結點i的資料值ai 為乙個小寫字母 後面各元素為結點i的...

二叉樹 滿二叉樹和完全二叉樹

二叉樹是一種很重要的非線性資料結構,它是樹結構的一種重要的型別 它不是樹結構的特殊情況 其特徵是每個節點最多有兩個子樹。二叉樹的特點 二叉樹每個結點最多有 2個子結點,樹則無此限制 二叉樹中 結點的子樹 分成左子樹和右子樹,即使某結點只有一棵子樹,也要指明該子樹是左子樹,還是右子樹,就是說 二叉樹是...