1.二叉樹的深度和層數其實是一樣的。
2.任意一棵樹的總結點數等於總分支數+1
3.葉子結點也稱葉子,度為0的結點。
4.乙個深度為n的滿二叉樹的總結點數為 (2^(n-1)) -1(其實得出這個結論畫個圖就知道了,不難)
5.深度為h的完全二叉樹至少有2^(h-1)個結點,最多有(2^h)-1個結點。
1. 一棵二叉樹第六層(根結點為第一層)的結點數最多為?
其實這道題很簡單,就是2^5=32
2. 某二叉樹中度為2的結點有18個,則該二叉樹中有多少個葉子結點?
根據總結點數=總分支數+1,設葉子有n個,則有
18 + n = 18*2 + 1
n = 19
3.設一棵完全二叉樹共有199個結點,那麼該二叉樹共有個分支結點?
思路就是先求出這個完全二叉樹的葉子數,然後用總結點數減去葉子數就是分支結點的數目了。
因為有 (2^7) - 1<199<=(2^8)-1
所以得深度為8,前7層為滿二叉樹,所以前7層的總結點數為(2^7) - 1 = 127 ,第7層的結點數為 2^6 = 64
則最後一層的葉子為 199 - 127 = 72 ,所以第7層的葉子數為 64 - 72/2 = 28
所以總葉子數為 72+28 = 100
分支數為 199 -100 = 99
4.在深度為7的二叉樹中,最多有多少個葉結點?(注意這裡問的是葉結點,而不是結點數,如果是結點數的話答案是(2^6)-1 )
這種題目和例子1差不多,為 2^6
5.設一棵完全二叉樹共有127個結點,那麼該二叉樹是滿二叉樹嗎?
因為 乙個深度為n的滿二叉樹的總結點數為 2^(n-1)-1
則設 2^(n-1)-1 = 127
n = 8 ,所以這也是滿二叉樹。
6.具有53個結點的完全二叉樹的深度為?
因為乙個二叉樹的結點數必然不會超過深度一樣的滿二叉樹的結點數,所以有 (2^5) - 1<53<=(2^6)-1
所以答案為6
7.設一棵完全二叉樹共有700個結點,則在該二叉樹中有多少 個葉子結點?
從第五題延伸出來的題目,由例6的思路得, (2^9)-1 <700<=(2^10) - 1
所以得這棵二叉樹前面9層是滿二叉樹,則得前9層的總結點數為 (2^9)-1 = 512 -1 =511
則剩下來的結點數就是最後一層的結點數,為 700 - 511 = 189 ,把他湊成偶數為190,則也就是說,
最後一層是從第九層中 190/2= 95個結點延伸出來的,所以第九層失去了95個葉子,又因為第九層的
結點數為 2^8 = 256,則第九層的葉子數為 256 - 95,則所有的結點數為256-95 +189 =350
了解了第6題後,下面給出一道判斷題給大家,讓讀者來做判斷。是答案錯還是那位樓主錯?
例題待續
有關二叉樹的計算
1 第i層,至多2 i 1 個結點 2 深度為k,至多2 k 1個結點 3 任意一棵二叉樹,都滿足n0 n2 1 它的推導有利於做其它類似的計算題 結點數n n0 n1 n2 除了根結點n 1 0 n0 1 n1 2 n2 以上可推導出n0 n2 1。4 n個結點的二叉樹,其深度 log2 n 1 ...
有關二叉樹的學習
參考部落格 有關二叉樹需要實現的功能 有關二叉樹遍歷的知識 中序遍歷 左 根 右 前序遍歷 根 左 右 後續遍歷 左 右 根 列印節點資訊 public void dispaly public inte ce tree public class binarytree implements tree ...
二叉樹計算
術語 1.節點的度 乙個節點含有的子樹的個數稱為該節點的度 2.葉節點或終端節點 度為零的節點 3.非終端節點或分支節點 度不為零的節點 4.父親節點或父節點 若乙個節點含有子節點,則這個節點稱為其子節點的父節點 5.兄弟節點 具有相同父節點的節點互稱為兄弟節點 6.節點的層次 從根開始定義起,根為...