資料結構一(資料結構與演算法基本含義)
1.1 基礎概念
● 資料元素
● 是組成資料的,有一定意義的單位
● 在計算機中通常作為整體處理
● 也叫做結點或記錄
● 資料元素例子:植物中的楊樹、柳樹
● 資料項
● 一個數據元素由若干個資料項組成
● 是資料不可分割的最小單位
例子:樹的粗細、高度等
● 資料物件
● 是性質相同的資料元素集合
● 是資料的子集
例子:電腦都有顯示器、主機、滑鼠等性質相同的資料項
1.2 邏輯結構
● 邏輯結構
● 是指資料物件中資料之間的關係
●分類
● 集合結構
● 線性結構
● 樹形結構
● 圖形結構
● 集合結構
● 集合結構中的資料元素除了同一個集合外,沒有其他關係
● 元素之間是平等關係
● 線性結構
● 是一對一的關係
● 樹形結構
● 一對多的關係
● 圖形結構
● 多對多的關係
1.3 儲存結構
● 儲存結構
● 是指資料的邏輯結構在計算機中的儲存形式
●分類
● 順序儲存結構
● 將資料元素儲存在地址連續的儲存單元裡,其資料間的邏輯關係和物理關係是一致的
● 鏈式儲存結構
● 將資料元素儲存在任意的儲存單元裡,可連續,也可不連續
1.4 抽象資料型別
● 資料型別
● 是指一組性質相同的值的集合在此集合上的一些操作總稱
● 是按照值的不同進行劃分的
● 是用來說明變數或表示式的取值範圍和所能進行的操作
● 分類
● 原子型別:不能再分的基本型別
● 構造型別:有若干原子型別或構造型別組合而成的
1.5演算法
● 演算法
● 是對解決特定問題的求解步驟的描述
● 在計算機表現為指令的有限序列,並且每條指令表示一個或多個操作
● 演算法的有窮性
● 指演算法在執行步驟中自動停止,不會出現死迴圈,每個步驟都可以在可接受的時間內完成
● 演算法的確定性
● 演算法每一步驟都有確定的含義,不能出現二義性
● 可執行性
● 演算法每一步都必須可執行的,可以轉化為計算機程式進行,並得到執行結果
● 正確性
● 無歧義,得到正確的答案,應該具有輸入、輸出、加工處理
● 可讀性
● 便於閱讀
● 健壯性
● 輸入不合法的資料時,演算法也能作出相關處理
● 時間效率高和儲存量低