樹結構總結

dreamcasher發表於2018-08-13

二叉樹

是每個節點最多有兩個子樹的樹結構。通常子樹被稱為“左子樹”和“右子樹”
完全二叉樹
若設二叉樹的深度為h,除第 h 層外,其它各層 (1~h-1) 的結點數都達到最大個數,第 h 層所有的結點都連續集中在最左邊,這就是完全二叉樹。

滿二叉樹

若設二叉樹的深度為h,每一層的節點數都達到最大個數,各層節點數之和為2^{^{h}}-1,這就是慢二叉樹

二叉查詢樹

特點:
1、若任意節點N的左子樹不為空,那麼左子樹上的值均小於N節點的值
2、若任意節點N的右子樹部位空,那麼右子樹上的值均大於N節點的值
3、任意節點的左、右子樹,也都是二叉查詢樹
4、沒有鍵值相等的節點
有序陣列和連結串列是兩種典型的線性結構,有序陣列在查詢的時候效率高,連結串列在插入的時候效率高,而二叉查詢樹結合兩種資料結構的優點,查詢插入效率都不錯。

平衡二叉樹

它是一棵二叉查詢樹,並且它還有如下性質:它是一棵空樹或者它的左右子樹的高度差的絕對值不超過1

紅黑樹

它是一棵二叉查詢樹,並且它還有如下5個性質,這五個性質保證它的時間複雜度為O(\log_{2}n
性質1:節點是紅色或者黑色
性質2:根節點是黑色
性質3:每個葉子節點(NIL,空節點)是黑色
性質4:每個紅色節點的兩個子節點是黑色。(從葉節點到根節點的路徑上不能有兩個連續的紅色節點)
性質5:從任意節點到其葉子節點的路徑包含相同的黑色節點。

相關文章