1、樹型結構是一類非常重要的非線性結構,
樹型結構為:分支結構、一對多、層次結構
2、樹(tree)是n(n>=0)個結點的有限集合t,若n=0時稱為空樹,否則:
(1)有且只有乙個特殊的稱為樹的根(root)結點;根是入口
(2)若n>1時,其餘的結點被分為m(m>0)個互不相交的子集t1,t2,t3..,其中每個子集本身又是一棵樹,稱其為根的子樹
3、樹的定義:樹的遞迴定義,即用樹來定義樹,而只有乙個結點的樹必定僅由根組成(樹只有乙個根,根是樹的入口)
4、樹的組成元素:結點
結點(node):乙個資料元素及其若干指向其子樹的分支
結點的度(degree):結點所擁有的子樹的棵數
樹的度:樹中結點度的最大值
葉子(終端)結點:樹中度為0的結點
非葉子(非終端、分支)結點:度不為0的結點
分支結點又稱內部結點
孩子結點:乙個結點的子樹的根稱為該結點的孩子結點或子節點
雙親結點:該結點是其孩子結點的雙親結點或父節點
兄弟結點:同一雙親結點的所有子節點
堂兄弟結點:雙親結點在同一層上,且不是兄弟結點的所有結點
層次:規定樹中根結點的層次為1,其餘結點的層次等於其雙親結點的層次加1
若某結點在第i層,則其子節點在第i+1層
結點的層次路徑:從根結點開始,到達某結點p所經過的所有結點稱為結點p的層次路徑(有且只有一條)
結點層次:從根開始定義起,根為第一層,跟的孩子為第二層,以此類推
p的祖先:結點p的層次路徑上的所有結點(p除外)
結點的子孫結點:一某一結點為根的子樹中的任意結點
樹的深度:樹中結點的最大層次值,又稱樹的高的)
森林:是m(m>=0)棵互不相交的樹的集合。顯然,若將一棵樹的根結點刪除,剩餘的子樹就構成了森林。
判斷有序樹和無序樹:交換子樹的順序,是否是乙個樹
5、二叉樹:是n(n>=0)個結點的有限集合。若n=0時稱為空樹,否則:
(1)有且只有乙個根結點
(2)二叉樹是有序的
(3)二叉樹最多兩個子樹
6、二叉樹的5種形態:空二叉樹、單結點二叉樹、左子樹為空、右子樹為空、左右子樹都不空
7、二叉樹性質:
1)在非空二叉樹中,第i層上至多有2的i-1次冪個結點(i>=1)
2)深度為k的二叉樹至多有2的k次冪-1個結點
3)對任何一棵二叉樹,若其葉子結點數為n0,度為2的結點數為n2,則n0=n2+1
8、滿二叉樹:每層都是滿的
對滿二叉樹連續編號:應層次從1開始,編號從1開始,「自上而下、自左而右」的原則進行
8、完全二叉樹:與滿二叉樹對比
1)對應位置、對應編號
2)且不允許跳號
9、完全二叉樹的性質:
1)第i層,至多有2的i-1次冪個結點
2)前k層,至多有(2的k次冪-1)個結點
3)n0=n2+1
4)深度為k,最多有(2的k次冪-1)個
5)深度為k,那麼前(k-1)層必須是滿的,前(k-1)層有(2的k-1次冪-1)個,第k層至少有乙個
6)深度為k,所以葉子結點都出現在第k層或k-1層
7)如果右子樹最大層為j,則其左子樹最大層為j或j+1
8)n個結點的完全二叉樹深度為:|log2n|+1
9)i結點的雙親為i/2,左子樹為2i,右子樹為2i+1
10、只有完全二叉樹才使用順序結構
二叉樹知識點整理
概念 struct binarytree int value binarytree pright binarytree pleft 滿二叉樹 完全二叉樹 二叉搜尋樹 程式設計題 實現二叉樹的遍歷 遞迴的演算法實現二叉樹的遍歷 題一 樹的子結構 vool hassubtree binarytree r...
二叉樹 滿二叉樹和完全二叉樹
二叉樹是一種很重要的非線性資料結構,它是樹結構的一種重要的型別 它不是樹結構的特殊情況 其特徵是每個節點最多有兩個子樹。二叉樹的特點 二叉樹每個結點最多有 2個子結點,樹則無此限制 二叉樹中 結點的子樹 分成左子樹和右子樹,即使某結點只有一棵子樹,也要指明該子樹是左子樹,還是右子樹,就是說 二叉樹是...
樹 二叉樹 滿二叉樹 完全二叉樹 完滿二叉樹
目錄名稱作用根 樹的頂端結點 孩子當遠離根 root 的時候,直接連線到另外乙個結點的結點被稱之為孩子 child 雙親相應地,另外乙個結點稱為孩子 child 的雙親 parent 兄弟具有同乙個雙親 parent 的孩子 child 之間互稱為兄弟 sibling 祖先結點的祖先 ancesto...