資料結構 二叉樹

2021-09-26 14:17:24 字數 1210 閱讀 9207

判斷樹和非樹?

子樹是不相交的;除了根節點外,每個結點有且僅有乙個父結點;一顆n個結點的樹有n-1條邊。

經常用孩子兄弟表示法

class node
一棵二叉樹是結點的乙個有限集合,該集合或者為空,或者是由乙個根節點加上兩棵別稱為左子樹和右子樹

的二叉樹組成。

二叉樹的特點:

1. 每個結點最多有兩棵子樹,即二叉樹不存在度大於2的結點。

2. 二叉樹的子樹有左右之分,其子樹的次序不能顛倒。

1. 滿二叉樹:乙個二叉樹,如果每乙個層的結點數都達到最大值,則這個二叉樹就是滿二叉樹。也就是

說,如果乙個二叉樹的層數為k,且結點總數是(2^k) -1 ,則它就是滿二叉樹。

2. 完全二叉樹:完全二叉樹是效率很高的資料結構,完全二叉樹是由滿二叉樹而引出來的。對於深度為k

的,有n個結點的二叉樹,當且僅當其每乙個結點都與深度為k的滿二叉樹中編號從1至n的結點一一對

應時稱之為完全二叉樹。 要注意的是滿二叉樹是一種特殊的完全二叉樹。

深度優先遍歷:不撞南牆不回頭

必然要用到棧

廣度優先遍歷:一層一層遍歷

必然要用到佇列

有序樹:孩子的順序重要的樹

無序樹:孩子的順序不重要的樹

遞迴思想+遞迴方法

二叉樹的表示形式:

鏈式表示:

class node
重點學習:

學習二叉樹的遍歷方式:

1)深度優先遍歷

a.前序遍歷 b.中序遍歷 c.後序遍歷

2)廣度優先遍歷

層次遍歷

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

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.二叉樹的實現 有兩種實現方式,...