樹與二叉樹

2021-08-15 02:41:58 字數 961 閱讀 6114

如圖所示:左邊就是乙個傳統的樹結構,右邊是乙個二叉樹。

為何要有二叉樹呢?這是一種對傳統樹對表示方式,是為了便於程式對設計與實現。

從左右兩個樹可以看到,任何形式對樹,都可以使用二叉樹來表示。

這樣,通過 兒子-兄弟節點 這樣都資料結構,就可以表示二叉樹的每個節點。

通過這樣的乙個45度的旋轉,又可以將二叉樹的每個節點表示為 左右節點。這樣更便於表達。

樹的一些基本術語

結點的度(degree):結點的子樹個數

樹的度:樹的所有結點中最大的度數

葉結點(leaf):度為0的結點

父結點(parent):有子樹的結點是其子樹

的根結點的父結點

子結點(child):若a結點是b結點的父結

點,則稱b結點是a結點的子結點;子結點也

稱孩子結點。

兄弟結點(sibling):具有同一父結點的各

結點彼此是兄弟結點。

路徑和路徑長度:從結點n1到nk的路徑為一

個結點序列n1 , n2,… , nk, ni是 ni+1的父結

點。路徑所包含邊的個數為路徑的長度。

祖先結點(ancestor):沿樹根到某一結點路

徑上的所有結點都是這個結點的祖先結點。

子孫結點(descendant):某一結點的子樹

中的所有結點是這個結點的子孫。

結點的層次(level):規定根結點在1層,

其它任一結點的層數是其父結點的層數加1。

樹的深度(depth):樹中所有結點中的最

大層次是這棵樹的深度。

ps : ** 資料結構

二叉樹 滿二叉樹與完全二叉樹

二叉樹 binary tree 是n n 0 個元素的有限集合,該集合為空或者為由乙個稱為 根 的元素及兩個不相交的 被分別稱為左子樹和右子樹的二叉樹組成 二叉樹的基本特點 每個結點最多有兩棵子樹 左子樹和右子樹是有順序的,且不可顛倒 圖一1 結點 二叉樹中的每乙個元素都稱為結點。通常二叉樹的許多名...

樹與二叉樹

樹是一類重要的非線性資料結構,是以分支關係定義的層次結構 定義 樹 tree 是n n 0 個結點的有限集t,其中 n 0時為空樹 n 0時,有且僅有乙個特定的結點,稱為樹的根 root 當n 1時,其餘結點可分為m m 0 個互不相交的有限集t1,t2,tm,其中每乙個集合本身又是一棵樹,稱為根的...

樹與二叉樹

建立 先序二叉樹,中序二叉樹,後序二叉樹。給定兩種遍歷序列 前序中序或後序中序 重塑二叉樹 遍歷 判斷乙個節點是否存在於二叉樹中 二叉樹的遍歷 先序,中序,後序 遞迴 非遞迴 層次遍歷 從上到下或從下到上列印 zigzag遍歷方式層次遍歷 二叉樹性質 二叉樹中葉子節點的個數 二叉樹第k層節點數目 二...