1、二叉樹的定義
深度,節點層數,高度,路徑,葉節點,分支節點,根節點,父節點,左節點,右節點,兄弟節點,祖先節點,子孫節點,左子樹,右子樹。
3、二叉樹的性質
性質1:二叉樹第i層上的結點數目最多為2i-1(i>=1)
性質2:深度為k的二叉樹至多有2k-1個結點(k>=1)
性質3:包含n個結點的二叉樹的高度至少為(log2n)+1
性質4:在任意一棵二叉樹中,若終端結點的個數為n0,度為2的結點數為n2,則n0=n2+1
二叉樹有兩大類,一是普通二叉樹,二是特殊二叉樹。
特殊二叉樹:
1、滿二叉樹
定義:高度為h,並且由2h-1個結點組成的二叉樹,稱為滿二叉樹
2、完全二叉樹
定義:一棵二叉樹中,只有最下面兩層結點的度可以小於2,並且最下層的葉結點集中在靠左的若干位置上,這樣的二叉樹稱為完全二叉樹。
特點:葉子結點只能出現在最下層和次下層,且最下層的葉子結點集中在樹的左部。顯然,一棵滿二叉樹必定是一棵完全二叉樹,而完全二叉樹未必是滿二叉樹。
面試題:如果乙個完全二叉樹的結點總數為768個,求葉子結點的個數。
由二叉樹的性質知:n0=n2+1,將之帶入768=n0+n1+n2中得:768=n1+2n2+1,因為完全二叉樹度為1的結點個數要麼為0,要麼為1,那麼就把n1=0或者1都代入公式中,很容易發現n1=1才符合條件。所以算出來n2=383,所以葉子結點個數n0=n2+1=384。
規律:如果一棵完全二叉樹的結點總數為n,那麼葉子結點等於n/2(當n為偶數時)或者(n+1)/2(當n為奇數時)
3、二叉查詢樹
定義:二叉查詢樹又被稱為二叉搜尋樹。設x為二叉查詢樹中的乙個結點,x結點包含關鍵字key,結點x的key值計為key[x]。如果y是x的左子樹中的乙個結點,則key[y]<=key[x];如果y是x的右子樹的乙個結點,則key[y]>=key[x]
在二叉查詢樹中:
(01) 若任意節點的左子樹不空,則左子樹上所有結點的值均小於它的根結點的值;
(02) 任意節點的右子樹不空,則右子樹上所有結點的值均大於它的根結點的值;
(03) 任意節點的左、右子樹也分別為二叉查詢樹。
(04) 沒有鍵值相等的節點
二叉樹的基礎知識
為何要重點研究結點最多只有兩個 叉 的樹?二叉樹的結構最簡單,規律性最強 可以證明,所有樹都能轉為唯一對應的二叉樹。二叉樹的定義 定義 是n n 0 個結點的有限集合,由乙個根結點以及兩棵互不相交的 分別稱為左子樹和右子樹的二叉樹組成 邏輯結構 一對二 1 2 基本特徵 每個結點最多只有兩棵子樹 不...
二叉樹基礎知識總結
題外話一 樹的定義 樹是一種資料結構,它是由n n 1 個有限結點組成乙個具有層次關係的集合。樹具有的特點有 1 每個結點有零個或多個子結點 2 沒有父節點的結點稱為根節點 3 每乙個非根結點有且只有乙個父節點 4 除了根結點外,每個子結點可以分為多個不相交的子樹。樹的基本術語有 若乙個結點有子樹,...
二叉樹基礎知識總結
一 樹的定義 樹是一種資料結構,它是由n n 1 個有限結點組成乙個具有層次關係的集合。樹具有的特點有 1 每個結點有零個或多個子結點 2 沒有父節點的結點稱為根節點 3 每乙個非根結點有且只有乙個父節點 4 除了根結點外,每個子結點可以分為多個不相交的子樹。樹的基本術語有 若乙個結點有子樹,那麼該...