資料結構和演演算法_零基礎入門01

2020-10-16 11:02:52


b站學習小甲魚的資料結構與演演算法,自留筆記。

程式設計=資料結構+演演算法

一、資料結構是什麼?

資料結構:研究非數值計算的程式設計問題中的操作物件,以及他們之間的關係和操作等問題的學科。
資料結構,即:資料元素間的一種或多種的特定關係的集合

邏輯結構、物理結構

資料結構分為邏輯結構和物理結構。
邏輯結構:資料物件中資料元素間的相互關係
1.1 集合結構:資料元素同屬一個集合。
1.2 線性結構:資料元素間是一對一的關係。
1.3 樹形結構:資料元素一對多的層次關係。
1.4 圖形結構:資料元素多對多的關係。

物理結構:資料的邏輯結構在計算機中的儲存形式
資料的儲存結構形式:順序儲存、鏈式儲存。
順序儲存結構:資料元素放在地址連續的儲存單元,資料間邏輯關係和物理關係是一致的。
鏈式儲存結構:資料元素放在任意的儲存單元指標存放資料元素的地址

二、演演算法

演演算法:解決特定問題的求解步驟描述;在計算機中表現為指令的有限序列(每個指令表示一個或多個操作)。
給定的問題有多種演演算法解決,不同演演算法有優劣之分。

演演算法的五個基本特徵

輸入、輸出、又窮性、確定性、可行性。
1 輸入:0或多個輸入
2 輸出:1或多個輸出
3 有窮性:有限的步驟,自動結束。每步在可接受的時間內完成。
4 確定性:每步有確定的含義,無二義性。相同的輸入有唯一的結果。
5 可行性:每步能在有限次數下完成。

演演算法設計的要求

1 正確性:
四個層次:
①演演算法程式無語法錯誤。
②對合法輸入有滿足要求的輸出。
③對非法輸入有相應的規格說明提醒。
④故意刁難的測試輸入有滿足要求的輸出結果。

2 可讀性
便於閱讀、理解、交流。

3 健壯性
輸入資料不合法時,也能相應的處理,不會奔潰。

4 時間效率高、儲存量低