最近在中國大學mooc上選修了浙大的《資料結構》這門課,這周溫習了下之前學的一些涉及到「樹」的基本知識。下面就「一般的樹」這種抽象資料型別的儲存進行總結。
一、「樹」提出的背景和意義:
1.樹的意義:與之前的資料結構相比,樹這種資料結構的提出意義在於:分層次組織資料,這樣在資料的管理上會更有效率,主要在於資料的查詢。
2.資料查詢的定義:根據某個關鍵字k從資料集合中找出與關鍵字k相同的記錄。查詢根據資料集合是否是固定的,分為靜態和動態查詢;查詢方法常見的有:順序查詢和二分查詢;二分查詢的效率高,但是需要資料在查詢前根據關鍵字有序排放,因為如何有效儲存和組織資料就變得很重要。
資料查詢:
二分查詢:
二、樹的定義和結構
1.樹的定義:
樹的性質:
樹的性質需要注意的是:
(1)所有的子樹都不能是相交的,互不相關互不相交。
(2)要有根節點,同時除了根節點外,每個節點都要有且僅有乙個父節點。
(3)n個節點,n-1條邊
三、樹的相關術語和表示
1、樹的相關術語:
2、樹的表示: 兒子-兄弟法
3.樹的資料結構儲存:使用鍊錶進行儲存,因為這是一般的樹,不知道乙個父節點下面的兒子的節點的個數,不固定,一般會定義個乙個父節點最多擁有的子節點的個數。
後記:因為實際用處中很少用到一般的樹,所以這裡很多就用了課程中課件的截圖,這裡主要是需要理解一般的樹的定義、性質和一些基本的樹的術語。
資料結構學習 樹的基本概念
參考書籍 資料結構與演算法分析 c語言描述 連線倆個節點的稱為邊 一棵樹是n個節點和n 1條邊的集合 沒有兒子的節點稱為樹葉 葉 具有相同父親的稱為兄弟。某路徑的長為該路徑上邊的條數。對任意節點ni,ni的深度為從根到ni的唯一路經長,其中根的深度為0。一棵樹的深度等於它最深的樹葉深度。深度是向上而...
資料結構學習之基本概念
一 資料結構的概念 早期人們都把計算急理解為數值計算的工具。可現實中,我們更多的不是解決數值計算的問題,而是需要一些更為科學有效的手段 比如表 樹和圖等資料 結構 的幫助,才能夠更好的處理問題。所以資料結構是一門研究非數值計算的程式設計問題中的操作物件,以及他們之間的關係和操作等相關問題的學科。二 ...
資料結構 學習筆記 01 基本概念
例項 二分法查詢。1.1.1 二分法定義 二分查詢也稱折半查詢 binary search 它是一種效率較高的查詢方法。但是,折半查詢要求線性表必須採用順序儲存結構,而且表中元素按關鍵字有序排列。1.1.2 查詢過程 首先,假設表中元素是按公升序排列,將表中間位置記錄的關鍵字與查詢關鍵字比較,如果兩...