关于算法的起源,可以追溯到我国古代公元前1世纪的《周髀算经》,他是算经的十书之一,原名《周髀》,主要阐述古代中国的盖天说和四分历法。在唐朝的时候,此书被定为国子监算科的教材之一,并改名为《周髀算经》。算法在我国古代称为“演算法”。《周髀算经》中记载了勾股定理、开平方问题、等差级数等问题,其中用到了相当复杂的分数算法和开平方算法等。在随后的发展中,出现了割圆术、秦九昭算法和剩余定理等一些经典算法。
在西方,公元9世纪波斯数学家al-Khwarizmi提出了算法的概念。算法最初写为algorism,意思是采用阿拉伯数字的运算法则。到了18世纪,算法正式命名为algorithm。由于汉字计算的不方便,导致我国古代算法发展的比较缓慢,而采用阿拉伯数字的西方国家则发展迅速。例如,注明的欧几里德算法(又称辗转相除法)就是典型的算法。
在历史上,Ada Byron被认为是第一个程序员,她在1842年编写的巴贝奇分析机上的伯努利方程的求解算法程序虽然未能执行,但奠定了计算机算法程序设计的基础。
后来,随着计算机的发展,在计算机中实现的各种算法已经成为可能。算法在计算机程序设计领域又得到了重要发展。目前,几乎所有的程序员在编程时,无论采用何种编程语言,都需要与算法打交道。