資料結構學習筆記

2021-06-13 19:36:43 字數 702 閱讀 4121

資料結構學習筆記

程式=資料結構+演算法

資料結構=資料+結構

結構的本質是關係

資料之間的關係從不通風層面上分為邏輯關係和物理關係

演算法的設計要依據資料的邏輯關係

演算法的實現要依據資料的物理關係

物理關係是邏輯關係的基礎和載體

演算法實現時需要先依據問題抽象出資料模型,即初步確定待處理資料的邏輯結構,再用偽**將該邏輯結構轉化為抽象資料型別,最後用計算機語言實現抽象資料型別,轉換成可執行的儲存結構。

邏輯結構確定資料的基本關係是一對一(線性)、一對多(樹),還是多對多(圖)關係。

抽象資料型別以類的形式用偽**確定資料型別的資料成員和成員函式介面

物理結構即選用順序儲存或鏈式儲存方式用計算機語言具體實現抽象資料型別

對一種資料型別的原子操作包括 構造、析構、增、刪、查、改、排等。操作實現的關鍵是正確使用資料的位址。當用順序儲存實現時需注意各元素的儲存順序,邊界元素的確定最關鍵;當用鏈式儲存實現時需注意各元素的對應的指標和指標依賴關係。

一般同一種邏輯結構既可以用順序儲存實現又可以用鏈式儲存結構實現,權衡兩種方式時需要依據對資料的操作型別,一般順序儲存更利於靜態操作,鏈式操作更利於動態操作。

評判演算法依據主要包括時間效能和空間效能。時間和空間往往可以轉換即犧牲時間換取空間或犧牲空間換取時間。

演算法是程式的靈魂,而資料結構是演算法的載體,合理的資料結構是良好演算法的基礎。

資料結構學習筆記

資料結構概述 定義我們如何把現實中大量而複雜的問題以特定的資料型別和特定的儲存結構 儲存到主儲存器 記憶體 中,以及在此基礎上為實現某個功能 比如查詢摸個 元素,刪除某個元素,對所有元素進行排序 而執行的相應操作,這個相應 的操作也叫演算法 資料結構 個體 個體的關係 演算法 對儲存資料的操作 演算...

資料結構 學習筆記

一 鍊錶 1 基本特徵 記憶體節點是不連續的,節點之間通過指標彼此關聯。2 基本操作 追加 插入 刪除 遍歷 偽隨機訪問!3 實現要點 1 追加 新建節點存放資料,令新節點的前指標指向當前尾節點,新節點的後指標為null,令當前尾節點的後指標指向新節點,尾指標指向新節點。考慮在空煉表中追加第乙個節點...

資料結構學習筆記

注意用陣列模擬棧,所有刪除操作都是移動棧頂標記,因為陣列難以進行刪除操作 include using namespace std class stack bool isempty bool isfull int top void push int x void pop stack stack int...