在中国,最早可以追溯到公元前1世纪的《周髀算经》,它是算经的十书之一,原名《周髀》,主要阐述古代中国的盖天说和四分历法。唐朝的时候,此书被定为国子监明算科的教材之一,并改名为《周髀算经》。《周髀算经》中记载了勾股定理、开平方、等差级数问题等,其中用到了相当复杂的分数算法和开平方算法。在随后的发展中,出现了割圆术、秦九韶算法和剩余定理等一些经典算法。算法在我国古代称为“演算法”。

在西方,公元9世纪波斯数学家 al-Khwarizmi 提出了算法的概念。“算法”最初写为algorism,意思是采用阿拉伯数字的运算法则。到了18世纪,正式被命名为 algorithm 。由于汉字计算的不方便,导致我国古代算法的发展比较缓慢,而采用阿拉伯数字的西方国家则发展迅速。例如,著名的欧几里得算法,又称为辗转相除法,就是典型的算法。

在历史上,Ada Byrom被认为是第一个程序员。她在1842年编写的巴贝奇分析机上的伯努利方程的求解算法程序虽然未能执行,但是奠定了计算机算法程序设计的基础。

后来,随着电子计算机的发展,实现各种算法已经成为可能,算法在计算机程序设计领域又得到了快速发展。目前,几乎所有的程序员编程时,不论采用何种语言,都需要和算法打交道。

更多推荐

《数据结构与算法自学与面试指南》01-04:算法的发展历史