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