一、樹是乙個遞迴定義。當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、在任意非空二叉樹中,若葉節點的數目為
n0
,度為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 每棵子樹也是由唯一的根結...