荷兰计算机科学家Dijkstra
来源:互联网 发布:北京婚纱照 知乎 编辑:程序博客网 时间:2024/06/02 21:20
Dilkstra全名为Edfger Wybe Dijkstra,曾在1972因年获得计算机领域最高荣誉图灵奖。
大部分中国的程序员能记住这个名字,很大程度是因为学过图论里计算最短路径的Dijkstra算法,然而,大部分的人都难以记住其名字正确的拼写,因为他是荷兰人,名字不符合英文发音。
(我一般都叫他迪杰斯特拉,也不知对不对。。)
现在我们来回顾一下顺便复习一下他最有名的迪杰斯特拉算法。
for(int i=1;i<n;i++){ min=inf; for(int j=1;j<n;j++){ if(book[j]==0&&dis[j]<min){ min=dis[j]; rec=j; } } book[rec]=1; for(int k=1;k<n;k++){ if(book[k]==0&&a[rec][k]<inf&&dis[k]>dis[rec]+a[rec][k]){ dis[k]=dis[rec]+a[rec][k]; } }}
其算法核心我觉得是用贪心和松弛操作。
这个算法有个有趣的背景,在一台新的叫 ARMAC 的计算机发布之前,Dijkstra 需要想出一个可以让不懂数学的媒体和公众理解的问题,以便向他们展示。有一天他和未婚妻在阿姆斯特丹购物,他们停下来在一家咖啡店的阳台上喝咖啡休息,他开始思考这个问题。他觉得可以让计算机演示如何计算荷兰两个城市间的最短路径,这样问题和答案都容易被人理解。于是他在 20 分钟内想出了高效计算最短路径的方法。Dijkstra 自己也没有想到这个 20 分钟的发明会成为他最著名的成就之一,并且会被以他的名字命名为 Djikstra 算法。
虽然很多计算机软件都是Dijkstra发明的,但他却很少使用计算机,他一般只用来回复电子邮件和浏览网页。他也不用计算机写论文,他喜欢用万宝龙钢笔写论文和文章。
他一生中写了1300多篇文章,他用自己姓名的首字母 EWD 给他们编号:EWD 1, EWD 2, … EWD 1318。在计算机科学中,这些文章被统称为「EWD 报告」。
他的算法和文章大都让人感受到简洁、经济、优雅,或许这也与他的生活习惯和性格有一定的关系。
他贡献无数,致力于计算机理论的发展,在20世纪计算机科学的发展前途尚处在萌芽阶段,Dijkstra能够洞穿其发展大胆预测,致力于理论和应用的研究,其远见与智慧不得不令人惊叹,而且他对计算机的执着和他自身的人格魅力,也令我们折服。
- 荷兰计算机科学家Dijkstra
- 悼念伟大的计算机科学家Dijkstra
- [转]悼念伟大的计算机科学家Edsger Wybe Dijkstra
- 悼念伟大的计算机科学家Edsger Wybe Dijkstra
- [转] 悼念伟大的计算机科学家Edsger Wybe Dijkstra
- 计算机科学家的主页
- 荷兰科学家新发明的系统 可阅读人类思维
- 中国的几个计算机科学家
- 科学家发现古希腊2000年前的计算机
- 心目中的杰出计算机科学家zz
- 以色列科学家推出计算机整容软件
- 如何像计算机科学家一样思考
- 计算机科学家发明阿拉伯文编程语言
- <像计算机科学家一样思考>笔记
- 《像计算机科学家一样思考JAVA》书摘
- 计算机科学家常用的32个算法
- 计算机科学家常用的32个算法
- 像计算机科学家一样思考Python pdf
- Java String中常用方法
- Win10下Python的Opencv3的安装
- MVP 登录注册
- greenDAO对数据库操作的升级问题
- 抽象工厂
- 荷兰计算机科学家Dijkstra
- Weblogic 服务器如何支持https协议
- Java Jedis操作Redis示例(四)——Redis和Mysql的结合方案演进
- leetcode第一题,二数之和
- [NOIP模拟] Math
- bzoj1878 莫队
- 抽象工厂模式一个例子
- java第八天/10.21
- 黄金分割法-C语言