二叉树——基本概念
二叉樹的概念
??樹是一種非線性的數(shù)據(jù)結(jié)構(gòu),他有n(n>=0)個(gè)有限的結(jié)點(diǎn)組成的一個(gè)有層次關(guān)系的集合。之所以叫樹,是因?yàn)檫@種數(shù)據(jù)結(jié)構(gòu)看起來像是一個(gè)倒掛的樹,根朝上,葉子朝下。特點(diǎn)就是每個(gè)結(jié)點(diǎn)有0個(gè)或多個(gè)結(jié)點(diǎn),沒有父結(jié)點(diǎn)的結(jié)點(diǎn)稱為根結(jié)點(diǎn),并且每一個(gè)非根結(jié)點(diǎn)有且只有一個(gè)父結(jié)點(diǎn)。二叉樹就是其中的一種,二叉樹中的每個(gè)結(jié)點(diǎn)只有兩個(gè)子結(jié)點(diǎn)。
二叉樹在實(shí)際中的優(yōu)勢(shì)
??在實(shí)際使用時(shí)會(huì)根據(jù)鏈表和有序數(shù)組等數(shù)據(jù)結(jié)構(gòu)的不同優(yōu)勢(shì)進(jìn)行選擇。有序數(shù)組的優(yōu)勢(shì)在于二分查找,鏈表的優(yōu)勢(shì)在于數(shù)據(jù)項(xiàng)的插入和數(shù)據(jù)項(xiàng)的刪除。但是在有序數(shù)組中插入數(shù)據(jù)就會(huì)很慢,同樣在鏈表中查找數(shù)據(jù)項(xiàng)效率就很低。綜合以上情況,二叉樹可以利用鏈表和有序數(shù)組的優(yōu)勢(shì),同時(shí)可以合并有序數(shù)組和鏈表的優(yōu)勢(shì),二叉樹也是一種常用的數(shù)據(jù)結(jié)構(gòu)。
樹中的名詞:
結(jié)點(diǎn)的度:一個(gè)節(jié)點(diǎn)含有子樹的個(gè)數(shù)稱為這個(gè)結(jié)點(diǎn)的度。
樹的度:一棵樹中,最大的結(jié)點(diǎn)的度。
節(jié)點(diǎn)的層次:從根開始定義起,根為第1層,根的子節(jié)點(diǎn)為第2層,以此類推。
樹的高度或深度:樹中結(jié)點(diǎn)的最大層次。
兄弟節(jié)點(diǎn):具有相同父節(jié)點(diǎn)的節(jié)點(diǎn)互稱為兄弟節(jié)點(diǎn)。
二叉樹(圖)
特殊的二叉樹
??滿二叉樹:一個(gè)二叉樹,如果每一層的系結(jié)點(diǎn)都達(dá)到了最大值,則這個(gè)二叉樹就是滿二叉樹。如果一個(gè)二叉樹的層數(shù)位K,且結(jié)點(diǎn)總數(shù)是(2^K)-1,這個(gè)二叉樹就是滿二叉樹。
??完全二叉樹:完全二叉樹是效率很高的數(shù)據(jù)結(jié)構(gòu),如果一個(gè)二叉樹的深度為n,除第n層外,其他各層(1~n-1)的節(jié)點(diǎn)數(shù)都達(dá)到最大個(gè)數(shù),第h層所有節(jié)點(diǎn)都連續(xù)集中在最左邊,這個(gè)二叉樹就是完全二叉樹。
二叉樹的性質(zhì):
??若規(guī)定根節(jié)點(diǎn)的層數(shù)為1,則一個(gè)非空二叉樹的第i層上最多有2^(i-1)個(gè)結(jié)點(diǎn)。(i>0)
??若規(guī)定只有根節(jié)點(diǎn)的深度為1,則深度為n的二叉樹的最大結(jié)點(diǎn)數(shù)是(2^n)-1。(k>=0)
??對(duì)于任何一個(gè)二叉樹,如果其葉子結(jié)點(diǎn)個(gè)數(shù)為n0,度為2的非葉子結(jié)點(diǎn)個(gè)數(shù)為n2,則有n0=n2+1。
??具有n個(gè)結(jié)點(diǎn)的完全二叉樹深度k為log2(n+1)向上取整.
??對(duì)于具有n個(gè)結(jié)點(diǎn)的完全二叉樹,如果按照從上至下從左至右的順序?qū)λ薪Y(jié)點(diǎn)從0開始編號(hào),則對(duì)于??序號(hào)為i的結(jié)點(diǎn)有:如果i>0,雙親序號(hào)為(i-1)/2;如果i=0,i為根節(jié)點(diǎn)編號(hào),??沒有父結(jié)點(diǎn);如果2i+1<n,左孩子序列號(hào)為2i+1,否則沒有左孩子;如果2i+2<n,右孩子序列號(hào)為2i+2,否則沒有右孩子。
二叉樹的存儲(chǔ)
鏈?zhǔn)胶晚樞虼鎯?chǔ)(堆)
二叉樹鏈?zhǔn)酱鎯?chǔ)實(shí)現(xiàn)
總結(jié)
- 上一篇: 汇编逆向基础
- 下一篇: 王爽 汇编语言第三版 问题 7.9 将