樹刹碾、二叉樹、二叉搜索樹座柱、紅黑樹迷帜、B樹等概念


  • 概念
    它是由n(n>0)個有限節(jié)點組成一個具有層次關系的集合。

  • 特點

  • 每個節(jié)點有零個或多個子節(jié)點色洞;

  • 沒有父節(jié)點的節(jié)點稱為根節(jié)點戏锹;

  • 每一個非根節(jié)點有且只有一個父節(jié)點;

  • 除了根節(jié)點外火诸,每個子節(jié)點可以分為多個不相交的子樹锦针;

  • 有序樹和無序樹

  • 無序樹
    樹中任意節(jié)點的子節(jié)點之間沒有順序關系,也稱自由樹惭蹂;

  • 有序樹
    樹中任意節(jié)點的子節(jié)點之間有順序關系

  • 相關術語
    節(jié)點的度:一個節(jié)點含有的子樹的個數稱為該節(jié)點的度伞插;
    樹的度:一棵樹中,最大的節(jié)點的度稱為樹的度盾碗;
    葉節(jié)點或終端節(jié)點:度為零的節(jié)點媚污;
    非終端節(jié)點或分支節(jié)點:度不為零的節(jié)點;
    父親節(jié)點或父節(jié)點:若一個節(jié)點含有子節(jié)點廷雅,則這個節(jié)點稱為其子節(jié)點的父節(jié)點耗美;
    孩子節(jié)點或子節(jié)點:一個節(jié)點含有的子樹的根節(jié)點稱為該節(jié)點的子節(jié)點;
    兄弟節(jié)點:具有相同父節(jié)點的節(jié)點互稱為兄弟節(jié)點航缀;
    節(jié)點的層次:從根開始定義起商架,根為第1層,根的子節(jié)點為第2層芥玉,以此類推蛇摸;
    樹的高度或深度:樹中節(jié)點的最大層次;
    堂兄弟節(jié)點:父節(jié)點在同一層的節(jié)點互為堂兄弟灿巧;
    節(jié)點的祖先:從根到該節(jié)點所經分支上的所有節(jié)點赶袄;
    子孫:以某節(jié)點為根的子樹中任一節(jié)點都稱為該節(jié)點的子孫揽涮。
    森林:由m(m>=0)棵互不相交的樹的集合稱為森林;


二叉樹

二叉樹是一種特殊的有序樹:每個節(jié)點至多有兩個分支(子節(jié)點)饿肺,分支具有左右次序蒋困,不能顛倒。
兩種特殊的二叉樹:
完全二叉樹:除最后一層外敬辣,若其余層都是滿的雪标,并且最后一層或者是滿的,或者是在右邊缺少連續(xù)若干節(jié)點(注意是右邊溉跃,而不能是左邊缺少)村刨。
滿二叉樹:每一層都是滿的(除了最后一層,這里的最后一層是指葉節(jié)點)喊积。


二叉搜索(查找)樹

二叉查找樹(英語:Binary Search Tree烹困,簡寫為BST),也稱二叉搜索樹乾吻、有序二叉樹(英語:ordered binary tree)髓梅,排序二叉樹(英語:sorted binary tree),是指一棵空樹或者具有下列性質的二叉樹:
a.若任意節(jié)點的左子樹不空绎签,則左子樹上所有結點的值均小于它的根結點的值枯饿;
b.若任意節(jié)點的右子樹不空,則右子樹上所有結點的值均大于它的根結點的值诡必;
c.任意節(jié)點的左奢方、右子樹也分別為二叉查找樹;
d.沒有鍵值相等的節(jié)點爸舒。
簡單的說就是:各節(jié)點值不同蟋字,并且對于任意一個子樹:左<根<右。
二叉查找樹相比于其他數據結構的優(yōu)勢在于查找扭勉、插入的時間復雜度較低鹊奖,期望O(log n),最壞為O(n)涂炎。
查找效率與樹的高度成反比忠聚,關鍵在于減小二叉查找樹的高度為O(log n)。


平衡樹

平衡樹是一種改進的二叉查找樹唱捣,一般的二叉查找樹的查詢復雜度是跟目標結點到樹根的距離(即深度)有關两蟀,因此當結點的深度普遍較大時,查詢的均攤復雜度會上升震缭,為了更高效的查詢赂毯,平衡樹應運而生了。
在這里,平衡指所有葉子的深度趨于平衡欢瞪,更廣義的是指在樹上所有可能查找的均攤復雜度偏低活烙。樸素的理解:普通二叉查找樹徐裸,在新增/刪除等操作后遣鼓,會變得又高又瘦,會讓查找/新增/刪除操作的時間復雜度變大重贺,而平衡二叉樹在新增/刪除等操作后依然會保持矮矮胖胖的形態(tài)骑祟,使樹的高度維持在log n附近。這種形態(tài)就是平衡气笙,會使查找速度更快次企。為什么能夠保持這種好身材呢?通過在新增/刪除時的旋轉(左旋和右旋)潜圃。

常見的平衡樹:
AVL樹缸棵、Treap伸展樹谭期、紅黑樹堵第、加權平衡樹2-3樹隧出、AA樹踏志、替罪羊樹、節(jié)點大小平衡樹


紅黑樹

紅黑樹(英語:Red–black tree)是一種自平衡二叉查找樹胀瞪。
它的操作有著良好的最壞情況運行時間针余,并且在實踐中是高效的:它可以在O(log n)時間內做查找,插入和刪除凄诞,這里的n是樹中元素的數目圆雁。

  • 紅黑樹的性質
  • 節(jié)點是紅色或黑色。
  • 根是黑色帆谍。
  • 所有葉子都是黑色(葉子是NIL節(jié)點)伪朽。
  • 每個紅色節(jié)點必須有兩個黑色的子節(jié)點。(從每個葉子到根的所有路徑上不能有兩個連續(xù)的紅色節(jié)點既忆。)
  • 從任一節(jié)點到其每個葉子的所有簡單路徑都包含相同數目的黑色節(jié)點驱负。
紅黑樹.png

B樹

B樹(英語:B-tree)是一種自平衡的,能夠保持數據有序患雇。這種數據結構能夠讓查找數據跃脊、順序訪問、插入數據及刪除的動作苛吱,都在對數時間內完成酪术。B樹,概括來說是一個一般化的二叉查找樹(binary search tree),可以擁有多于2個子節(jié)點绘雁。與自平衡二叉查找樹不同橡疼,B樹為系統(tǒng)大塊數據的讀寫操作做了優(yōu)化。B樹減少定位記錄時所經歷的中間過程庐舟,從而加快存取速度欣除。B樹這種數據結構可以用來描述外部存儲。這種數據結構常被應用在數據庫文件系統(tǒng)的實現(xiàn)上挪略。

概括關鍵詞:自平衡历帚,可以擁有多于2個子節(jié)點,適用于數據庫和文件系統(tǒng)杠娱。


B+樹

待續(xù)挽牢。。摊求。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末禽拔,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子室叉,更是在濱河造成了極大的恐慌睹栖,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,311評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件太惠,死亡現(xiàn)場離奇詭異磨淌,居然都是意外死亡,警方通過查閱死者的電腦和手機凿渊,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,339評論 2 382
  • 文/潘曉璐 我一進店門梁只,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人埃脏,你說我怎么就攤上這事搪锣。” “怎么了彩掐?”我有些...
    開封第一講書人閱讀 152,671評論 0 342
  • 文/不壞的土叔 我叫張陵构舟,是天一觀的道長。 經常有香客問我堵幽,道長狗超,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,252評論 1 279
  • 正文 為了忘掉前任朴下,我火速辦了婚禮努咐,結果婚禮上,老公的妹妹穿的比我還像新娘殴胧。我一直安慰自己渗稍,他們只是感情好佩迟,可當我...
    茶點故事閱讀 64,253評論 5 371
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著竿屹,像睡著了一般报强。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上拱燃,一...
    開封第一講書人閱讀 49,031評論 1 285
  • 那天秉溉,我揣著相機與錄音,去河邊找鬼扼雏。 笑死坚嗜,一個胖子當著我的面吹牛,可吹牛的內容都是我干的诗充。 我是一名探鬼主播,決...
    沈念sama閱讀 38,340評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼诱建,長吁一口氣:“原來是場噩夢啊……” “哼蝴蜓!你這毒婦竟也來了?” 一聲冷哼從身側響起俺猿,我...
    開封第一講書人閱讀 36,973評論 0 259
  • 序言:老撾萬榮一對情侶失蹤茎匠,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后押袍,有當地人在樹林里發(fā)現(xiàn)了一具尸體诵冒,經...
    沈念sama閱讀 43,466評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 35,937評論 2 323
  • 正文 我和宋清朗相戀三年谊惭,在試婚紗的時候發(fā)現(xiàn)自己被綠了汽馋。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,039評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡圈盔,死狀恐怖豹芯,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情驱敲,我是刑警寧澤铁蹈,帶...
    沈念sama閱讀 33,701評論 4 323
  • 正文 年R本政府宣布,位于F島的核電站众眨,受9級特大地震影響握牧,放射性物質發(fā)生泄漏。R本人自食惡果不足惜娩梨,卻給世界環(huán)境...
    茶點故事閱讀 39,254評論 3 307
  • 文/蒙蒙 一沿腰、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧姚建,春花似錦矫俺、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,259評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽友雳。三九已至,卻和暖如春铅匹,著一層夾襖步出監(jiān)牢的瞬間押赊,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,485評論 1 262
  • 我被黑心中介騙來泰國打工包斑, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留流礁,地道東北人。 一個月前我還...
    沈念sama閱讀 45,497評論 2 354
  • 正文 我出身青樓罗丰,卻偏偏與公主長得像神帅,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子萌抵,可洞房花燭夜當晚...
    茶點故事閱讀 42,786評論 2 345

推薦閱讀更多精彩內容