資料結構筆記之樹與二叉樹

2021-08-09 08:07:07 字數 1718 閱讀 7155

一、樹是乙個遞迴定義。當n=0時 稱t為空樹。邏輯上屬於非線性結構(層次結構)

基本名詞術語

1.結點的度:該結點擁有的子樹的數目。

2. 樹的度:樹中結點度的最大值。

3.葉結點:度為0 的結點。(終端結點)

4.分支結點:度非0 的結點。(非終端結點)

5. 樹的層次: 根結點為第一層,若某結點在第i 層,則其孩子結點(若存在)為第i+1層。

6. 樹的深度: 樹中結點所處的最大層次數。(高度)

7. 樹的有序性: 若樹中結點的子樹的相對位置不能隨意改變,則稱該樹為有序樹,否則稱樹為無序樹。

二、

1. 滿二叉樹:

若一棵二叉樹中的結點,或者為葉結點,或者具有兩棵非空子樹,並且葉結點都集中在二叉樹的最下面一層,這樣的二叉樹為滿二叉樹。

2. 完全二叉樹

若一棵二叉樹中只有最下面兩層的結點的度可以小於2,並且最下面一層的結點(葉結點)都依次排列在該層從左至右的位置上.這樣的二叉樹為完全二叉樹。

3

、二叉樹的性質

1、具有n個結點的非空二叉樹有且僅有n-1個分支。

2、非空二叉樹的第i層最多有個結點。

3、深度為h的非空二叉樹最多有-1個結點。

4、在任意非空二叉樹中,若葉節點的數目為

n­­0

,度為2的結點數目為n2

,則有關係n0

=n2+1成立。

5、具有n個結點的完全二叉樹的深度

h=­­­­

­[log2n

]+1;

6、完全二叉樹的編號。

4、二叉樹的五種基本形態

【思考】:1 度為2的樹是二叉樹?

2 度為2的有序樹是二叉樹?

3 具有三個結點的樹可以有幾種形態?

【補充】二叉樹與樹和森林之間的轉換。

三、二叉樹的儲存結構

1、二叉樹的順序儲存結構(根據完全二叉樹的性質6)

結論:順序儲存結構比較適合滿二叉樹,或者接近於滿二叉樹的完全二叉樹,對於一些稱為「退化二叉樹」的二叉樹,順序儲存結構的空間開銷浪費的缺點表現比較突出。

2、二叉樹的鏈式儲存結構

typedef struct node

btnode, *btree;

四、二叉樹的遍歷

前序遍歷dlr、中序遍歷ldr、後序遍歷lrd、層次遍歷。

五、二叉排序樹

二叉排序樹或者為空二叉樹, 或者為具有以下性質的二叉樹:

若根結點的左子樹不空, 則左子樹上所有結點的值都小於根結點的值;

若根結點的右子樹不空, 則右子樹上所有結點的值都大於或等於根結點的值;

遞迴定義:每一棵子樹分別也是二叉排序樹。

建立(插入)、查詢演算法。

平均查詢長度asl ——確定乙個元素在樹中位置所需要進行的元素間的比較次數的期望值(平均值)。

資料結構筆記 樹 二叉樹 滿二叉樹

二叉樹滿二叉樹 樹是n n 0 個結點的有限集。結點為零的樹為空樹。任意一棵非空樹中 1.有且有乙個特定的稱為根的結點 2.當n 1時,其餘結點可分為m m 0 個互不相交的有限集,其中每乙個集合又是一棵樹,並稱為根的子樹。1.結點擁有的子樹數稱為結點的度 2.度為0的結點稱為葉結點或分支結點,除根...

資料結構 樹與二叉樹

一 性質 1 在二叉樹中,第i層的結點總數不超過2 i 1 2 深度為h的二叉樹最多有2 h 1個結點 h 1 最少有h個結點 3 對於任意一棵二叉樹,如果其葉結點數為n0,而度數為2的結點總數為n2,則n0 n2 1 4 具有n個結點的完全二叉樹的深度為int log2n 1 5 給定n個節點,能...

資料結構 樹與二叉樹

1 樹的定義 樹是一種 非線性的資料結構。樹是n n 0 個結點的有限集,在任意一棵非空樹中 1 有且僅有乙個特定的被稱為 根 root 的結點 2 當n 1時,其餘結點可分為m m 0 個互不相交的有限集,其中每個集合本身又是一棵樹,並且稱為根的 子樹 subtree 3 每棵子樹也是由唯一的根結...