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

2021-09-29 21:46:29 字數 2094 閱讀 2783

資料項:資料不可分割的最小單位。

資料元素(記錄):由若干資料項組成。在計算機中作為整體處理,又稱記錄。

資料物件(資料):性質相同的資料元素(即資料項數量和型別相同)的集合,是資料的子集。

資料結構:相互之間存在一種或多種特定關係的資料元素的集合。

(1)邏輯結構

資料物件中資料元素間的相互關係。

(集合結構、線性結構、樹形結構、圖形結構)

(2)物理結構

資料的邏輯結構在計算中的儲存形式。

順序儲存結構:儲存單元連續

adt(abstract data type):數學模型+一組操作

描述格式

adt 資料型別名

data 資料元素間邏輯關係

operation操作…

endadt

定義:解決特定問題求解步驟的描述。

特性:輸入(0/多)、輸出(至少1)、有窮性(無線迴圈,可接受時間 )、確定性(二義性 )、可行性

設計要求:正確性、可讀性、健壯性(對不合法輸入作出處理)、時間效率高和儲存量低。

時間複雜度:語句總執行次數隨問題規模(n)的變化情況。考慮漸近時間複雜度(隨n增大,增長率)。用大o記法

演算法好壞比較:可比較演算法關鍵執行次數的漸近增長性。隨n增大,會越來約優於/差於另一演算法。

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

資料元素間是一對一關係,除第乙個元素外各元素均有且只有乙個直接前驅元素,除最後乙個元素外各元素均有且只有乙個直接後繼元素

3個屬性:起始位置(陣列data的儲存位置)、最大儲存容量(陣列長度maxsize)、當前長度(length)。

訪問:第i個元素的儲存位置(每個資料元素佔c個儲存單元)為

所以其訪問時間效能為o(1)——隨機訪問結構。

刪除和插入:平均時間複雜度為o(n)。

缺點:插入和刪除操作需移動大量元素;線性表長度變化較大時,難以確定儲存空間的容量;造成儲存空間的「碎片化」;

結點(node):資料元素的儲存映像。由資料域(儲存資料元素資訊的域)和指標域(儲存資料元素直接後繼位置的域,即儲存的是指標或鏈)組成。

單鏈表:有乙個指標域。

頭結點:線性鍊錶前的乙個結點,頭結點的指標域儲存指向第乙個結點的指標。若煉表為空,則頭結點的指標域為「空」。

頭指標:鍊錶第乙個結點的儲存位置。鍊錶有頭結點時,頭指標即指向頭結點的指標。頭指標永不為空。

描述方法——結構指標(c語言)

(**:)

優缺點

時間效能:查詢o(n),插入刪除o(1)

空間效能:不需預分配儲存空間,元素個數不受限制。

其他鍊錶

靜態鍊錶(無指標的語言,陣列實現)

迴圈鍊錶(尾指標rear指向頭結點,可從任一結點出發訪問全部結點)

雙向鍊錶(增加前驅指標)

大話資料結構讀書筆記

第一章 資料結構的定義 資料就夠是相互直接存在一種或多種特定關係的資料元素的集合 邏輯結構 集合結構 線性結構 樹形結構 圖形結構 第二章 演算法 1 演算法的特性 輸入 輸出 有窮性 確定性和可行性 2 演算法事假複雜度定義 在進行演算法分析時,語句總的次數t n 第三章1 線性表 定義 零個或多...

大話資料結構 讀書筆記

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

讀書筆記 大話資料結構 1

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