2 回答

TA貢獻1821條經(jīng)驗 獲得超5個贊
在數(shù)學(xué)和計算機科學(xué)之中,算法為一個計算的具體步驟,常用于計算、數(shù)據(jù)處理和自動推理。精確而言,算法是一個表示為有限長列表的有效方法。
而程序算法是指:
人們使用計算機,就是要利用計算機處理各種不同的問題,而要做到這一點,人們就必須事先對各類問題進行分析,確定解決問題的具體方法和步驟,再編制好一組讓計算機執(zhí)行的指令即程序,交給計算機,讓計算機按人們指定的步驟有效地工作。這些具體的方法和步驟,其實就是解決一個問題的算法。
例子:
如何用程序比較3個數(shù)字, 找出他們最大的那一個?
1) 輸入A、B、C。
2) A與B中大的一個放入M A X中。
3) 把C與M A X中大的一個放入M A X中。
4) 輸出M A X,M A X即為最大數(shù)。
這就是算法.
12 | int max = a > b ? a : b; max = max > c ? max : c; |
最終max 中就是a,b,c中最大的值.

TA貢獻1812條經(jīng)驗 獲得超5個贊
計算機算法是以一步接一步的方式來詳細描述計算機如何將輸入轉(zhuǎn)化為所要求的輸出的過程,或者說,算法是對計算機上執(zhí)行的計算過程的具體描述。
【算法性質(zhì)】
一個算法必須具備以下性質(zhì):
算法首先必須是正確的,即對于任意的一組輸入,包括合理的輸入與不合理的輸入,總能得到預(yù)期的輸出。如果一個算法只是對合理的輸入才能得到預(yù)期的輸出,而在異常情況下卻無法預(yù)料輸出的結(jié)果,那么它就不是正確的。
算法必須是由一系列具體步驟組成的,并且每一步都能夠被計算機所理解和執(zhí)行,而不是抽象和模糊的概念。
每個步驟都有確定的執(zhí)行順序,即上一步在哪里;下一步是什么,都必須明確,無二義性。
無論算法有多么復(fù)雜,都必須在有限步之后結(jié)束并終止運行;即算法的步驟必須是有限的。在任何情況下,算法都不能陷入無限循環(huán)中。
一個問題的解決方案可以有多種表達方式;但只有滿足以上4個條件的解才能稱之為算法。
【算法特點】
有窮性。一個算法應(yīng)包含有限的操作步驟,而不能是無限的。事實上“有窮性”往往指“在合理的范圍之內(nèi)”。如果讓計算機執(zhí)行一個歷時1000年才結(jié)束的算法,這雖然是有窮的,但超過了合理的限度,人們不把他視為有效算法。
確定性。算法中的每一個步驟都應(yīng)當(dāng)是確定的,而不應(yīng)當(dāng)是含糊的、模棱兩可的。算法中的每一個步驟應(yīng)當(dāng)不致被解釋成不同的含義,而應(yīng)是十分明確的。也就是說,算法的含義應(yīng)當(dāng)是唯一的,而不應(yīng)當(dāng)產(chǎn)生“歧義性”。
有零個或多個輸入、所謂輸入是指在執(zhí)行算法是需要從外界取得必要的信息。
有一個或多個輸出。算法的目的是為了求解,沒有輸出的算法是沒有意義的。
有效性。 算法中的每一個 步驟都應(yīng)當(dāng)能有效的執(zhí)行。并得到確定的結(jié)果。
添加回答
舉報