樹 基本知識

2022-05-10 04:13:53 字數 1508 閱讀 5316

自由樹

自由樹是乙個連通,無迴路的無向圖. 顯然樹是圖的一種.

如果乙個無向圖雖然無迴路,但是可能非聯通,那麼這個圖成為森林.(森林可以調整為一顆二叉樹[左兒子,右兄弟]). 森林是m(m>=0)棵互不相交的樹的集合。

令g = (v,e)為乙個無向圖.則以下6點是等價的.

1) g是自由樹;

2) g中任意兩個頂點由唯一一條簡單路徑相連;

3) g是連通的,但是從e中去除任何邊後得到的圖都是不連通的;

4) g是連通的,且 |e| = |v| - 1;

5) g是無迴路的, 且|e| = |v| - 1;

6) g是無迴路的,但新增任何邊到e中後得到的圖包含迴路;

有根樹從根root到樹中某一節點x的唯一簡單路徑上的節點y稱為x的祖先.

如果y是x的乙個祖先,則x是y的子孫.

如果y是x的祖先,且 y != x,則y是x的真祖先, x是y的真子孫.

有根樹中節點x的子女個數稱為x的.

從根root到節點x的路徑長度稱為x在樹中的深度.

從節點x向下到某個葉節點最長簡單路徑中邊個個數稱為x的高度.樹的高度是其根的高度,同時也等於樹中節點的最大深度.

二叉樹滿二叉樹(full binary tree): 

第一種定義:任意節點或者是葉節點,或者度為2,不存在度為1的節點。

第二種定義:一顆深度為k,且有2k-1個節點的二叉樹。

完全二叉樹(complete binary tree):  所有葉節點具有相同的深度,且所有的內部節點度都為2.

二叉樹的性質:

1)在二叉樹的第i層上至多有2(i-1)個節點。

2)深度為k的二叉樹至多有2k-1個節點。

3)對任何一顆二叉樹t,如果其葉子節點的個數為m,度為2的節點樹為n,則m = n + 1

假設度為1的節點個數為k,則總結點數為 m + n + k

通過節點的度,可以確定總邊數為2*n + k

因為|e| = |v| + 1 , 因此 m + n + k = 2*n + k + 1,即m = n + 1

4)具有n個節點的完全二叉樹的深度為floor(log2n)+1

5)如果對一顆有n個節點的完全二叉樹的節點按層序編號,則對任一節點,有

如果i == 1,則節點i是二叉樹的根,則無父節點;否則,父節點為floor(i/2)

如果2*i > n,則節點i是葉子節點,無左兒子;否則其左兒子為2*i

如果2*i + 1 > n,則節點i無右兒子;否則其右兒子為2*i + 1

參考1)演算法導論

2)資料結構 -- 嚴蔚敏

樹的基本知識

表示法 1.樹形 2.文氏圖 3.凹入 4.括號 結點的度與樹的度 m次樹 結點子樹的個數 非終端節點,分支結點,葉節點 路徑與路徑長度 ki,ki1,ki2,kj,結點數目減1 分支數目 孩子結點,雙親結點,兄弟結點 結點的層次和樹的高度 根節點為第一層,樹的高度。森林 n n 0 個互不相交的樹...

樹的基本知識

樹 樹是一些節點的集合。這個集合可以是空集 若集合不是空集,則樹由根節點r以及0個或多個子樹組成。邊 兩個節點之間的連線就是邊。樹葉 沒有兒子的節點稱為樹葉。節點的度 節點擁有的子樹數稱為節點的度。度 節點的度的最大值稱為樹的度。兄弟 具有相同父親節點的節點稱為兄弟。路徑 從節點n1到節點nk的路徑...

樹的基本知識

樹是由乙個或多個結點組成的有限集合 t 其中 1 乙個特定的結點稱為該樹的根 root 結點 2 結點之外的其餘結點可分為 m m 0 個互不相交的有限集合 t 1 t 2 t m 且其中每乙個集合本身又是一棵樹,稱之為根的子樹 subtree 1 結點的度 degree 樹中的乙個結點擁有的子樹數...