資料結構與演算法 二叉樹(1 定義及特殊型別)

2021-09-22 08:02:53 字數 1253 閱讀 6734

二叉樹

二叉樹特點

1、每個結點最多有兩棵子樹,所以二叉樹中不存在度大於 2 的結點(最多有)

2、左子樹和右子樹是有順序的,次序不能任意顛倒

3、即使樹中某個結點只有一顆子樹,也要區分他是左子樹還是右子樹

二叉樹的五種基本形態

1、空二叉樹

2、只有乙個根結點

3、根結點只有左子樹

4、根結點只有右子樹

5、根結點既有左子樹又有右子樹

特殊二叉樹

1、斜樹

①所有的結點都只有左子樹的二叉樹

②所有的結點都只有右子樹的二叉樹

特點每一層都只有乙個結點,結點的個數與二叉樹的深度相同

線性表結構 → 樹的一種極其特殊的表現形式

滿二叉樹

滿二叉樹的特點

1、葉子只能出現在最下一層,出現在其他層就不可能達到平衡

2、非葉子結點的度一定是 2 (否則就是「缺胳膊少腿」)

3、在同樣深度的二叉樹中,滿二叉樹的結點個數最多,葉子數最多

完全二叉樹

滿二叉樹一定輸完全二叉樹,完全二叉樹不一定是滿二叉樹

定義: 對一棵具有 n 個結點的二叉樹按層序編號,如果編號為 i(1≤ i ≤ n)的結點與同樣深度的滿二叉樹中編號為 i 的結點 在二叉樹中位置完全相同

按層序編號

完全二叉樹的所有結點與同樣深度的滿二叉樹,它們按層序編號相同的結點,是一一對應的

完全二叉樹的特點

1、葉子結點只能出現在最下兩層

2、最下層的葉子一定集中在左部連續位置

3、倒數二層,若有葉子結點,一定都在右部連續位置

4、如果結點度為 1 ,則該結點只有左孩子,即 不存在只有右子樹的情況

5、同樣結點數的二叉樹,完全二叉樹的深度最小

資料結構 二叉樹定義

1.通用樹結構是採用雙親孩子表示法模型建立的 每個結點都有乙個指向其雙親的指標 每個結點都有若干個指向其孩子的指標 2.另一種樹結構模型 孩子兄弟表示法模型 每個結點都有乙個指向其第乙個孩子的指標 每個結點都有乙個指向其第乙個右兄弟的指標 每個結點包含乙個資料指標和兩個結點指標 資料指標 指向儲存於...

演算法與資料結構 二叉樹

二叉樹 binary tree 二分樹 二元樹 二叉樹的遞迴定義 或是空樹,或是一棵由乙個根結點和左右子樹組成的樹,且左右子樹也是二叉樹。分枝結點 除葉結點以外的結點。二叉樹的性質 最多 2 h 1 個結點 n2 n0 1 滿二叉樹 所有分枝結點都存在左右子樹,且葉結點都在同一層。完全二叉樹 除最後...

資料結構與演算法 二叉樹

1.普通二叉樹 treenode package math public class treenode public void setdata int data public treenode getlchild public void setlchild treenode lchild publi...