樹(shù)

數(shù)據(jù)結(jié)構(gòu)中的樹(shù),是對(duì)現(xiàn)實(shí)世界中的樹(shù)的一層簡(jiǎn)化: 把樹(shù)根抽象為根節(jié)點(diǎn),述職抽象為邊,樹(shù)枝的兩個(gè)端點(diǎn)抽象為節(jié)點(diǎn), 樹(shù)葉抽象為葉字節(jié)點(diǎn)。抽象后的樹(shù)結(jié)構(gòu)如下:


image.png

把這棵樹(shù)抽象顛倒一下就得到了計(jì)算機(jī)中的樹(shù)結(jié)構(gòu):


image.png

結(jié)合這張圖,我們來(lái)講解樹(shù)的關(guān)鍵特性和重點(diǎn)概念。
  • 樹(shù)的層次計(jì)算規(guī)則: 跟節(jié)點(diǎn)所在的層為第一層,其自己點(diǎn)所在的為第二層,以此類推
  • 結(jié)點(diǎn)和樹(shù)的“高度”計(jì)算規(guī)則:葉子結(jié)點(diǎn)高度記為1,每向上一層高度就加1,逐層向上累加至目標(biāo)結(jié)點(diǎn)時(shí),所得到的的值就是目標(biāo)結(jié)點(diǎn)的高度。樹(shù)中結(jié)點(diǎn)的最大高度,稱為“樹(shù)的高度”。
  • 度的概念: 一個(gè)節(jié)點(diǎn)開(kāi)叉出去多少子樹(shù),即為度
  • 葉子節(jié)點(diǎn)就是度為0的結(jié)點(diǎn)

二叉樹(shù)

二叉樹(shù)是指滿足一下要求的樹(shù)

  • 它可以沒(méi)有根節(jié)點(diǎn)作為一棵空樹(shù)存在
  • 如果他不是空樹(shù),那么他必須有根節(jié)點(diǎn),左子樹(shù)和右子樹(shù)組成,且左右子樹(shù)都是二叉樹(shù)

image.png

二叉樹(shù)的編碼實(shí)現(xiàn)

在js中定二叉樹(shù),他的結(jié)構(gòu)分為3塊

  • 數(shù)據(jù)域
  • 左側(cè)子節(jié)點(diǎn)的引用
  • 右側(cè)子節(jié)點(diǎn)的引用
//二叉樹(shù)節(jié)點(diǎn)的構(gòu)造函數(shù)
function TreeNode(val){
  this.val = val
  this.left = this.right = null
}

當(dāng)需要新建一個(gè)二叉樹(shù)時(shí),直接調(diào)用構(gòu)造函數(shù)傳入數(shù)據(jù)域的值就行了:

const node = new TreeNode(1)

如此便能得到一個(gè)值為1的二叉樹(shù)節(jié)點(diǎn),從結(jié)構(gòu)上來(lái)說(shuō),他張這樣:


image.png

以這個(gè)節(jié)點(diǎn)為根節(jié)點(diǎn),我們可以通過(guò)給left、right賦值拓展其子樹(shù)信息,延展出一棵二叉樹(shù)。因此從更加細(xì)化的角度來(lái)看,一棵二叉樹(shù)的形態(tài)實(shí)際是


image.png
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 夜鶯2517閱讀 128,214評(píng)論 1 9
  • 我是黑夜里大雨紛飛的人啊 1 “又到一年六月,有人笑有人哭,有人歡樂(lè)有人憂愁,有人驚喜有人失落,有的覺(jué)得收獲滿滿有...
    陌忘宇閱讀 8,894評(píng)論 28 54
  • 兔子雖然是枚小碩 但學(xué)校的碩士四人寢不夠 就被分到了博士樓里 兩人一間 在學(xué)校的最西邊 靠山 兔子的室友身體不好 ...
    待業(yè)的兔子閱讀 2,786評(píng)論 2 9
  • 信任包括信任自己和信任他人 很多時(shí)候,很多事情,失敗、遺憾、錯(cuò)過(guò),源于不自信,不信任他人 覺(jué)得自己做不成,別人做不...
    吳氵晃閱讀 6,391評(píng)論 4 8

友情鏈接更多精彩內(nèi)容