問題轉化:將樹轉換為二叉樹,從而利用二叉樹解決樹的有關問題。
二叉樹是n(n≥0)個結點的有限集合,該集合或者為空集(稱為空二叉樹),或者由乙個根結點和兩棵互不相交的、分別稱為根結點的左子樹和右子樹的二叉樹組成。
注意二叉樹定義的遞迴性!!!
⑴ 每個結點最多有兩棵子樹;
⑵ 二叉樹是有序的,其次序不能任意顛倒。
1、定義
2、斜樹的特點
1、定義
在一棵二叉樹中,如果所有分支結點都存在左子樹和右子樹,並且所有葉子都在同一層上。
2、特點
1、定義
對一棵具有n個結點的二叉樹按層序編號,如果編號為i(1≤i≤n)的結點與同樣深度的滿二叉樹中編號為i的結點在二叉樹中的位置完全相同。
2、構造
在滿二叉樹中,從最後乙個結點開始,連續去掉任意個結點,即是一棵完全二叉樹。
3、特點
葉子結點只能出現在最下兩層,且最下層的葉子結點都集中在二叉樹的左部;
完全二叉樹中如果有度為1的結點,只可能有乙個,且該結點只有左孩子。
深度為k的完全二叉樹在k-1層上一定是滿二叉樹。
在有n個結點的滿二叉樹中,有多少個葉子結點?
葉子結點n0=(n + 1)/2
1、 具有n個結點的完全二叉樹的深度為 【log2n】 (向下取整) +1。
2、 對一棵具有n個結點的完全二叉樹中從1開始按層序編號,則對於任意的序號為i(1≤i≤n)的結點(簡稱為結點i),有:
故有:對一棵具有n個結點的完全二叉樹中從1開始按層序編號,則
性質(2)表明,在完全二叉樹中,結點的層序編號反映了結點之間的邏輯關係。
二叉樹的邏輯結構
一 定義 1 每乙個節點的度不超過2 2 嚴格區分左右子樹 二 特殊的二叉樹 1 斜樹 2 滿二叉樹 葉子節點只出現在最後一層 3 完全二叉樹 a 葉子節點只出現在最後一層和倒數第二層 b 如果有度唯一的節點,只能有乙個 c 滿二叉樹一定是完全二叉樹 三 二叉樹的性質 對於具有n個節點的完全二叉樹,...
《資料結構》 二叉樹
二叉樹 是 n個結點的有限集,它或為空集,或由乙個根結點及兩棵互不相交的 分別稱為該根的左子樹和右子樹的二叉樹組成。二叉樹不是樹的特殊情況,這是兩種不同的資料結構 它與無序樹和度為 2的有序樹不同。二叉樹的性質 1 二叉樹第 i層上的結點數最多為 2 i 1 2 深度為 k的二叉樹至多有 2 k 1...
資料結構 二叉樹
1.二叉樹 二叉樹是一種特殊結構的樹,每個節點中最多有兩個子節點,如圖1所示 圖1 二叉樹 在圖1中的二叉樹裡,a c有兩個子節點,b d有乙個子節點。對於二叉樹還有圖2中的以下情況 圖2 二叉樹的特殊情況 在博文中還介紹了滿二叉樹和完全二叉樹還有其他的特殊二叉樹。2.二叉樹的實現 有兩種實現方式,...