什麼是演算法? 演算法是解決特定問題求解步驟的描述,在電腦中表現為指令的有限序列,並且每條指令表示一個或多個操作。 簡單來說,就是我們解決某一問題所使用的技巧和方法。 一個問題可以由多個演算法解決,一個演算法也不可能具有通解所有問題的能力。 演算法的特征: 輸入:演算法具有零個或多個輸入; 輸出:演算法至少有一 ...
什麼是演算法?
演算法是解決特定問題求解步驟的描述,在電腦中表現為指令的有限序列,並且每條指令表示一個或多個操作。
簡單來說,就是我們解決某一問題所使用的技巧和方法。
一個問題可以由多個演算法解決,一個演算法也不可能具有通解所有問題的能力。
演算法的特征:
- 輸入:演算法具有零個或多個輸入;
- 輸出:演算法至少有一個或多個輸出。(列印形式、返回一個或多個值)
- 有窮性:演算法執行有限步驟之後,自動結束而不會無限迴圈,並且每一個步驟在可接受的時間內完成。
- 確定性:演算法的每一個步驟都具有確定的含義,不會出現二義性。 演算法在一定條件下,只有一條執行路徑,相同的輸入只能有唯一的輸出結果。
- 可行性:演算法的每一步都必須是可行的,每一步都能通過執行有限次數完成。
演算法設計的要求:
1、正確性的四個層次;
層次一:演算法程式無語法錯誤;
層次二:演算法程式對合法輸入能夠產生滿足要求的輸出;
層次三:演算法程式對於非法輸入能夠產出滿足要求的說明;
層次三:演算法程式對於故意刁難的測試輸入都能滿足要求的輸出結果;
2、可讀性;這裡所說的可讀性指的是,既要方便自己閱讀修改,又要便於他人閱讀用以溝通交流;
3、健壯性;在遇到具有刁難性的輸入時,保持演算法的功能;
4、時間效率高和存儲量低;演算法的最終目的就是追求儘可能短的時間達成效果以及對於電腦的負擔儘可能的低;