1.
結點的度
||樹的度
||樹的深度。
結點的度:乙個結點擁有的子樹的個數就是結點的度。
樹的度:一棵樹的度是指該樹中結點的最大度數。
樹的深度:樹中結點的最大層數稱為樹的深度或高度。
2.滿二叉樹
||完全二叉樹
滿二叉樹:若二叉樹中每一層結點的個數都達到最大,則該樹為滿二叉樹。
完全二叉樹:若一棵二叉樹至多只有最下層的兩層上結點的度數可以小於
2;並且最下層的結點都集中在該層最左邊的若干位子上,則稱該樹為完全二叉樹。
3.二叉樹的性質
1)二叉樹第
i層上最多有
2^(i-1)
個結點。
2)深度為
k的二叉樹最多有
2^k-1
個結點。
3)任意一棵二叉樹中,若葉子結點個數為
n,度為
2的結點為m,則
n=m+1. 4)
具有n個結點的完全二叉樹的深度k=【
log2n】
+1。(
2為底)5)有
m個葉子結點的
huffmantree
所具有的節點數為
2m-1. 4.
二叉樹的儲存結構
對於具有
n個結點的完全二叉樹,按層次從上到下,每層從左到右進行編號1)若
i=1,則
ki為根結點,無雙親,否則,
ki的雙親結點編號為
i/2 2)若
2i則ki
有左孩子,左孩子編號為
2i,否則,
ki無左孩子,
ki為葉子結點。3)若
2i+1則
ki有右孩子,右孩子編號為
2i+1,
否則,ki
無右孩子。
5.二叉鍊錶的定義
typedef struct node
bintnode;
typedef bintnode *bintree;
二叉樹遍歷小結
二叉樹是相當重要的資料結構,目前我還只會玩玩它的遍歷 年輕不懂事沒好好學,不然早就達到人生巔峰了 leetcode上二叉樹的簡單題,大部分通過遍歷加一點小邏輯即可解決,所以總結一下幾種遍歷方法 其實也是看題解白嫖的 二叉樹遍歷有廣度優先,深度優先兩種方式,深度優先又分先序遍歷 根,左,右 中序遍歷 ...
二叉樹演算法小結
1.廣度優先遍歷 也是層序遍歷 void bfs node root 2.深度優先遍歷 非遞迴void dfs node root if n left null 前序 中序 後序遍歷 遞迴寫法 void dlr node root void ldr node root void lrd node r...
二叉樹 二叉樹
題目描述 如上所示,由正整數1,2,3 組成了一顆特殊二叉樹。我們已知這個二叉樹的最後乙個結點是n。現在的問題是,結點m所在的子樹中一共包括多少個結點。比如,n 12,m 3那麼上圖中的結點13,14,15以及後面的結點都是不存在的,結點m所在子樹中包括的結點有3,6,7,12,因此結點m的所在子樹...