樹的概念與二叉樹基礎內容

2021-10-05 02:25:22 字數 2405 閱讀 9660

是n(n≥0)個結點的有限集,n=0時稱為空樹;

對於非空樹(n≠0)而言:

(1)有且僅有乙個稱為根的結點;

(2)除根節點以外的其餘結點可分為m(m>0)個互不相交的有限集t1,t2,…,tm,其中每乙個集合本身又是一棵樹,並稱為根的子樹;

(1)結點的度:結點擁有的子樹數稱為結點的度;

(2)樹的度:樹的度是樹內結點度的最大值;

(3)葉子結點:度為0的結點,也叫做終端結點;

(4)雙親和孩子:結點的子樹的根稱為該結點的孩子,相應的,該結點

稱為孩子的雙親;

(5)層次:結點的層次從根開始定義起,根為第一層,根的孩子為第二層

(6)樹的深度:樹中結點的最大層次稱為樹的深度或高度;

二叉樹是n(n≥0)個結點所構成的集合,n=0時稱為空樹;

對於非空樹(n≠0)而言:

(1)有且僅有乙個稱為根的結點;

(2)除根節點以外的其餘結點分為兩個互不相交的子集t1和t2,分別稱為t的左子樹和右子樹。且t1和t2本身又都是二叉樹;

注意:二叉樹與樹的區別:

二叉樹不是樹的特例,他們是兩個不同的資料結構;

(1)二叉樹每個結點至多有兩個子樹(即二叉樹中不存在度大於2的結點)

(2)二叉樹的子樹有左右之分,其次序不能顛倒。

性質1:在二叉樹的第i層上至多2^(i-1)個結點(i>=1)。

性質2:深度為k的二叉樹結點至多有2^k-1個結點(k>=1)。

性質3:對任何一棵二叉樹t,如果其葉子結點數為n0,度為2的結點數為n2,則n0=n2+1;(度為0的結點比度為2的結點個數多乙個)

推廣:

性質4:具有n個結點的完全二叉樹的深度為:[以2為底n的對數]+1。

性質5如果對一棵有n個結點的完全二叉樹的結點按層序編號(每層從左到右),則對任意結點i(1<=i<=n)有:

(1)如果i=1,則結點i是二叉樹的根,無雙親;如果i>1,其雙親parent(i)是結點[i/2];

(2)如果2i>n,則結點i無左孩子(結點i為葉子結點);否則其左孩子lchild(i)是結點2i;

(3)如果2i+1>n,則結點i無右孩子;否則其右孩子rchild(i)是結點2i+1。

1、滿二叉樹:深度為k且含有2^k-1個結點的二叉樹

形如:

滿二叉樹的特點:

每一層上的結點數都是最大的結點數,,即每一層i的結點數都具有最大值2^(i-1)。所有葉子結點都在最大層上。

2、完全二叉樹:深度為k的,有n個結點的二叉樹,當且僅當其每乙個結點深度都與深度為k的滿二叉樹中編號從1至n的結點一一對應,稱之為完全二叉樹

形如:

完全二叉樹的特點:

(1)葉子結點只可能在層次最大的兩層上出現;

(2)對任一結點,若其右分支下的子孫最大層次為 l,則其左分支下的子孫最大層次必為 l 或者 l+1。

1、順序儲存結構

由上圖可知,順序儲存結構存在儲存空間浪費,因此順序儲存結構僅適用於完全二叉樹,對於一般的二叉樹,更適合採用鏈式儲存結構

2、鏈式儲存結構

二叉樹的基礎概念

二叉樹的定義 二叉樹是n n 0 個結點的有限集合,該集合或者為空集 稱為空二叉樹 或者由乙個根結點和兩棵互不相交的 分別稱為根結點的左子樹和右子樹的二叉樹組成。特殊的二叉樹 斜樹 1 所有結點都只有左子樹的二叉樹稱為左斜樹 2 所有結點都只有右子樹的二叉樹稱為右斜樹 3.左斜樹和右斜樹統稱為斜樹。...

樹 二叉樹概念

什麼是二叉樹?樹又是什麼?在自然界中樹隨處可見,而在computer界可用其表示資料的一種結構搭建如下圖所示 字母部分為資料 即葉子 連線稱邊 樹枝 乙個倒置樹的形象 樹的資料結構概念簡單歸納如下 頂點vertex v 邊edge 根 root 最高頂點 本圖為a 深度depth 每個節點v到樹根r...

樹與二叉樹相關概念

樹是n n 0 個節點的有限集合。在任意一顆非空樹中 1 有且僅有乙個特定的稱為根的節點 2 當 n 1 時,其餘節點可分為m m 0 個互不相交的有限集 t1 t2 tm,其中每乙個集合本身又是一棵樹,並且稱為根的子樹。根 根節點 沒有前驅 葉子 又叫終端節點 沒有後繼,度為0 森林 m m 0 ...