2020 算法數(shù)據(jù)結(jié)構(gòu)—二叉樹(shù)

algorithms_rogramming.jpg

二叉樹(shù)

二叉樹(shù)是每個(gè)節(jié)點(diǎn)最多有兩個(gè)子樹(shù)的樹(shù)結(jié)構(gòu),就是每一個(gè)節(jié)點(diǎn)度最大是 2 。通常子樹(shù)被稱作左子樹(shù)右子樹(shù),二叉樹(shù)是有序樹(shù),那么什么又是有序樹(shù)和無(wú)序樹(shù)呢?

Binary Tree vs Tree

有序樹(shù)和無(wú)序樹(shù)

如果樹(shù)中結(jié)點(diǎn)的子樹(shù)從左到右看,誰(shuí)在左邊,誰(shuí)在右邊,是有規(guī)定的,這棵樹(shù)稱為有序樹(shù),反之稱為無(wú)序樹(shù)。

在有序樹(shù)中,一個(gè)結(jié)點(diǎn)最左邊的子樹(shù)稱為第一個(gè)孩子,最右邊的稱為最后一個(gè)孩子。

Binary Tree vs Tree

二叉樹(shù)的性質(zhì)

經(jīng)過(guò)前人的總結(jié),二叉樹(shù)具有以下幾個(gè)性質(zhì):

  1. 二叉樹(shù)中,第 i 層最多有 2^{i - 1} 個(gè)結(jié)點(diǎn),例如在
  2. 深度為 K 的二叉樹(shù)最多有 2^K-1 個(gè)結(jié)點(diǎn)。
  3. 二叉樹(shù)中,終端結(jié)點(diǎn)數(shù)(葉子結(jié)點(diǎn)數(shù))為 n_0,度為 2 的結(jié)點(diǎn)數(shù)為 n_2,則 n_0=n_2+1。

滿二叉樹(shù)

如果二叉樹(shù)中除了葉子結(jié)點(diǎn),每個(gè)結(jié)點(diǎn)的度都為 2,則此二叉樹(shù)稱為滿二叉樹(shù)。

完全二叉樹(shù)

如果二叉樹(shù)中除去最后一層節(jié)點(diǎn)為滿二叉樹(shù),且最后一層的結(jié)點(diǎn)依次從左到右分布,則此二叉樹(shù)被稱為完全二叉樹(shù)。

?著作權(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ù)。

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