大話資料結構讀書筆記

2021-08-17 22:18:31 字數 2261 閱讀 8225

第一章

資料結構的定義:資料就夠是相互直接存在一種或多種特定關係的資料元素的集合

邏輯結構:集合結構 、線性結構、樹形結構、圖形結構

第二章 演算法

1、演算法的特性

輸入、輸出、有窮性、確定性和可行性

2、演算法事假複雜度定義

在進行演算法分析時,語句總的次數t(n)

第三章1、線性表

定義:零個或多個資料元素的有限序列

2、線性表順序儲存結構的優缺點

優點:無須為表示表中元素之間的邏輯關係而增加額外的儲存空間

可以快速低訪問表中任意位置元素

缺點:插入和刪除操作需要移動大量元素

當線性表長度變化較大是,難以確定儲存空間的容量;

造成儲存空間的碎片

3、線性表鏈式儲存結構定義

為了表示每個資料元素ai與其直接後繼資料元素ai+1直接的邏輯關係,對資料元素ai來說,除了儲存其本身的資訊之外

還,還需儲存乙個知識其直接猴急的資訊(位置)。我們把儲存資料元素資訊的域成為資料域,把儲存直接後繼位置的域

稱為指標域,指標域中儲存的資訊稱作指標或鏈。這兩部分資訊組成資料元素ai的儲存映像,稱為節點(node)

3.6.4頭指標和頭節點的異同

頭指標:

1)頭指標是指鍊錶指向第乙個節點的指標,若煉表有頭節點,則是指向頭節點的指標

2)頭指標具有標識的作用,所以常用頭指標冠以鍊錶的名字

3)無論鍊錶是否為空,頭指標均不為空,頭指標是鍊錶的必要元素

頭節點:

1)是為了操作的統一個方便而設立的,放在第一元素的節點之前,其資料域一般無意義

2)有了頭節點,對在第一元素和節點和刪除第一節點,其操作與其他節點的操作就統一了

3)頭節點不一定是鍊錶的便要素

3.7單鏈表的讀取

獲取鍊錶第i個資料的演算法思路

1、申明乙個節點p指向鍊錶第乙個節點,初始化j從1開始

2、當j3、若到鍊錶末尾p為空,則說明第i個元素不存在;

4、否則查詢成功,返回節點p的資料

3.12靜態鍊錶

用陣列描述的鍊錶叫做靜態鍊錶

總的來說,靜態鍊錶其實是為了沒有指標的高階語言設計的一種實現單鏈表能力的方法

3.13迴圈鍊錶

將單鏈表中終端節點的指標端由空指標改為指向頭節點,就使整個單鏈表形成乙個環,這種

頭尾相接的單鏈表就稱為單迴圈鍊錶,簡稱迴圈鍊錶

3.14雙向鍊錶

雙向鍊錶是在單鏈表的每個節點中,再設定乙個指向其前驅的指標域

結尾語:不怕苦,吃苦半輩子,怕吃苦,吃苦一輩子

第四章 棧與佇列

1、棧stack是限定僅在表尾進行插入和刪除操作的線性表

棧的插入操作,叫做進棧,也稱壓棧,入棧

棧的刪除操作,叫做出棧,也有叫做彈棧

4.10佇列的定義

定義:佇列是指允許在一端進行插入操作,而在另一端進行刪除操作的線性表

佇列是一種先進先出的線性表,簡稱fifo

第六章 樹

節點擁有的子樹數稱為節點的度(degree),度為0的節點稱為葉節點(leaf)或終端節點;

度不為0的結點稱為非終端結點或分支結點。除根結點之外,分支結點也稱為內部結點。樹的度

是樹內各結點的度的最大值

6.5二叉樹的定義

二叉樹 是n個結點的有限集合,該集合或者為空集,或者由乙個根結點和兩棵互不相交的

、分別對稱為根結點的左子樹和右子樹的二叉樹組成

6.8二叉樹的遍歷 重點

二叉樹的遍歷是指從根結點出發。按照某種次序訪問二叉樹中所有結點,使得每個節點被訪問一次且

僅被訪問一次

1、前序遍歷

2、中序遍歷

3、後序遍歷

4、層序遍歷

二叉樹遍歷的性質

1、已知前序遍歷序列和中序遍歷序列,可以唯一確定一棵二叉樹

2、已知後序遍歷序列和中序遍歷序列,可以唯一確定一棵二叉樹

注意:已知前序和後序是不能確定的

第七章 圖

沒有細看

第八章 查詢

8.4有序表查詢

8.4.1拆半查詢(二分查詢)重點

拆半查詢技術,又稱為二分查詢。他的前提是線性表中的記錄必須是關鍵碼有序(通常從小到大有序)

線性表必須採用順序儲存。拆半查詢的基本思想是:在有序表中,取中間記錄作為比較物件,若給定值

與中間記錄的關鍵字相等,則查詢成功;若給定值小於中間記錄的關鍵字,則在中間記錄的左半區繼續查詢

;若給定值大於中間的關鍵字,則在中間記錄的右半區繼續查詢。不斷重複上述過程,直到查詢成功或者

失敗

大話資料結構 讀書筆記

是相互之間存在一種或多種特定關係的資料元素的集合。說白了就是資料的集合 但是集合裡面的資料之間存在特地的關係 這翻譯得好像沒說一樣 是指資料元素之間的相互關係 指資料的邏輯結構在計算機儲存形式 鏈式儲存結構 是把資料元素存放在任意的儲存單元 這組儲存單元可以是連續的 也可以是不連續的 資料型別指的是...

讀書筆記 大話資料結構 1

對於電腦科學,資料結構的重要性不言而喻。它對於乙個程式設計師的功力的提高起著關鍵的作用。勿在浮沙築高台,想要成為一名合格的hacker。基礎理論決定乙個程式設計師思維的深度。介於此,決定認真學習資料結構,找到比較基礎易懂的大話資料結構來開始我的學習之旅。資料結構 相互之間存在一種或多種特定關係的資料...

《大話資料結構》讀書筆記(三)

零個或多個資料元素的有限序列。線性表的順序儲存結構,指的是用一段位址連續的儲存單元依次儲存線性表的資料元素。c語言描述線性表的順序儲存結構 描述順序儲存結構需要三個屬性 儲存空間的起始位置 陣列data,它的儲存位置就是儲存空間的儲存位置。線性表的最大儲存容量 陣列長度maxsize 線性表的當前長...