官术网_书友最值得收藏!

  • C/C++程序設計教程
  • 孫淑霞 肖陽春 魏琴等編著
  • 551字
  • 2018-12-30 07:11:43

1.4.1 算法的特性與要求

算法是指為解決某個特定問題而采取的確定且有限的步驟。一個算法應該具有以下五個特性:

(1)確定性。算法中的每一個規則、每一個操作步驟都應當是確定的,不能有二義性,對于相同的輸入應該有相同的輸出結果。

(2)有窮性。一個算法必須在執行有限步驟后結束。也就是說,任何算法都必須在有限的時間內完成,而且應該在合理的時間內完成。

(3)有零個或多個輸入。算法中可以沒有數據輸入,也可以同時輸入多個需要處理的數據。

(4)有一個或多個輸出。一個算法執行結束后必須有結果輸出,否則該算法就沒有實際意義。

(5)可執行性。算法的每一步操作都應該是可執行的。例如,當B=0時,A/B就無法執行,不符合可執行性的要求。

要設計一個好的算法通常要考慮以下要求:

(1)正確。算法的執行結果應當滿足預先規定的功能和性能要求。

(2)可讀。一個算法應當思路清晰、層次分明、簡單明了、易讀易懂。算法主要是為了人的閱讀、理解和交流,其次才是機器執行。

(3)健壯。當輸入數據不合法時,應能適當地作出反應或進行處理,而不會產生莫名其妙的輸出結果。

(4)高效與低存儲量。效率指的是算法執行的時間,存儲量需求是指算法執行過程中所需的最大存儲空間。同一個問題如果有多種算法可以解決,執行時間短的算法效率高,而效率與低存儲量需求都與問題的規模有關。

主站蜘蛛池模板: 玉屏| 黔江区| 江华| 嘉禾县| 买车| 文水县| 乌拉特中旗| 麦盖提县| 崇阳县| 杭锦旗| 凤山市| 延长县| 莒南县| 嘉荫县| 大洼县| 准格尔旗| 岗巴县| 疏勒县| 仁布县| 浦东新区| 运城市| 家居| 新乡市| 留坝县| 乐清市| 巫山县| 呼玛县| 温州市| 万山特区| 莒南县| 繁峙县| 万盛区| 新昌县| 长岭县| 文山县| 扶风县| 信丰县| 贞丰县| 东城区| 修水县| 盐边县|