資料結構 樹 基本概念

2021-09-25 20:56:15 字數 1378 閱讀 9485

之前說的線性結構是一對一的關係,這裡的樹就是一對多的資料結構。

樹(tree)是n(n≥0)個結點的有限集。n=0時稱為空樹。

在任意一棵非空樹中:

(1)有且僅有乙個特定的稱為根(root)的結點;

(2)當n>1時,其餘結點可分為m(m>0)個互不相交的有限集

樹的定義其實用到了遞迴的方法,就是說樹的定義之中還用到了樹的概念。

下圖中的子樹

n>0 時根結點是唯一的,不可能存在多個根結點。

m>0 時,子樹的個數沒有限制,但它們一定是互不相交的。如下圖, 兩個的結構就不符合樹的定義,因為它們都有相交的子樹。

樹的結點包含乙個資料元素及若干指向其子樹的分支。結點擁有的子樹數稱為結點的度(degree)。度為 0 的結點稱為葉結點(leaf)或終端結點; 度不為 0 的結點稱為非終端結點或分支結點。除根結點之外,分支結點也稱為內部結點。樹的度是樹內各節點度的最大值。

上圖中樹的度為3,因為這棵樹結點的度的最大值是結點d的度,為3。

結點的子樹的根稱為該結點的孩子(child),相應地,該結點稱為孩子的雙親(parent)。

同乙個雙親的孩子之間互稱兄弟(sibling)。結點的祖先是從根到該結點所經分支上的所有結點。 對於h來說,d、b、a都是它的祖先,反之,以某結點為根的子樹中的任一結點都稱為該結點的子孫。b的子孫有d、g、h、i。

結點的層次(level)從根開始定義起,根為第一層,根的孩子為第二層。若某結點在第i層,則其子樹的根就在第i+1層。其雙親在同一層的結點互為堂兄弟。下圖中d、e、f是堂兄弟,而g、h、i、j也是。樹中結點的最大層次稱為樹的深度(depth)或高度,當前樹的深度為4。

如果將樹中結點的各子樹看成從左至右是有次序的,不能互換的,則稱該樹為有序樹,否則稱為無序樹。

森林(forest)是m(m≥0)棵互不相交的樹的集合。對樹中每個結點而言 ,其子樹的集合即為森林。

線性結構

樹結構

資料結構 樹的基本概念

樹與非樹?二叉樹度為二的樹稱為二叉樹。那問題來了,何為度為二呢?其實,度的意思有些兒子的感覺,度為二的意思就是,樹中的節點,其兒子最多有兩個。就像現在的二孩政策,應該比較好理解吧。二叉樹有很多性質 比如,二叉樹第i層最大的節點數2 i 1 其中i 1 二叉樹的節點可以分為三種 1.沒有兒子的結點 度...

資料結構基本概念

是指相互之間具有 存在 一定聯絡 關係 的資料元素的集合。元素之間的相互聯絡 關係 稱為邏輯結構。資料元素之間的邏輯結構。元素之間的邏輯結構有四種基本型別 集合 結構中的資料元素除了 同屬於乙個集合 外,沒有其它關係。線性結構 結構中的資料元素之間存在一對一的關係。樹型結構 結構中的資料元素之間存在...

資料結構基本概念

資料結構基本概念 1 資料結構的研究物件 資料結構是一門討論 描述現實世界實體的數學模型 非數值計算 及其上的操作在計算機中如何表示和實現 的科學。資料結構的內容包括三個 層次 的五個 要素 層次 要素 資料表示 資料處理 抽象邏輯結構 基本運算 實現儲存結構 演算法評價 不同資料結構的比較計算法的...