什麼是數據結構?
數據結構是一門研究非數值計算的程序設計問題中的操作對象,以及他們之間的關係和 操作等相關問題的學科。 數據結構就是關係,就是數據元素相互之間存在的一種或多種特定關係的集合。 程序設計=數據結構+算法
將數據結構分爲邏輯結構和物理結構
邏輯結構:是指數據對象中數據元素之間的相互關係。
物理結構:是指數據的邏輯結構在計算機中的存儲形式。
實際上研究的就是如何把數據元素存儲到計算機的存儲器中。
順序存儲結構:是把數據元素存放在地址連續的存儲單元裏,其數據間的邏輯關係和物 理關係是一致的。
什麼是算法?
是解決特定問題求解步驟的描述,在計算機中表現爲指令的有限序列,並且每一條指令 表示一個或多個操作。 泡妞的技巧和方式。 對於給定的問題,是可以有多種算法來解決的,一個算法也不可能具有通解所有問題的能力。
算法基本特徵
輸入:算法具有零個或多個輸入。
輸出:算法至少有一個或多個輸出。
有窮性:算法在執行有限的步驟之後,自動結束而不會出現無限循環,並且每一個步驟 在可接受的時間內完成。
確定性:算法的每一個步驟都具有確定的含義,不會出現二義性。在一定條件下,只有 一條執行路徑,相同的輸入只能有唯一的輸出結果。
可行性:算法的每一步都必須是可行的,也就是說,每一步都能夠通過執行有限次數完成。
算法設計的要求
正確性:至少應該具有輸入、輸出、無歧義性、能正確反應問題的需求、能夠得到問題 的正確答案。
沒有語法錯誤
對於合法輸入能夠產生滿足要求的輸出
對於非法輸入能夠產生滿足要求的說明
對於故意刁難的測試輸入都有滿足要求的輸出結果
可讀性:便於閱讀、理解和交流
健壯性:當輸入數據不合法時,算法也能夠做出相關處理,而不是產生異常、崩潰或莫名其妙的結果
時間效率高和存儲量低