tip:數據結構與算法的關系是相互依賴不可分割的
- 定義:算法是解決特定問題求解步驟的描述,在計算機中為指令的有限序列,并且每條指令代表一個或多個操作。
- 特性:有窮性、確定性、可行性、輸入、輸出
- 設計要求:正確性(首先要有正確的結果,不正確要這算法何用!!)、可讀性(不要幾天后只有機器懂得這個算法,其他人甚至自己都不知道這算法是干啥的)、健壯性(具有處理特殊情況的能力,不要給輕易的崩潰掉)、高效率和低存儲量需求(時間復雜度和空間復雜度)
- 量度方法: 事后統計(不科學不準確)、事前分析估算
- 時間復雜度所耗時間大小排列:
O(1) < O(logn) < O(n) < O(nlogn) < O(n2) < O(n3) < O(2^n) < O(n!) < O(n^n)