Dilkstra全名为Edfger Wybe Dijkstra,曾在1972因年获得计算机领域最高荣誉图灵奖。

现在我们来回顾一下顺便复习一下他最有名的迪杰斯特拉算法。
for(int i=1;i<n;i++){ min=inf; for(int j=1;j
if(book[j]==0&&dis[j]
min=dis[j]; rec=j; } } book[rec]=1; for(int k=1;k
if(book[k]==0&&a[rec][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能够洞穿其发展大胆预测,致力于理论和应用的研究,其远见与智慧不得不令人惊叹,而且他对计算机的执着和他自身的人格魅力,也令我们折服。
发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/177263.html原文链接:https://javaforall.net
