資料結構 二叉樹

2022-06-26 08:48:08 字數 849 閱讀 5651

1、完全二叉樹(complete binary tree)的定義

若設二叉樹的深度為h,除第h層外,其他各層(1到h-1)的結點數都達到最大個數,第h層所有的結點都連續集中在最左邊,這就是完全二叉樹

2、滿二叉樹的定義(full binary tree)

滿二叉樹的節點要麼是葉子節點,度為0,要麼是度為2的節點,不存在度為1的節點

3、二叉樹的基本性質

節點的度:節點的子節點的數量為該節點的度。在完全二叉樹中,節點的度最多為2,最少為0

葉子節點:度為0的節點為葉子節點

4、樹裡面的基本概念

節點的高度:節點到葉子節點的最長路徑(邊數)

節點的深度:根節點到這個節點所經歷的邊的個數

節點的層數:節點的深度+1

樹的高度:根節點的高度

這幾個概念的區分:計算節點的高度時,起點從葉子節點為水平線,進行計算,葉子節點的高度為0;計算節點的深度時,起點從根節點為水平線,進行計算,根節點的深度為0;層數類似深度,起點從根節點為水平線,進行計算,根節點的層數為1

5、樹的儲存方式

兩種方式:鏈式儲存法,大部分的二叉樹都是通過這個結構來實現和基於陣列的順序儲存法,完全二叉樹使用陣列儲存,比較省空間,儲存的規律為:根節點儲存下標為陣列的索引1的位置,節點下標為i,其左子節點儲存位置為2*i,右子節點儲存位置為2*i+1;

6、二叉樹的遍歷方式

前序遍歷是指:對於樹中的任意節點來說,先列印該節點,然後再列印它的左子樹,最後列印它的右子樹

中序遍歷是指:對於樹中的任意節點來說,先列印它的左子樹,然後再列印它本身,最後列印它的右子樹

後序遍歷是指:對於樹中的任意節點來說,先列印它的左子樹,然後再列印它的右子樹,最後列印這個節點本身

資料結構 二叉樹 反轉二叉樹

include using namespace std define maxsize 1000 struct binary tree node class queue queue queue void queue push binary tree node btn binary tree node ...

《資料結構》 二叉樹

二叉樹 是 n個結點的有限集,它或為空集,或由乙個根結點及兩棵互不相交的 分別稱為該根的左子樹和右子樹的二叉樹組成。二叉樹不是樹的特殊情況,這是兩種不同的資料結構 它與無序樹和度為 2的有序樹不同。二叉樹的性質 1 二叉樹第 i層上的結點數最多為 2 i 1 2 深度為 k的二叉樹至多有 2 k 1...

資料結構 二叉樹

1.二叉樹 二叉樹是一種特殊結構的樹,每個節點中最多有兩個子節點,如圖1所示 圖1 二叉樹 在圖1中的二叉樹裡,a c有兩個子節點,b d有乙個子節點。對於二叉樹還有圖2中的以下情況 圖2 二叉樹的特殊情況 在博文中還介紹了滿二叉樹和完全二叉樹還有其他的特殊二叉樹。2.二叉樹的實現 有兩種實現方式,...