0
点赞
收藏
分享

微信扫一扫

既熟悉又陌生的“迪杰斯特拉”


       最近看一些专业课的书籍,在不同的书本上看到了Dijkstra(迪杰斯特拉)这个名字;可以毫不夸张地说,凡是学信息相关专业的学生都应该听说过他的名字(课堂上曾提到的“迪杰斯特拉算法”就是他提出来的,在考试中也经常遇到)。但是,除了这个之外,大家对他的了解应该是很少的,所以,我认为他是我们“最熟悉的陌生人”。对于这位“陌生人”,我深感好奇,于是上网查找了一些有关这位计算机科学家的资料。在此,与大家分享,也算是对这位大师的贡献表示认可吧。

    首先说一下他出现在我们课本上的哪些地方。第一,在《计算机网络》(谢希仁编著,第五版)教材的第152页出现了Dijkstra提出的“最短路径算法SPF”,不过,在此作者没有详细介绍该算法,而是在本书配套的光盘中进行了详述;第二,在《算法设计与分析》(陈慧南编著)教材的第124页出现了Dijkstra提出的单元最短路径算法—“迪杰斯特拉算法”,在此作者详细介绍了此算法,其主要思想是用“贪心法”来求最短路径;第三,在《操作系统教程》(黄刚、徐小龙、段卫华编著)教材的第76页,出现了Dijkstra提出的信号量与P、V操作机制,为在操作系统中进行并发进程的分析奠定了基础。

      看来,Dijkstra是经常与大家“见面”,并且也被经常放在了考卷中,我想大家对他可能是又爱又恨吧。

      同时我也上网搜了一下有关他的资料,以下作简要的说明。

       Dijkstra全名为Edsger Wybe Dijkstra(1930/5/11~2002/8/6),是荷兰人。他是20世纪最伟大的计算机科学家之一,曾获1972年图灵奖,与D. E. Knuth(高唐纳)并称为20世纪最伟大的计算机科学家。他的主要贡献有如下几个方面:1)提出“goto有害论”;2)提出信号量和PV原语;3)解决了有趣的“哲学家聚餐”问题;4)最短路径算法(SPF)的创造者;5)第一个Algol 60编译器的设计者和实现者;6)THE操作系统的设计者和开发者。可以看出,他的一生对计算机科学的贡献极大,值得我们学习。

      我国著名计算机专家王选院士在Dijkstra逝世后,发表了一篇文章《从Dijkstra谈帅才的洞察力》来纪念这位大师。在文中,王选院士缅怀了先驱Dijkstra的历史功绩,并对中国计算机产业的发展提出了看法。Dijkstra被西方学术界称为“结构程序设计之父”和“先知先觉”,他一生致力于把程序设计发展成一门科学。王选院士对Dijkstra的洞察力(Vision和Insight)很是敬佩,并举了几个例子来说明。例如,他解决编译系统中的关键问题,提出了同步进程的协调和操作系统的结构,论证了“GoTo语句有害“和结构程序设计等。同时,Dijkstra实践了“吾爱吾师,但吾更爱真理”这句话,为了坚持真理,他不惜反对恩师。这体现了一个科学家的基本素质,那就是不惧权威,真理为上。他的一些名言警句至今也很有现实意义,如:“有效的程序员不应该浪费很多时间用于程序调试,他们应该一开始就不要把故障引入。”以及“程序测试是表明存在故障的非常有效的方法,但对于证明没有故障,调试是很无能为力的。”等。

    

    

既熟悉又陌生的“迪杰斯特拉”_读书

举报

相关推荐

0 条评论