关闭

影响计算机算法世界的十位大师

时间: 2020-08-02阅读: 517标签: 算法

影响计算机算法世界的十位大师,原文写于 2006 年。


1、伟大的智者——Don E.Knuth,中文名:高德纳

(1938-)算法和程序设计技术的先驱者。Oh,God!一些国外网站这样评价他。一般说来,不知道此人的程序员是不可原谅的。其经典著作《计算机程序设计艺术》更是被誉为算法中“真正”的圣经,像KMP和LR(K)这样令人不可思议的算法,在此书比比皆是。难怪连 Bill Gates都说:“如果能做对书里所有的习题,就直接来微软上班吧!”

对于Don E.Knuth本人,一生中获得的奖项和荣誉不计其数,包括图灵奖,美国国家科学金奖,美国数学学会斯蒂尔将(AMS Steel Prize),以及发明先进技术荣获的极受尊重的京都奖(KyotoPrize)等等,写过19部书和160余篇论文,每一篇著作都能用影响深远来形容。 Don E.Knuth也被公认是美国最聪明的人之一。当年他上大学的时候,常写些各种各样的编译器来挣外快,只要是他参加的编程比赛,总是第一名,同时也是世上少有的编程达到40年以上的程序员之一。他除了是技术与科学上的泰斗外,更是无可非议的写作高手,技术文章堪称一绝,文风细腻,讲解透彻,思路清晰而且没有学究气,估计这也是《计算机程序设计艺术》被称为圣经的原因之一。


2、首席算法官Udi Manber

世界上还有如此奇怪的职位?但是对于Amazon乃至Google来说,这一点也不奇怪。Udi Manber,这位前Amazon的“首席算法官”,现在是Google负责工程事务的副总裁。他研究WWW的应用程序、搜索以及隐藏在这背后的算法设计。在此期间,他与其他人共同开发了Agrep、Glimpse和Harvest等Unix上的搜索软件。1998年,Udi成为了Yahoo!的首席科 学家。2002年,Amazon创造性地给了Udi“首席算法官”的职位,和Udi为Amazon的“SearchInside the Book”搜索项目所做的工作相得益彰。

Udi还因为他所著的Introduction to Algorithms——A Creative Approach而被大家称道。


3、谦逊的长者——Edsger Wybe Dijkstra

1930年出生于荷兰阿姆斯特丹,2002年逝世于荷兰纽南。他在祖国荷兰获得数据和物理学学士,理论物理博士学位,2000年退休前一直是美国Texas大学的计算机科学和数学教授。以发现了图论中的最短路径算法(Dijkstra算法)而闻名于世,1972年因为ALGOL第二代编 程语言而获得图灵奖。“Go To StatementConsidered Harmful”(EWD215)也是被广为传颂的经典之作。除了科学研究之外,他最喜欢做的事情就是教学,被人称作“一天教学24小时”的教授。

且不说Dijkstra算法对计算科学,网络科学发展的深远影响,单从他在1972年获得图灵奖时的演讲“The Humble Programmer”就不得不肃然起敬,在获得计算机科学中至高无上的奖项时,Edgs Wybe Dijkstra仍然称自己不过是一个谦逊普通的程序员,何等胸襟,举世之中几人可比。


4、运筹学大师——George Dantizig

可谓是由父亲一手培养出的天才。George的父亲是俄国人,曾在法国师从著名的科学家Henri Poincar e。他曾经这样回忆自己的父亲:“在我还是个中学生时,他就让我做几千道几何题……解决这些问题的大脑训练是父亲给我的最好礼物。这些几何题,在发展我分析能力的过程中,起了最最重要的作用。”

在伯克利学习的时候,有一天George上课迟到,只看到黑板上写着两个问题,他只当是课堂作业,随即将问题抄下来并做出解答。六个月后,这门课的老师 ——著名的统计学家Jerzy Neyman——帮助他把答案整理了一下,发表为论文,George这才发现自己解决了统计学领域中一直悬而未决的两个难题。

George后来在运筹学建树极高,获得了包括“冯诺伊曼理论奖”在内的诸多奖项。他在Linearprogramming and extensions一书中研究了线性编程模型,为计算机语言的发展做出了不可磨灭的贡献。天妒英才,他于2005年5月13日去世。


5、推动时代前进的人——James Cooley

(1926-)美国数学家,哥伦比亚大学的数学博士,以他所创造的快速傅立叶变换(FFT)而著名,不能不说是意义极其重大,FFT的数学意 义不光在于使大家明白了傅立叶(Fourier)变换计算起来是多么容易,而且使得数字信号处理技术取得了突破性的进展,对于现在的网络通信,图形图像处理等等领域的发展与前进奠定了基础。Fourier变化的意义在于将电能变为了工业的命脉,而FFT的意义更是在于他推动了整个社会信息化的进程。在 IBM研究中心中主要从事数字信号处理的研究一直到1992年退休,同时他还是IEEE的数字信号处理委员会的成员。1980年获得ASSP’s Meritorious Service Award,1984年获得ASSP Society Award以及IEEE Centennial Medal。


6、FORTRAN 之父——John Backus

早年在Hill School学习的时候因为讨厌学习,成绩一踏糊涂而不得不在暑假补课。1943年他在父亲的要求下到维吉尼亚大学学习化学,随后参军、照顾头部受伤的伤员、在医学学校学习治疗,可是最后又都放弃了。不过还好,战后Backus进入纽约哥伦比亚大学学习数学,并于1949年毕业。在毕业前夕,他跑到了麦迪逊大街的IBM计算机中心参观。事情凑巧,和导游聊天的时候Backus谈到自己正在找工作,在导游的鼓励下,他和中心一位主管的面谈,成为了一名IBM?的程序员。

在IBM,Backus的才华得到了施展,发明了人类历史上第一个高级语言——FORTRAN。接着,又提出了规范描述编程语言语法的BNF。这位当年的“差生”终于被整个计算机世界肯定——美国计算机协会于1977年授予John Backus图灵奖。


7、实践探索先锋——Jon Bentley

1974年获得了斯坦福大学的学士学位,1976年获得北卡罗莱纳大学的硕士和博士学位。毕业后在卡耐基梅隆大学教授了6年计算机科学课程,1982年进 入贝尔实验室。2001年退休后加入了现在的Avaya实验室,他还曾作为访问学者在西点军校和普林斯顿大学工作。他的研究领域包括编程技术、算法设计、软件工具和界面设计等等。

他写作过三本编程书籍,其中最著名的就是涵盖从算法理论到软件工程各种主题的Programming Pearls(《编程珠玑》),这其实是他发表过的文章的合集。在这些文章里,Jon从工程实现的角度出发,为程序员们提供了一个个艰难问题的解决方案, 犹如一颗颗闪闪发亮的珍珠。Bentley的珍珠超出了可靠工程学的范畴,利用他的洞察力和创造力为那些恼人的问题提供了独特而巧妙的解决方案。


8、Pascal之父——Nicklaus Wirth

如果说有一个人因为一句话而得到了图灵奖,那么这个人应该就是NicklausWirth,这句话就是他提出的著名公式“算法+数据结构=程序”。这个公式对计算机科学的影响程度足以类似物理学中爱因斯坦的“E=MC^2”——一个 公式展示出了程序的本质。

Nicklaus Wirth,1934年出生于瑞士,1963年在加州大学伯克利分校取得博士学位。取得博士学位后直接被以高门槛著称的斯坦福大学聘到刚成立的计算机科学 系工作。在斯坦福大学成功的开发出Algol W以及PL360后,爱国心极强的Nicklaus Wirth于1967年回到祖国瑞士,第二年在他的母校苏黎世工学院他创建与实现了Pascal语言——当时世界上最受欢迎的语言之一。后来他的学生 Philipe Kahn毕业后和Anders Hejlsberg(Delphi之父)创办了Borland公司靠Turbo Pascal起家,很快成为了将Borland发展成为全球最大的开发工作厂商,这一切都不得不说要归工于PASCAL语言的魅力。PASCAL已经影响 了整整几代的程序员,Nicklaus Wirth的思想还将会继续指引现在和以后的程序员前进的方向。


9、算法的讲解者——Robert Sedgewick

是普林斯顿大学的计算机科学教授。他还是Adobe Systems的一名主管,也曾作为访问学者在Xerox PARC、IDA和INRIA工作。他在斯坦福大学获得博士学位。他的著作包括Algorithm in C、Algorithm in C++、Algorithm in Java等系列书籍,这些都再版多次。“没有人能够将算法和数据结构解释得比Robert Sedgewick更清楚易懂了!”很多读过他著作的程序员这样说。

目前Robert正在研究算法设计、数据结构、算法分析等方面的基础理论。他善于通过数学方法评估和预测算法性能,设法发现算法、数据结构的通用机制,例如使用逼近方法寻找更快速更高效的算法。另外,他还将算法和图形学结合 起来,例如使用可视化方法评估算法效率,算法的图形化模拟,用于出版物的高质量算法表现方法等等。


10、计算机领域的爵士——Tony Hoare

1934年出生于英国,1959年博士毕业于俄罗斯莫斯科国立大学,获得语言机器翻译专业学士学位。1960年发布了使他闻名于世的快速排序算法(Quick Sort),这个算法也是当前世界上使用最广泛的算法之一。

Tony Hoare在取得博士学位后,就职于Elliott Brothers,领导了Algol 60第一个商用编译器的设计与开发,由于其出色的成绩,最终成为该公司首席科学家。从1977年开始,Tony Hoare博士任职于牛津大学,投身于计算系统的精确性的研究、设计及开发。因其对Algol 60程序设计语言理论、互动式系统及APL的贡献,1980年被美国计算机协会授予“图灵奖”。

1999年在牛津大学退学后,Tony Hoare博士被微软剑桥研究院聘请担任高级程序员,从事微软剑桥研究院研究生成果的工业化应用的工作,以及协助其它研究人员进行服务于软件产业及用户的长期基础研究项目。2000年因为其在计算机科学与教育上做出的贡献被封为爵士。


站长推荐

1.云服务推荐: 国内主流云服务商,各类云产品的最新活动,优惠券领取。地址:阿里云腾讯云华为云

2.广告联盟: 整理了目前主流的广告联盟平台,如果你有流量,可以作为参考选择适合你的平台点击进入

链接: http://www.fly63.com/article/detial/9558

关闭

js实现斐波那契数列的几种方式

斐波那契指的是这样一个数列:1、1、2、3、5、8、13、21、34......在数学上,斐波纳契数列以如下被以递归的方法定义:F(1)=1,F(2)=1, F(n)=F(n-1)+F(n-2)(n>=2,n∈N*);随着数列项数的增加,前一项与后一项之比越来越逼近黄金分割的数值0.6180339887..…

Js实现首字母大写

一小段字母文本可以手动输入进行字母大小写的改变,如果是一大段文本只好借助程序来实现,中字母大小写转换是基本功能。 返回一个字符串,确保字符串的每个单词首字母都大写,其余部分小写

简单理解梯度下降算法及js实现

看了很多文章,梯度下降算法描述都比较艰涩难懂,比如说: 目标函数f(θ)关于参数θ的梯度将是损失函数(loss function)上升最快的方向。然后会推导出下面这个公式。

Js回文算法

如果给定的字符串是回文,返回true,反之,返回false。palindrome(回文)是指一个字符串忽略标点符号、大小写和空格,正着读和反着读一模一样。

React 中 Virtual DOM 与 Diffing 算法的关系

Virtual DOM 是一种编程理念。UI 信息被特定语言描述并保存到内存中,再通过特定的库,例如 ReactDOM 与真实的 DOM 同步信息。这一过程成为 协调 (Reconciliation)。上述只是 协调算法

RSA 背后的算法

随着科技发展,计算能力越来越强,特别是量子计算的兴起,我们对超大质数的位数要求也越来越高,512 bit 的 RSA 已经被破解,而 1024 bit 也已经摇摇欲坠,现阶段 2048 bit 长度还是安全的,可是未来,谁又知道呢?

从js讲解时间复杂度和空间复杂度

今天有同事在检查代码的时候,由于函数写的性能不是很好,被打回去重构了,细思极恐,今天和大家分享一篇用js讲解的时间复杂度和空间复杂度的博客;复杂度的表示方式之前有看过的,你可能会看到这么一串东西

JavaScript字符串压缩_js实现字符串压缩

设计一种方法,通过给重复字符计数来进行基本的字符串压缩。例如,字符串 aabcccccaaa 可压缩为 a2b1c5a3 。而如果压缩后的字符数不小于原始的字符数,则返回原始的字符串。 可以假设字符串仅包括a-z的字母

迭代算法

迭代法也称辗转法,是一种不断用变量的旧值递推新值的过程,在解决问题时总是重复利用一种方法。与迭代法相对应的是直接法(或者称为一次解法),即一次性解决问题

js算法_奇偶分割数组

分割一个整数数组,使得奇数在前偶数在后。 比如:给定 [1, 2, 3, 4],返回 [1, 3, 2, 4]。思路分析:排序好的数组:找到奇数进行操作。乱序的数组:使用sort方法进行排序+提取奇数

点击更多...

内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权或违规,请与小编联系!情况属实本人将予以删除!