二叉樹(shù)

介紹二叉樹(shù)之前先說(shuō)下樹(shù)狀結(jié)構(gòu)恒序,不同于線性結(jié)構(gòu)只有前后兩個(gè)方向,樹(shù)狀結(jié)構(gòu)可以有多個(gè)方向谁撼。

tree.png
樹(shù)的基本概念
  • 節(jié)點(diǎn)歧胁、根節(jié)點(diǎn)、父節(jié)點(diǎn)厉碟、子節(jié)點(diǎn)喊巍、兄弟節(jié)點(diǎn)
    如上圖中的每個(gè)元素都一個(gè)節(jié)點(diǎn),節(jié)點(diǎn)A是根節(jié)點(diǎn)墨榄,A是B和C的父節(jié)點(diǎn)玄糟,B和C是A的子節(jié)點(diǎn),B和C互相是兄弟節(jié)點(diǎn)袄秩;

  • 一棵樹(shù)可以沒(méi)有任何節(jié)點(diǎn)阵翎,稱為空樹(shù)

  • 一棵樹(shù)可以只有一個(gè)節(jié)點(diǎn)逢并,即只有根節(jié)點(diǎn)

  • 子樹(shù)、左子樹(shù)郭卫、右字樹(shù)
    如上圖中砍聊,子樹(shù)B是A的左子樹(shù),子樹(shù)C是A的右子樹(shù)

  • 節(jié)點(diǎn)的度
    子樹(shù)的個(gè)數(shù)贰军,等于節(jié)點(diǎn)的子節(jié)點(diǎn)數(shù)

  • 樹(shù)的度
    所有節(jié)點(diǎn)度中的最大值

  • 葉子節(jié)點(diǎn)
    度為0的節(jié)點(diǎn)

  • 非葉子節(jié)點(diǎn)
    度不為0的節(jié)點(diǎn)

  • 層數(shù)
    根節(jié)點(diǎn)在第一層玻蝌,根節(jié)點(diǎn)的子節(jié)點(diǎn)在第二次,依次往下類推

  • 節(jié)點(diǎn)的深度
    從根節(jié)點(diǎn)到當(dāng)前節(jié)點(diǎn)唯一路徑上的節(jié)點(diǎn)總數(shù)

  • 節(jié)點(diǎn)的高度
    從當(dāng)前節(jié)點(diǎn)到最遠(yuǎn)葉子節(jié)點(diǎn)的路徑上的節(jié)點(diǎn)總數(shù)

  • 樹(shù)的深度
    所有節(jié)點(diǎn)深度中的最大值

  • 樹(shù)的高度
    所有節(jié)點(diǎn)高度中的最大值

  • 樹(shù)的深度等于樹(shù)的高度

  • 有序樹(shù)
    樹(shù)中任意節(jié)點(diǎn)的子節(jié)點(diǎn)之間有順序關(guān)系

  • 無(wú)序樹(shù)
    樹(shù)中任意節(jié)點(diǎn)之間沒(méi)有順序關(guān)系词疼,也稱“自由樹(shù)”

  • 森林
    有n(n ≥0)課互不相交的樹(shù)組成的集合

二叉樹(shù)(BinaryTree)

每個(gè)節(jié)點(diǎn)的度最大為2俯树,左子樹(shù)和右子樹(shù)是有序的,即使只有一顆子樹(shù)也要區(qū)分左右的樹(shù)是二叉樹(shù)贰盗;


BinaryTree.png
二叉樹(shù)的性質(zhì)
  • 非空二叉樹(shù)的第i層许饿,最多有2^{i-1}個(gè)節(jié)點(diǎn)(i>=1)
  • 高度為h的二叉樹(shù)上最多有2^{h -1}個(gè)節(jié)點(diǎn)(h>=1)
  • 對(duì)于任意一課非空二叉樹(shù),如果葉子節(jié)點(diǎn)個(gè)數(shù)為n0舵盈,度為2的節(jié)點(diǎn)數(shù)為n2
  • 若度為1的節(jié)點(diǎn)數(shù)為n1陋率,二叉樹(shù)的總結(jié)點(diǎn)數(shù)n = n0 + n1 + n2
  • 二叉樹(shù)的總邊數(shù)T = n1 + 2*n2 = n - 1 = n0 + n1 + n2 -1,因此 n0 = n2 + 1
真二叉樹(shù)

所有節(jié)點(diǎn)的度要么為0秽晚,要么為2的二叉樹(shù)稱為真二叉樹(shù)瓦糟;

滿二叉樹(shù)

最后一層節(jié)點(diǎn)的度為0,其他節(jié)點(diǎn)的度都為2的二叉樹(shù)稱為滿二叉樹(shù)赴蝇;


滿二叉樹(shù).png
完全二叉樹(shù)

對(duì)一棵具有n個(gè)結(jié)點(diǎn)的二叉樹(shù)按層編號(hào)菩浙,如果編號(hào)為i(1<=i<=n)的結(jié)點(diǎn)與同樣深度的滿二叉樹(shù)中編號(hào)為i的結(jié)點(diǎn)在二叉樹(shù)中位置完全相同,則這棵二叉樹(shù)稱為完全二叉樹(shù)


完全二叉樹(shù).png
  • 葉子節(jié)點(diǎn)只會(huì)出現(xiàn)最后兩層扯再,最后一層的葉子節(jié)點(diǎn)都靠左對(duì)齊的二叉樹(shù)

  • 從根節(jié)點(diǎn)至倒數(shù)第二層是一棵滿二叉樹(shù)

  • 滿二叉樹(shù)一定是完全二叉樹(shù)芍耘,完全二叉樹(shù)不一定是滿二叉樹(shù)

  • 度為1的節(jié)點(diǎn)只有左子樹(shù)

  • 度為1的節(jié)點(diǎn)要么是1個(gè),要么是0個(gè)

  • 同樣節(jié)點(diǎn)數(shù)量的二叉樹(shù)熄阻,完全二叉樹(shù)的高度最小

  • 假設(shè)完全二叉樹(shù)的高度為h(h≥1),那么
    至少有2^{h-1} 個(gè)節(jié)點(diǎn)(2^{0}+2^{1}+···+2^{h-2} + 1)
    最多有2^{h}- 1個(gè)節(jié)點(diǎn)(2^{0} +2^{1}+···+2^{h-1}) 倔约,滿二叉樹(shù))

  • 若總結(jié)點(diǎn)數(shù)為n
    2^{h-1} ≤ n < 2^{h} => h -1≤ {log_2{n}} < h => h = floor({log_2{n}}) + 1

  • 一棵有n個(gè)節(jié)點(diǎn)的完全二叉樹(shù)(n>0)秃殉,從上到下、從左到右對(duì)節(jié)點(diǎn)從1開(kāi)始進(jìn)行編號(hào)浸剩,對(duì)任意第i個(gè)節(jié)點(diǎn)

排序完全二叉樹(shù).png

若i=1钾军,它是根節(jié)點(diǎn)
若i>1,它的父節(jié)點(diǎn)編號(hào)是floor(i/2)
若2i≤n,它的左子節(jié)點(diǎn)編號(hào)為2i
若 2i>n绢要,它無(wú)左子節(jié)點(diǎn)
若2i+1 ≤n吏恭,它的右子節(jié)點(diǎn)編號(hào)為2i+1
若2i+1 >n,它無(wú)右子節(jié)點(diǎn)

從圖中可以看到重罪,對(duì)于節(jié)點(diǎn)i樱哼,它的左子節(jié)點(diǎn)等于2i哀九,右子節(jié)點(diǎn)等于2i+1;

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末搅幅,一起剝皮案震驚了整個(gè)濱河市阅束,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌茄唐,老刑警劉巖息裸,帶你破解...
    沈念sama閱讀 216,544評(píng)論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異沪编,居然都是意外死亡呼盆,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,430評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門(mén)蚁廓,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)宿亡,“玉大人,你說(shuō)我怎么就攤上這事纳令⊥燔” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 162,764評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵平绩,是天一觀的道長(zhǎng)圈匆。 經(jīng)常有香客問(wèn)我,道長(zhǎng)捏雌,這世上最難降的妖魔是什么跃赚? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,193評(píng)論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮性湿,結(jié)果婚禮上纬傲,老公的妹妹穿的比我還像新娘。我一直安慰自己肤频,他們只是感情好叹括,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,216評(píng)論 6 388
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著宵荒,像睡著了一般汁雷。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上报咳,一...
    開(kāi)封第一講書(shū)人閱讀 51,182評(píng)論 1 299
  • 那天侠讯,我揣著相機(jī)與錄音,去河邊找鬼暑刃。 笑死厢漩,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的岩臣。 我是一名探鬼主播溜嗜,決...
    沈念sama閱讀 40,063評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼宵膨,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了粱胜?” 一聲冷哼從身側(cè)響起柄驻,我...
    開(kāi)封第一講書(shū)人閱讀 38,917評(píng)論 0 274
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎焙压,沒(méi)想到半個(gè)月后鸿脓,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,329評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡涯曲,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,543評(píng)論 2 332
  • 正文 我和宋清朗相戀三年野哭,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片幻件。...
    茶點(diǎn)故事閱讀 39,722評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡拨黔,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出绰沥,到底是詐尸還是另有隱情篱蝇,我是刑警寧澤,帶...
    沈念sama閱讀 35,425評(píng)論 5 343
  • 正文 年R本政府宣布徽曲,位于F島的核電站零截,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏秃臣。R本人自食惡果不足惜涧衙,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,019評(píng)論 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望奥此。 院中可真熱鬧弧哎,春花似錦、人聲如沸稚虎。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,671評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)祥绞。三九已至非洲,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間蜕径,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,825評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工败京, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留兜喻,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,729評(píng)論 2 368
  • 正文 我出身青樓赡麦,卻偏偏與公主長(zhǎng)得像朴皆,于是被迫代替她去往敵國(guó)和親帕识。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,614評(píng)論 2 353

推薦閱讀更多精彩內(nèi)容

  • 樹(shù)的基本概念 節(jié)點(diǎn)遂铡,根節(jié)點(diǎn)肮疗,父節(jié)點(diǎn),子節(jié)點(diǎn)扒接,兄弟節(jié)點(diǎn)都是屬于樹(shù)的范濤伪货; 一棵樹(shù)可以沒(méi)有任何節(jié)點(diǎn),稱為空樹(shù)钾怔; 一棵樹(shù)...
    coder_feng閱讀 1,101評(píng)論 0 0
  • 介紹 二叉樹(shù)的結(jié)構(gòu) 二叉樹(shù)臣詈簦考的原因有如下幾點(diǎn)1、它可以結(jié)合鏈表宗侦、棧愚臀、隊(duì)列和字符串等數(shù)據(jù)結(jié)構(gòu)出題2、需要熟練掌握?qǐng)D...
    雨住多一橫閱讀 443評(píng)論 0 1
  • 樹(shù)形結(jié)構(gòu)是一種十分重要的數(shù)據(jù)結(jié)構(gòu)矾利。二叉樹(shù)姑裂、樹(shù)與樹(shù)林都屬于樹(shù)形結(jié)構(gòu)。 樹(shù)形結(jié)構(gòu)每個(gè)結(jié)點(diǎn)最多只有一個(gè)前驅(qū)結(jié)點(diǎn)男旗,但可以有...
    cain_huang閱讀 1,972評(píng)論 0 11
  • 前言 樹(shù)是數(shù)據(jù)結(jié)構(gòu)中的重中之重舶斧,尤其以各類二叉樹(shù)為學(xué)習(xí)的難點(diǎn)。一直以來(lái)剑肯,對(duì)于樹(shù)的掌握都是模棱兩可的狀態(tài)捧毛,現(xiàn)在希望通...
    MrHorse1992閱讀 353,576評(píng)論 51 536
  • 樹(shù)的定義與基本術(shù)語(yǔ) ??樹(shù)型結(jié)構(gòu)是一類重要的非線性數(shù)據(jù)結(jié)構(gòu),其中以樹(shù)和二叉樹(shù)最為常用让网,是以分支關(guān)系定義的層次結(jié)構(gòu)呀忧。...
    java技術(shù)分享師閱讀 1,098評(píng)論 0 1