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

1.1.2 算法的特性

問題不同,解決的思路和采取的方法與步驟就有針對性,所以對應的算法也各不相同。但各種算法有如下共同之處:首先計算機要有操作對象,通過輸入,給予計算機問題所涉及的對象;最后要能得到運行結果,即有輸出;在輸入與輸出之間是具體的方法和步驟,這些方法和步驟必須是確定的、正確的、有限的、有效的、通用的。因而,運行于計算機的各種算法有如下特征。

(1)輸入:算法從一個指定集合得到輸入值,可以有0個、1個或多個值,由賦值或輸入語句實現;

(2)輸出:對每個輸入值,算法都要從指定的集合中產生輸出值,輸出值就是問題的解,可以有1個或多個輸出值,由輸出語句實現;

(3)確定性:算法的步驟必須準確定義,不能產生歧義;

(4)正確性:對每一次輸入值,算法都應產生正確的輸出值;

(5)有限性:對任何輸入,算法都應在有限步驟之后產生輸出;

(6)有效性:算法每一步必須能夠準確地執行,并在有限時間內完成;

(7)通用性:算法不只是用于特定的輸入值,應該可以用于滿足條件的所有問題。

例1.1 找出計算機軟件專業錄取的新生中高考總分的最高分。

分析:這個問題等價于求有限整數序列中最大值的算法,可采取以下步驟。

(1)將序列中第一個整數設為臨時最大值(max);

(2)將序列中下一個整數與臨時最大值比較,如果這個數大于臨時最大值,臨時最大值更新為這個整數;

(3)重復第(2)步,一直比較到序列中最后一個數時停止。此時臨時最大值就是序列中的最大整數。

在此算法中,輸入是軟件專業所有新生的高考成績,輸出是高考最高分,算法過程從序列第一項開始,并把序列第一項設為臨時最大值的初始值,接著逐項檢查,如果有一項超過最大值,就把最大值更新為這一項的值,檢查到序列的最后一項結束。算法每進行一步,要么是比較最大值和這項的大小,要么是更新最大值的值,所以每一步的操作都是確定的,能保證最大值是已檢查過的最大整數,結果是正確的。如果序列包含 n 個整數,經過 n-1次比較就結束,所以算法步驟是有限的、有效的。這個算法可以用于求任何有限整數序列問題的最大元素,所以它是通用的。

主站蜘蛛池模板: 汽车| 安阳县| 昆山市| 衡阳市| 瑞安市| 平谷区| 新竹市| 云南省| 仙桃市| 承德市| 朝阳县| 广宗县| 二连浩特市| 唐山市| 兴城市| 鹰潭市| 兴城市| 浦县| 临澧县| 改则县| 汶上县| 夏津县| 科技| 谢通门县| 拉孜县| 河南省| 乳山市| 云霄县| 汝城县| 罗平县| 巴林左旗| 临澧县| 宝清县| 井冈山市| 曲靖市| 邓州市| 宜昌市| 宁乡县| 嵩明县| 肃南| 综艺|