為了表示乙個演算法,可以用不同的方法。常用的方法由:自然語言、傳統流程圖、結構化流程圖和偽**等。
1.傳統流程圖的弊端
傳統的流程圖用流程線指出各框的執行順序,對流程線的使用沒有嚴格限制。因此,使用者可以不受限制地使流程隨意地轉來轉去,使流程圖變得毫無規律,閱讀時要花很大精力去追蹤流程,使人難以理解演算法的邏輯。
2.三種基本結構
以上 3 種基本結構,有以下共同特點:
只有乙個入口。
只有乙個出口。
結構內的每一部分都有機會被執行到。
結構內不存在 「死迴圈」。
結構化程式設計方法的基本思路是:把乙個複雜問題的求解過程分階段進行,每個階段處理的問題都控制在人們容易理解和處理的範圍內。
採取以下方法來保證得到結構化的程式:
自頂向下
逐步細化
模組化設計
結構化編碼
第 2 章 演算法
演算法 是解決待定問題求解步驟的描述,在計算機中表現為指令的有限序列,並且每條指令表示乙個或多個操作。指演算法在執行有限的步驟後,自動結束而不會出現無限迴圈,並且每乙個步驟在可接受的時間內完成。演算法的每一步驟都具有確定的含義,不會出現二義性。演算法的每一步都必須是可行的,也就是說,每一步都能夠通過...
第2章 演算法分析
知識點 2.1 數學基礎 法則1 如果t1 n o f n 且t2 n o g n 那麼 a t1 n t2 n o f n g n 或者t1 n t2 n o max f n g n b t1 n t2 n o f n g n 法則2 如果t n 是乙個k次多項式,則t n n k 法則3 對於任...
第2章 演算法分析
最大子串行和問題的求解 演算法1 時間複雜度為o n 3 1 public static int maxsubsum1 int a 21617 return maxsum 18 演算法2 時間複雜度為o n 2 1 public static int maxsubsum2 int a 216 171...