資料項——>資料元素——>資料物件——>資料
資料物件+結構——>資料結構
資料結構包括以下幾個方面:
1.資料的邏輯結構(數學模型)
2.資料的儲存結構(物理結構)
3.資料的運算
所以資料結構是帶結構的資料元素的集合
資料型別是乙個值的集合及其一組操作
集合線性結構 一對一
樹形結構 一對多
圖形結構 多對多
堆結構1.記憶體儲存
(1)順序儲存結構(例如陣列):優點--節省儲存空間,因為結點間的邏輯關係不占用額外的儲存空間,不占用空間不代表沒有
缺點--不便於修改
(2)鏈式儲存結構(例如指標):優點--便於修改
缺點--儲存空間利用率低,存了邏輯關係;不能對結點隨機訪問
2.外存儲存
(3)索引儲存結構:建立附加的索引表。優點--便於查詢和修改
缺點--儲存空間利用率低,因為增加了索引表
資料元素對應的運算有邏輯結構上的運算功能和儲存結構上的運算實現,把儲存結構上的運算實現稱為演算法。
演算法五要素:有窮性、確定性、可行性、有輸入、有輸出
n為問題規模,t(n)為基本運算次數,只用看最高端,忽略低階項和常係數
例題:
注:有時很難直接計算基本運算次數,可採用最壞時間複雜度或平均時間複雜度
【定義】設乙個演算法的輸入規模為n,
例題:
對乙個演算法在執行過程中臨時占用的儲存空間大小的度量,記為:
資料結構1 基礎定義
程式 資料結構 演算法 資料結構 基於c語言來說,c只給出了一些基本的資料型別,如int,char等,但處理複雜問題時,只用這些基本的資料型別很難設計出高效的演算法去解決問題,比如 設計乙個學生資訊管理系統,乙個學生的資訊包括 學號,姓名,性別,籍貫,專業,等等,學號是數字,其他的是字元,如果乙個乙...
結構體定義 資料結構基礎複習
結構體別名是指標 typedef struct olnode olnode,olink 結構的物件olnode,指向結構的指標 olink,可以這樣寫 struct olnode olnode olnode,olink olnode enq olink enq 這兩個是等價的 如果在結構體定義頭寫s...
資料結構基礎
資料結構定義 定義 一 資料元素集合 也可稱資料物件 中各元素的關係。定義 二 相互之間存在特定關係的資料元素集合。資料結構的種類 1 集合 2 線性結構 3 樹形結構 4 圖狀結構 或網狀結構 資料結構的形式定義 資料結構名稱 d,s 其中d為資料元素的有限集,s是d上關係的有限集 邏輯結構 資料...