二叉樹中的一些概念

2021-08-08 01:18:55 字數 1297 閱讀 9268

1、

在有n個葉子節點的哈夫曼樹中,其節點總數為()?

a、不確定 

b、2n-1 

c、2n+1 

d、2n

解析:如果此處的哈夫曼樹是指二叉樹則選擇b

無論哈夫曼樹是幾叉,其特點是一致的(假設為m叉),即樹中只存在度為0的結點(即葉結點)和度為m的結點.不妨設度為0的結點個數為x,度為m的結點個數為y,則存在乙個等式x+y=my+1,即x=(m-1)y+1,x+y是樹的總結點個數.就這道題來說,假設哈夫曼樹是二叉的話,則度為0的結點個數為n,度為2的結點個數為n-1,則結點總數為2n-1.

二叉樹的幾個定理性結論:

1、遍歷二叉樹:l、d、r分別表示遍歷左子樹、訪問根結點和遍歷右子樹,     

則先(根)序遍歷二叉樹的順序是dlr,      

中(根)序遍歷二叉樹的順序是ldr,     

後(根)序遍歷二叉樹的順序是lrd,     

還有按層遍歷二叉樹。這些方法的時間複雜度都是o(n),n為結點個數。 

2、如果t2是由有序樹t轉換而來的二叉樹,那麼t中結點的前序就是t2中結點的前序,t中結點的後序就是t2中結點的中序。

3、任何一棵二叉樹的葉結點在先序、中序和後序遍歷中的相對次序不發改變。 

4、設n,m為一棵二叉樹上的兩個結點,在中序遍歷時,n在m前的條件是n在m的左方。 

5、前序序列和中序序列相同的二叉樹為空樹或任一結點均無左孩子的非空二叉樹;    

中序序列和後序序列相同的二叉樹為空樹或任一結點均無右孩子的非空二叉樹;     

前序序列和後序序列相同的二叉樹為空樹或僅有乙個結點的二叉樹。 

6、中序遍歷,每個結點在訪問左子樹和右子樹之間訪問。這在遍歷二叉搜尋樹時很常用,因為它能用遞增的順序來遍歷所有的值。 

7、以上的遞迴演算法使用與樹的高度成比例的棧空間。     如果我們在每個結點中儲存指向父結點的指標,那樣可以使用迭代演算法,只使用常數級空間實現所有這些遍歷。然而,指向父結點的指標占用更多的空間。這只在需要指向父節點的指標或棧空間有限時才使用。

8、用二叉樹表示下述表示式:a+b*(c-d)-e/f      先序遍歷的序列是:-+a*b-cd/ef

中序遍歷的序列是:a+b*c-d-e/f

後序遍歷的序列是:abcd-*+ef/-

9、深度優先遍歷在深度優先順序中,我們希望從根結點訪問最遠的結點。和圖的深度優先搜尋不同的是,不需記住訪問過的每乙個結點,因為樹中不會有環。前序,中序和後序遍歷都是深度優先遍歷的特例。 

10、廣度優先遍歷和深度優先遍歷不同,廣度優先遍歷會先訪問離根節點最近的節點。 二叉樹的廣度優先遍歷又稱按層次遍歷。演算法借助佇列實現。

二叉樹的一些概念

1 滿二叉樹 樹內的任何結點,或為樹葉 圖1中2689 或有兩個非空子樹。滿二叉樹定理 非空滿二叉樹樹葉的數目等於其分支結點數目加1。此外,乙個二叉樹第i層 根節點為0層 最多能有2的i次方個結點。圖12 平衡二叉樹 如果樹中任何結點的兩個子樹高度差是0或者1。對於圖1來說結點1左子樹高度為1,右子...

二叉樹的一些基本概念彙總

子樹 只要包含了乙個節點,就必須包含這個節點下的所有節點 子結構 包含了乙個節點,可以只取左子樹或者右子樹,或者都不取 二叉樹的深度 高度 max 左子樹深度,右子樹深度 1 節點的度 該節點的分支的個數 度為0,1,2 節點的種類 根節點葉子節點 度為0 分支節點 度不為0的節點 孩子節點 兄弟節...

二叉樹的一些操作

標頭檔案 樹.h pragma once include include include include include include typedef char datatype typedef struct btnodebtnode btnode greattree datatype pre,i...