資料結構 樹(定義)

2021-08-06 04:13:34 字數 1202 閱讀 3684

樹定義:

n(n>=0)個節點構成的有限集合。n=0時為空樹。

樹的性質:

樹中有乙個稱為「根(root)」個互不相交的有限集t1,t2,…,tm,其中每個集合本身又是一棵樹,稱為原來樹的「子樹(subtree)」

注意:子樹是不相交的;

除了根結點以外,每個結點有且僅有乙個父結點;

一棵n個結點的樹有n-1條邊。

這裡寫描述

基本術語:

1.結點的度(degree):節點中的子樹個數;

2.樹的度:樹的所有結點;

3.葉結點(leaf):度為0的結點;

4.父結點(parent):有子樹的節點是其字數的根節點的父結點;

5.子結點(child):若a結點是b結點的父節點,則稱b結點是a結點的子節點;子結點也稱孩子結點。

6.兄弟結點(sibling):具有同意父結點的各結點彼此是兄弟結點。

7.路徑和路徑長度:從結點n1到nk的路徑為乙個結點序列n1,n2,… ,nk,ni是ni+1的父結點。路徑所包含邊的個數為 路徑的長度。

8.祖先結點(ancestor):沿樹根到某一結點路徑上的所有結點都是這個結點的祖先結點。

9.子孫結點(descendant):某一結點的子樹中的所有結點是這個結點的子孫。

10. 結點的層次(level):規定根結點在1層,其它任一結點的層數是其父結點的層數加1。

11.樹的深度(depth):樹中所有結點中的最大層次是這棵樹的深度。

樹的表示:兒子兄弟表示法

基本操作和功能:分層次組織在管理上具有更高的效率!

1.查詢:根據某個給定關鍵字k,從集合r中找出關鍵字與k相同的記錄。

靜態查詢:集合中記錄是固定的沒有插入和刪除操作,只有查詢。

eg:順序查詢(time complexity:o(n));二分查詢(time complexity:0(logn))

動態查詢:集合中記錄是動態變化的除查詢,還可能發生插入和刪除。

動態查詢:集合中記錄是動態變化的除查詢,還可能發生插入和刪除。

C語言資料結構 樹的定義

樹是n個結點的有限集。n等於0是稱為空樹,在任意一棵非空樹中,有且僅有 乙個特定的稱為根的結 當n 1時,其餘節點可分為m m 0 個互不相交的有限集,其中每個集合本身又是一棵樹,並且稱為根的子樹。樹的結點包含乙個資料元素和n個指向其子樹的分支。結點擁有的子樹數稱為結點的度。度為0的結點稱為葉結點或...

資料結構 樹

樹的概念 1.家族樹 在現實生活中,有入如下血統關係的家族可用樹形圖表示 張源有三個孩子張明 張亮和張麗 張明有兩個孩子張林和張維 張亮有三個孩子張平 張華和張群 張平有兩個孩子張晶和張磊。以上表示很像一棵倒畫的樹。其中 樹根 是張源,樹的 分支點 是張明 張亮和張平,該家族的其餘成員均是 樹葉 而...

資料結構 樹

1 定義 樹是一種非線性結構,是一種一對多的資料結構。分析樹的結構,我們用遞迴的方法,根結點下面又可以看做是子樹。2 樹的儲存結構 我們一般用孩子兄弟法儲存。也就是把乙個結點的左邊第乙個孩子放在此結點的左邊孩子,把此結點的右兄弟放在此結點的右邊孩子。這樣就產生了二叉樹。二叉樹和樹可以相互對應。3 二...