二叉樹知識小結

2021-05-25 19:13:45 字數 1013 閱讀 3570

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的所在子樹...