1.概述
演算法指的是為了完成某一事情(或者解決某一問題),而經過特定步驟的處理之後得到結果的一種手段
具有明確的步驟/順序/可行性
計算機擅長做固定的運算,例如求和等計算型的處理,透過合適的演算法(合適的處理策略),可以大大降低運算所需要的時間
2.舉例
- 為了對數字進行排序
- 選擇排序(相對高效率)
- 每次在所有數字中查詢一個最小的數字然後放在最左邊,在查詢最小的數字放在上一個最小值的右邊以此類推
- 全排列(低效率)
- 把每一種可能得排序,窮舉出來
- 如果對50個不等數字進行全排列,需要的運算步驟為 50!,比宇宙存在的時間還要長很多很多倍
- 選擇排序(相對高效率)
3.複雜度
- 時間複雜度
- 即運算所需要的時間
- 空間複雜度
- 即執行程式需要用到的記憶體空間的大小