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

1.2.2 算法的特征

具體地說,算法就是對特定問題求解步驟的一種描述,是指令的有限序列。其中,每個指令表示一個或多個操作。

一個算法必須滿足以下5個重要特性:

(1)有窮性。對于任意一組合法輸入值,在執行有窮步驟之后一定能結束,即算法中的每個步驟都能在有限時間內完成。

(2)確定性。對于每種情況下所應執行的操作,在算法中都有確切的規定,使算法的執行者或閱讀者都能明確其含義及如何執行。并且,在任何條件下,算法都只有一條執行路徑。

(3)可行性。算法中的所有操作都必須足夠基本,都可以通過已經實現的基本操作運算有限次實現之。

(4)有輸入。作為算法加工對象的量值,通常體現為算法中的一組變量。有些輸入量需要在算法執行過程中輸入,而有的算法表面上可以沒有輸入,實際上已被嵌入算法之中。

(5)有輸出。它是一組與“輸入”有確定關系的量值,是算法進行信息加工后得到的結果,這種確定關系即為算法的功能。

算法與程序是兩個不同的概念,兩者之間既有聯系又有區別。一個程序不一定滿足有窮性。例如,操作系統,只要整個系統不被破壞,它就永遠不會停止。即使沒有作業需要處理,它仍處于動態等待中。因此,操作系統不是一個算法。另一方面,程序中的指令必須是機器可執行的,而算法中的指令則無此限制。算法代表了對問題的解,而程序則是算法在計算機上的特定的實現。一個算法若用程序設計語言來描述,則它就是一個程序。

主站蜘蛛池模板: 顺昌县| 思茅市| 康保县| 桃园县| 兴义市| 喀喇| 临澧县| 喀喇沁旗| 古丈县| 永和县| 南溪县| 山阳县| 清流县| 洱源县| 珲春市| 政和县| 锦州市| 义马市| 平阳县| 呼玛县| 富裕县| 苍南县| 五台县| 太湖县| 巨鹿县| 措勤县| 庄浪县| 德化县| 申扎县| 天等县| 清远市| 德兴市| 无锡市| 景谷| 芒康县| 西华县| 湖州市| 洛南县| 海淀区| 资源县| 芜湖市|