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

1.3.2 算法的特點(diǎn)

解決問題我們需要一個(gè)可行的算法,而如何去衡量這個(gè)算法是否得當(dāng),是否可行呢?通常,算法具有以下5個(gè)重要的特征。

1.有窮性

一個(gè)算法應(yīng)包括有限個(gè)操作步驟,其中每一步都應(yīng)在合理的時(shí)間范圍內(nèi)完成。有的可能要花很長(zhǎng)的時(shí)間來執(zhí)行指定的任務(wù),但仍將在一定的時(shí)間內(nèi)終止。執(zhí)行的時(shí)間沒有嚴(yán)格的限制,受所要處理問題的約束。

2.確定性

算法在指導(dǎo)計(jì)算執(zhí)行每步程序時(shí),這些指令都是明確的,沒有任何歧義。例如:

        輸出:A/正整數(shù)

是無法執(zhí)行的,因?yàn)檎麛?shù)指的是一類數(shù),沒有指定A除以哪一個(gè)正整數(shù),所以這個(gè)步驟是不確定的。

3.有效性

算法中的每個(gè)步驟都應(yīng)該是有意義、能夠有效執(zhí)行的,并能得到確定的結(jié)果。比如,開方運(yùn)算的數(shù)不能是負(fù)數(shù);分母不能夠?yàn)?。

4.輸入

一個(gè)算法有零個(gè)或多個(gè)輸入。在某些算法中,所需要的數(shù)據(jù)可以由用戶用輸入設(shè)備輸入,例如,求兩個(gè)數(shù)中的較大值,這兩個(gè)數(shù)可以是用戶隨意輸入的兩個(gè)數(shù),它們的值是不確定的。另外在編程的過程中也可以直接用兩個(gè)確定的數(shù)進(jìn)行比較,這時(shí)就不需要用戶的輸入,即零輸入。

5.輸出

一個(gè)算法有一個(gè)或多個(gè)輸出。算法的輸出反映了輸入數(shù)據(jù)加工后的結(jié)果,沒有輸出的算法是毫無意義的。例如:求兩個(gè)數(shù)的最大公約數(shù),執(zhí)行后,若這兩個(gè)數(shù)有最大公約數(shù)就輸出,若沒有最大公約數(shù)就輸出“這兩個(gè)數(shù)無最大公約數(shù)”給用戶以反饋。

主站蜘蛛池模板: 鄂州市| 兴宁市| 宜城市| 拉孜县| 同德县| 容城县| 克什克腾旗| 玉山县| 康定县| 绥棱县| 泽州县| 天津市| 石首市| 封丘县| 阜康市| 左贡县| 大竹县| 徐州市| 敦化市| 奉贤区| 运城市| 墨脱县| 望都县| 丰城市| 富民县| 延寿县| 武威市| 霍林郭勒市| 景宁| 永仁县| 永丰县| 监利县| 封丘县| 平南县| 大竹县| 康马县| 油尖旺区| 齐河县| 镇康县| 乡宁县| 绍兴市|