《資料結構》 二叉樹

2021-05-14 11:35:59 字數 914 閱讀 2012

二叉樹:是

n個結點的有限集,它或為空集,或由乙個根結點及兩棵互不相交的、分別稱為該根的左子樹和右子樹的二叉樹組成。

二叉樹不是樹的特殊情況,這是兩種不同的資料結構;它與無序樹和度為

2的有序樹不同。

二叉樹的性質:

1) 二叉樹第

i層上的結點數最多為

2^(i-1);2

) 深度為

k的二叉樹至多有

2^k-1

個結點;

3) 在任意二叉樹中,葉子數為

n0,度為

2的結點數為

n2,則

n0=n2+1

;滿二叉樹是一棵深度為

k的且有

2^k-1

個結點的二叉樹;

完全二叉樹是至多在最下兩層上結點的度數可以小於

2,並且最下層的結點集中在該層最左的位置的二叉樹;具有n

個結點的完全二叉樹的深度為

log2n

取整加1

;二叉樹的儲存結構(1

)順序儲存結構:把一棵有

n個結點的完全二叉樹,從樹根起自上而下、從左到右對所有結點編號,然後依次儲存在乙個向量

b[0~n]

中,b[1~n]

存放結點,

b[0]

存放結點總數。

各個結點編號間的關係:1)

i=1是根結點;

i>1

則雙親結點是

i/2取整;

2) 左孩子是

2i,

右孩子是

2i+1

;(要小於n)

3) i>

(n/2

取整)的結點是葉子;

4) 奇數沒有右兄弟,左兄弟是

i-1;

5) 偶數沒有左兄弟,右兄弟是

i+1;

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

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 ...

資料結構 二叉樹

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

資料結構 二叉樹

二叉樹首先是一棵樹,每個節點都不能有多於兩個的兒子,也就是樹的度不能超過2。二叉樹的兩個兒子分別稱為 左兒子 和 右兒子 次序不能顛倒。如圖1是乙個簡單的二叉樹。二叉樹的種類 一種是滿二叉樹,除了最後一層的葉子節點外,每一層的節點都必須有兩個兒子節點。如圖2是乙個滿二叉樹。另一種是完全二叉樹,一棵二...