1、算法的五個基本特性分別是:輸入、輸出、有窮性、確定性和可行性。
輸入/輸出:算法具有零個或多個輸入,算法至少具有一個或多個輸出。
2、有窮性:是指算法在執(zhí)行有限的步驟后,自動結束而不會出現(xiàn)無限循環(huán),并且每個步驟在可接受的時間內完成。
3、確定性:算法的每個步驟都有明確的含義,不會出現(xiàn)二義性。
4、可行性:算法的每一步都必須是可行的,也就是說,每一步都通過執(zhí)行有限次數(shù)完成。
首先我們一定要知道的算法的第一個特性——有窮性。它是指一個算法必須總是在執(zhí)行有限的步驟之后結束,并且每一步都必須在有限的時間內完成。這個很容易理解,對于一個算法,我們肯定要讓它能夠在有限的時間完成任務,不然要花費無窮無盡的時間才能得出結果,那這個算法無疑是失敗的。
其次是確定性,其實小編更愿意叫它“無二義性”。顧名思義,對于每種情況下的操作,算法中都有明確的規(guī)定,不會產(chǎn)生二義性。舉個例子:你的同學有兩個叫張三的,如果你不給這兩個叫張三的標記他們獨有的標簽,那么老師在叫張三的時候就會產(chǎn)生二義性,計算機也是如此,它不知道該選擇哪一個“張三”。
第三個重要特性是可行性,它是指算法中的所有操作都可以通過已經(jīng)實現(xiàn)的操作運算執(zhí)行有限次來實現(xiàn)。通俗點講,就是針對實際問題設計的算法,執(zhí)行后能夠達到滿意的結果。
第四個第五個重要特性小編將它們合在一起說了。它們分別是輸入和輸出。需要特別注意的是,對于一個算法來說,輸入可以是0個或0個以上。而輸出必須有一個或一個以上的輸出,沒有輸出的算法沒有任何的意義。