結點:有乙個資料元素及若干指向其他結點的分支所組成
度:結點的度:該結點的子樹樹(即分支樹)
樹的度:書中結點的度最大值
葉子(終端結點):度為零的結點
非終端結點:度不為零的結點
孩子(子節點):結點的字數根稱為該結點的孩子
雙親(父節點):乙個結點稱為該節點所有子樹根的雙親
祖先:結點祖先指根道此結點的一條路徑上的所有結點
子孫:某結點到葉結點的分支上的所有結點稱為該節點的子孫
兄弟:同一雙親的孩子之間互稱兄弟
結點層次:從根算起,根為第一層,其孩子在第二層....,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 該方法結合了陣列和鍊錶,以陣列為基礎儲存結構,每個元素再用鍊錶的方式記錄其雙親節點 以這棵樹為例 把每個結點的孩子結點排列起來 一般是從左往右 ...