一、問題驅動—>畫出唯一的邏輯結構—>定義存儲結構—>實現相應的操作
二、算法—>(定義\特點)步驟—>實現—>評價標準
算法有五大特點:
- 可行性
- 確定性
- 有窮性(有限性)
- 0個或0個以上的輸入
- 至少一個以上的輸出
評價標準:
- 時間復雜度
- 是估計值
- 與程序規模和輸入的因素有關
- O(n) 通過大O法分析
- 空間復雜度
- 與存儲算法本身所占用的空間有關
- 與算法再運行過程中臨時占用的輔助空間有關
- 與算法的輸入/輸出數據占用的空間有關
算法設計要求:
- 正確性
- 可讀性
- 健壯性(容錯性)
- 效率與低存儲量需求
三、抽象數據類型(ADT)就是存儲結構
+操作
四、時間復雜度
增長率由慢到快
盡量減少指數階的算法
5. 常量階與n無關 O(1)
6. log n O(log n)
7. n階 O(n)
8. n log n O(n log n)
9. 平方階 O(n2)
10. 立方階 O(n3)
11. 指數階 O(2^n)
五、數據結構的基本概念和術語
- 數據
描述客觀事物的數字、字符以及所有能輸入到計算機中并被計算機程序處理的符號的集合。(數字、字符、聲音、圖形、圖像等等) - 數據元素(類似表中的每一行,因為,每一行代表一個完整的信息)
數據的基本單位
。在計算機程序中常常作為一個整體進行考慮和處理。(如記錄/結構) - 數據項(類似表中的每一列)
數據的不可分割的最小單位
。(如結構中的域) - 數據對象
性質相同的數據元素的集合,是數據的一個子集。