求解問題類的、機械的、統(tǒng)一的方法,它由有限多個步驟組成,對于問題類中的每個給定的具體問題,機械地執(zhí)行這些步驟就可以得到問題的解答。算法的這種特性,使得計算不僅可以由人,而且可以由計算機來完成。用計算機解決問題的過程可以分成三個階段:分析問題、設計算法和實現(xiàn)算法。
中國古代的籌算口決與珠算口決及其執(zhí)行規(guī)則就是算法的雛形,這里,所解決的問題類是算術運算。古希臘數(shù)學家歐幾里得在公元前3世紀就提出了一個算法,來尋求兩個正整數(shù)的最大公約數(shù),這就是有名的歐幾里得算法,亦稱輾轉相除法。中國早已有“算術“、“算法”等詞匯,但是它們的含義是指當時的全部數(shù)學知識和計算技能,與現(xiàn)代算法的含義不盡相同。英文algorithm(算法)一詞也經歷了一個演變過程,最初的拼法為algorism或algoritmi,原意為用阿拉伯數(shù)字進行計算的過程。這個詞源于公元 9世紀波斯數(shù)字家阿爾