什麼是樹?客觀世界中許多事物存在的層次關係:人類社會家譜、社會組織結構、圖書資訊管理等。層次組織在管理上更高效。
定義:性質(對於任何乙個非空樹):
注意:子樹是不相交的、出了根節點外,每個結點有且僅有乙個父節點、乙個n個結點的樹有n-1條邊
樹的一些基本用語:
結點的度:結點的子樹個數(a的度為3,b的度為2,c的度為1等等)
樹的度:樹的所有結點中的最大的度數(a和d的度數最大都為3,因此樹的度為3)
葉結點:度為零的結點(f、l、h、m、j、k都是度為0的結點)
父結點:有子樹的結點是其子樹的根節點的父結點
子結點:如果a是b的父結點,那麼b就是a的子結點
兄弟結點:具有同一父結點的各結點彼此是兄弟結點
路徑和路徑長度:路徑所包含邊的個數為路徑的長度
祖先結點:沿樹根到某一結點路徑上的所有結點都是這個結點的祖先結點
子孫結點:某一結點的子樹中的所有結點是這個結點的子孫
結點的層次:規定根節點在1層,其它任一結點的層數是其父結點的層數加1
樹的深度:樹中所有結點中的最大層次即樹的深度
樹的表示:兒子兄弟表示法:
typedef tree bintree; /* 二叉樹型別 */
struct tnode;
資料結構 樹 樹的表示
樹狀圖是一種資料結構,它是由n n 1 個有限結點組成乙個具有層次關係的集合。把它叫做 樹 是因為它看起來像一棵倒掛的樹,也就是說它是根朝上,而葉朝下的。它具有以下的特點 每個結點有零個或多個子結點 沒有父結點的結點稱為根結點 每乙個非根結點有且只有乙個父結點 除了根結點外,每個子結點可以分為多個不...
資料結構(一) 資料結構緒論與演算法
資料結構可以說是計算機軟體相關專業的基礎課程,幾乎可以說要想從事程式設計或開發工作,都無法避開這部分的知識。但是這部分知識也是相對來說較難的知識,即使是學會了其中的內容,要在開發和程式設計工作中很好地運用資料結構的知識對程式猿來說也是較難的,反正對我來講是挺難的。在考研的過程中資料結構是我的一門主要...
資料結構與演算法(一) 資料結構與演算法概念
資料結構是計算機儲存 組織資料的方式。資料結構是指資料與資料之間的關係。資料結構是指相互之間存在一種或多種特定關係的資料元素的集合。通常情況下,精心選擇的資料結構可以帶來更高的執行或者儲存效率。資料結構往往同高效的檢索演算法和索引技術有關。邏輯結構 示意圖1 集合結構 2 線性結構 3 樹形結構 4...