資料結構導論 六 樹

2022-09-06 08:27:11 字數 2798 閱讀 2277

結點:有乙個資料元素及若干指向其他結點的分支所組成

度:結點的度:該結點的子樹樹(即分支樹)

樹的度:書中結點的度最大值

葉子(終端結點):度為零的結點

非終端結點:度不為零的結點

孩子(子節點):結點的字數根稱為該結點的孩子

雙親(父節點):乙個結點稱為該節點所有子樹根的雙親

祖先:結點祖先指根道此結點的一條路徑上的所有結點

子孫:某結點到葉結點的分支上的所有結點稱為該節點的子孫

兄弟:同一雙親的孩子之間互稱兄弟

結點層次:從根算起,根為第一層,其孩子在第二層....,l層上任何結點的孩子都在l+1層上。

堂兄弟:其雙親在同一層的結點

樹的深度:樹中結點的最大層次

有序樹:若樹中各結點的子樹從左到右是有次序的,不能互換,稱為有序樹

無序樹:若樹種結點的子樹是無次序的,可以互換,則成為無序樹

森林:是m>=0棵樹的集合

定義:

二叉樹是n(n>=0)個結點的有限集合,它或為空(n=0),

或是由乙個兩棵互不相交的左子樹和右子樹組成,且

中左子樹和右子樹也均為二叉樹

特點:①二叉樹可以是空的,稱空二叉樹

②每個結點最多只能有兩個孩子;

③子樹有左、右之分且次序不能顛倒

二叉樹結點的子樹要區分左子樹和右子樹,即使只有一棵子樹也

要進行區分,說明它是左子樹,還是右子樹。這是二叉樹與樹的最

主要的差別。下圖列出二叉樹的5種基本形態,圖(c) 和(d)是不

同的兩棵二叉樹。

二叉樹的性質:

1、在二叉樹的第i(i>=1)層上之多有2i-1個結點

2、深度為k(k>=1)的二叉樹至多有2k-1個結點

3、對任何一顆二叉樹,如果其終端結點數為n0,度為2的結點數字n2,則n0=n2+1

滿二叉樹——深度為k(k>=1)且有2k-1個結點的二叉樹

滿二叉樹中結點順序編號:即從第一層結點開始自上而下,從左到右進行連續編號

完全二叉樹:深度位k的二叉樹中,k-1層結點數是滿的(2k-2),k層結點是左連續的(即結點編號是連續的)

滿二叉樹是完全二叉樹的特例

4.具有n個結點的完全二叉樹的深度為[log2n]+1 

5. 對有n個結點的完全二叉樹的結點按層編號

(從第1層到第[log2n]+1層,每層從左到右),

則對任一結點i(1≤i≤n),有:

(1) 如果i=1,則結點i無雙親,是二叉樹的根;

如果i>1,則i的雙親parent(a)是結點⌊i/2⌋;

(2) 如果2*i≤n,則其左孩子是結點2*i,

否則,結點i無左孩子且為葉子結點;

(3) 如果2*i+1≤n,則其右孩子是結點2*i+1,

否則,結點i無右孩子

它是用一組連續的儲存單元儲存二叉樹的資料元素。因此,必須把

二叉樹的所有結點安排成為乙個恰當的序列,結點在這個序列中的相

互位置能反映出結點之間的邏輯關係,可用編號的方法。

二叉樹的順序儲存結構——即對二叉樹按完全二

叉樹進行編號,然後用一維陣列儲存,其中編號

為i的結點儲存在陣列中下標為i的分量中。

——該方法稱為「以編號為位址」 策略

二叉樹的鏈式儲存結構

二叉鏈表示法 :左邊指標是左孩子 ,右邊指標是右孩子

二叉鍊錶型別定義

在含n個結點的二叉鍊錶中有2n個指標域,其中n-1個用來指向結點的左右孩子,其餘n+1個空鏈域

資料結構 六 樹

一直對樹的概念比較模糊,什麼紅黑樹啊,二叉搜尋樹等很多沒有乙個完整的知識體系結構,所以今天準備花一天的時間做乙個總結,力求搞明白樹的全部知識,不同樹之間的體系結構,以及一些常見應用。樹的定義有兩種方式。樹 tree 是包含n n 0 個結點的有窮集,其中 樹也可以這樣定義 樹是由根結點和若干顆子樹構...

資料結構 六 樹

未完待續 樹的概念 子樹 根結點 內部結點 葉結點或終端結點 深度或高度 根為第一層,根的孩子為第二層,依次類推,樹中結點最大的層數就稱為深度或高度。在樹中,如果任意乙個結點的子樹,從左到右都是有次序的,那麼這棵樹被稱為有序樹,反之則為無序樹。森林 由多棵不相交的樹的集合。樹的儲存結構 雙親表示法 ...

資料結構(六)樹

m棵互不相交的樹的集合 優先記錄每個節點的雙親 雙親是必有的,除了根節點 再針對特殊的需要,增加子節點或兄弟節點,重點在於尋找雙親節點,時間複雜度為o 1 該方法結合了陣列和鍊錶,以陣列為基礎儲存結構,每個元素再用鍊錶的方式記錄其雙親節點 以這棵樹為例 把每個結點的孩子結點排列起來 一般是從左往右 ...