1.演算法是對特定問題求解步驟的一種描述,它是指令的有限序列其中的每條指令表示乙個或多個操作。此外,乙個演算法還具有下列5個重要特性
(1)有窮性:乙個演算法必須總在執行有窮步後結束,且每一步都可在有窮時間內完成
(2)確定性:演算法中每條指令必須有確切的含義,對於相同的輸入只能得到相同的輸出
(3)可行性:演算法中描述的操作都可以通過已經實現的基本運算執行有限次來實現
(4)輸入:乙個演算法有零個或多個輸入
(5)輸出:乙個演算法有乙個或多個輸出
通常,設計乙個好的演算法應考慮達到以下目標:
(1)正確性:演算法應能夠正確地解決求解問題
(2)可讀性:演算法應具有良好的可讀性,以幫助人們理解
(3)健壯性:輸入非法資料時,演算法應能適當地做出反應或進行處理,而不會產生莫名其妙的輸出結果
(4)效率與低儲存量需求:效率是指演算法執行的時間,儲存量需求是指演算法執行過程中所需要的最大儲存空間
2.演算法效率的度量
(1)時間複雜度:乙個語句的頻度是指該語句在演算法中執行的次數
a.最壞時間複雜度是指在最壞情況下,演算法的時間複雜度
b.平均時間複雜度是指所有可能輸入例項在等概率出現的情況下演算法的期望執行時間
c.最好時間複雜度是指最好情況下演算法的複雜度
一般總是在考慮最壞情況下的時間複雜度,以保證演算法的執行時間不會比它更長
(2)空間複雜度:該演算法所耗費的儲存空間演算法原地工作是指演算法所需的輔助空間為常量
1 2 演算法和演算法評價
演算法 algorithm 是特定問題求解步驟的一種描述,它是指令的有限序列,其中的每條指令表示乙個或多個操作。此外,乙個演算法還具有下列5個重要特性 通常,設計乙個好演算法應考慮達到以後目標 演算法效率的度量是通過時間複雜度和空間複雜度來描述的。乙個語句的頻度是指該語句在演算法中被重複執行的次數。...
演算法和演算法評價
目錄 一 演算法的基本概念 1 五個重要特性 並非用來定義演算法,只是是演算法的必要條件 2 好演算法應達到的目標 二 演算法效率的度量 1 時間複雜度 2 時間複雜度 程式 資料結構 現實問題資訊化 演算法 處理資訊解決實際問題 概念 對特定問題求解的一種描述 有窮性 執行有限步後結束 確定性 相...
資料結構第1章 緒論 1 2 演算法和演算法評價
返回目錄?演算法 algorithm 是對特定問題求解步驟的一種描述,它是指令的有限序列,其中的每條指令表示乙個或多個操作。乙個演算法還具有下列5個重要特徵 通常,乙個好的演算法應該考慮達到以下目標 我們以時間複雜度和空間複雜度來度量演算法的效率。乙個語句的頻度是指該語句在演算法中被重複執行的次數。...