弗洛伊德算法是谁提出的,弗洛伊德最著名的理论

算法对于我们的世界是多么重要。自计算机科学诞生之日起,关于算法的研究就一直是一个核心话题。

现代计算机科学中充满了各种各样的算法,许多图灵奖得主也正是因提出的各种经典算法而闻名于世。例如:

  • 提出单源最短路径算法的迪可斯特朗(Edsger Dijkstra,1972年图灵奖得主)
  • 提出字符串匹配算法的高德纳(Donald Knuth,1974年图灵奖得主)
  • 提出多源最短路径算法的弗洛伊德(Robert Floyd,1978年图灵奖得主
  • 提出快速排序算法的霍尔(Antony Hoare,1980年图灵奖得主)
  • ……

弗洛伊德算法是谁提出的,弗洛伊德最著名的理论

这其中不得不提一个人——高德纳,他是最年轻的图灵奖得主纪录保持者(获奖时年仅36岁),以计算机算法设计与分析领域经典巨著The Art of Computer Programming(《计算机程序设计艺术》)而广为人知。

弗洛伊德算法是谁提出的,弗洛伊德最著名的理论

弗洛伊德算法是谁提出的,弗洛伊德最著名的理论

作为导师,高德纳一生共指导过28位博士生,而其中一位就是名满江湖的算法宝红书Algorithms (4th edition)作者罗伯特·塞奇威克(Robert Sedgewick)。

弗洛伊德算法是谁提出的,弗洛伊德最著名的理论

塞奇威克曾经是普林斯顿大学计算机科学系的创立者暨首任系主任,他同时还是著名的Adobe公司的董事。作为一位世界知名的计算机科学家,塞奇威克于1997年当选ACM(Association for Computing Machinery,国际计算机学会)院士,并因从“对称二叉树”中导出了红黑树而享誉计算机界。

弗洛伊德算法是谁提出的,弗洛伊德最著名的理论

塞奇威克与挚友费利佩·弗拉若莱(Philippe Flajolet,被称为“分析组合学之父”)曾合作撰写过数本算法分析领域的著作,其中就包括这部在全世界范围内广泛流传的经典之作An Introduction to the Analysis of Algorithms(《算法分析导论》)。

弗洛伊德算法是谁提出的,弗洛伊德最著名的理论

算法分析的概念其实既不晦涩也不复杂,本书全面系统地介绍了算法分析中需要使用的基本技术,所涉及的内容既来自包括离散数学、组合数学、概率论等在内的经典数学问题,也有来自算法及数据结构等计算机科学问题。像递归、母函数、树形结构、字符串、映射以及散列等算法分析话题均有讨论。可以说本书是一本研究算法分析的权威之作。

作为行业代表著作,高德纳大师在此书的序言中称赞道:

“Sedgewick和Flajolet不仅是算法分析领域的专家,同时也是算法分析的布道大师。我坚信,这本书会让每一位细细品读的计算机研究人员从中获益。”

可惜,天妒英才,2011年3月,休假期间的塞奇威克惊悉多年的老友弗拉若莱突然离世。悲痛万分的塞奇威克怀着对逝者的无限缅怀写了感人至深的悼词:“弗拉若莱的离世意味着很多秘密再也无法揭开。但他给世人留下了很多追随他脚步的继承者,他们可再续他的数学梦想。”在这样的背景下,塞奇威克以极大的热情投入工作,历经数百个日夜,终于在2012年10月将本书的第2版付梓。

弗洛伊德算法是谁提出的,弗洛伊德最著名的理论

第 2 版不仅对书中图片和代码进行了更新,还补充了新章节。塞奇威克坚信弗拉若莱的精神会在后来人的工作中得到永生,进而希冀本书读者能够循着弗拉若莱的脚步,继续追求他的数学梦想。

如今本书中文版《算法分析导论(第2版)》已出版上市,全书共 9 章,第 1 章是导论;第 2~5 章介绍数学方法;第 6~9 章介绍组合结构及其在算法分析中的应用。除每章包含的大量习题以及参考文献外,本书还特设配套免费学习网站,为读者提供了很多关于算法分析的补充材料,包括课件和相关网站的链接,帮助读者提高学习兴趣,完成更深入的学习,感兴趣的读者。

弗洛伊德算法是谁提出的,弗洛伊德最著名的理论

  • 算法分析是推动现代计算基础技术发展的重要力量,本书囊括众多算法分析的应用实例。
  • 无数人对从数学角度分析算法产生兴趣,但很难学到相关方法和模型,本书完整介绍该领域主要技术和成果。
  • 作者既精通经典数学又熟谙计算机科学,看重用于算法性能预测的数学基础及从性能角度比较算法。
  • 天才般贯通与揭露数学世界的离散数学|分析组合学|实分析与计算机科学领域的算法|数据结构之奥义。

我们希望自图灵以来的算法研究能够在更宽阔的范围内,被更光大地发扬,尤其希望中国的计算机科研人员能够从本书中找到启迪研究工作的智慧。同时,也希望通过本书向神交已久的两位大师——弗拉若莱和塞奇威克送上最崇高的敬意。

— — 译者序

本文【弗洛伊德算法是谁提出的,弗洛伊德最著名的理论】由作者: C/S结构 提供,本站不拥有所有权,只提供储存服务,如有侵权,联系删除!
本文链接:https://www.cuoshuo.com/blog/4428.html

(0)
上一篇 2023-03-13 08:15:36
下一篇 2023-03-13 08:25:19

相关推荐

  • assert函数在哪个头文件_java断言assert函数

    理解和正确使用Java中的断言(assert) 一、语法形式: Java2在1.4中新增了一个关键字:assert。在程序开发过程中使用它创建一个断言(assertion),它的 语法形式有如下所示的两种形式: 1、assert condition; 这里condition是一个必须为真(true)的表达式。如果表达式的结果为true,那么断言为真,并且无任…

    2023-03-10
    400
  • linux服务器维护常用命令

    Linux是目前应用最广泛的服务器操作系统,基于Unix,开源免费,由于系统的稳定性和安全性,市场占有率很高,几乎成为程序代码运行的最佳系统环境。linux不仅可以长时间的运行我们编写的程序代码,还可以安装在各种计算机硬件设备中,如手机、路由器等,Android程序最底层就是运行在linux系统上的。 一、linux的目录结构 · bin (binaries…

    2023-03-08
    500
  • 句柄数不断增加怎么解决(句柄数一直增加有影响吗)

    问 MySQL 使用的文件句柄数 突然增加, 我们该如何诊断 实验 我们接着宽油起一个数据库: 翻倍法造表 a : 将 a 表造的大一点: 给 a 表追加一列: 再造个表 b : 让我们来下一个 SQL : 在 SQL 执行的过程中, 观察 MySQL 的文件句柄数, 发现文件句柄在不断上升: 现在我们来诊断 为什么 MySQL 的文件句柄数会上升. 我们动…

    2023-03-16
    100
  • 汇编语言指令由什么组成

    指令语句表编程语言是所有PLC都具有的最基本的编程语言。而指令语句表程序是由一条一条的指令堆砌而成的。因此,我们有必要对指令进行进一步的说明和解读。 1、指令格式 PLC的指令语句表程序和微机汇编语言程序非常的相似,我们也是以汇编语言的指令和指令系统方式来进行介绍。 所谓指令是指对PLC的一种操作命令,告诉PLC怎么做,做什么?人们设计了一系列的操作命令,并…

    2023-03-09
    500
  • webshellkill怎么使用

    本文经授权转载自“七夜安全博客”公众号 作者:七夜安全 前言 良好的习惯是人生产生复利的有力助手 最近一段时间,看了很多认知方面的书,对我的改变还是很大的。 之前看待事物总是看其一角,做技术也是囿于一面,思维不是很开阔,经过不断地看书,思考,认知慢慢有了 改变,获益良多。 作为技术人员,我的建议是不要总是看技术书籍或者一心研究技术,多看看哲学,认知,效率,商…

    2023-03-20
    000
  • 电脑核心和线程是什么

    不懂电脑的人买电脑可一定要谨慎,选电脑CPU时可绝对不能盲目,因为CPU是电脑的核心,这里的“核心”是指【控制核心】和【运算核心】。“控制”体现出CPU的处理性能“宽度”,而“运算”体现出CPU的处理“能力”,电脑性能优秀不优秀可以说完全体现在CPU硬件上,CPU性能优秀可以弥补其它硬件性能的不足,但其它硬件性能的优秀却弥补不了CPU性能的不足,那什么样的C…

    2023-03-09
    600
  • 什么是子目录什么是根目录

    1、Linux分区与Windows分区 Linux 系统不同于 Windows,没有 C 盘、D 盘、E 盘那么多的盘符,只有一个==根目录(/)==,所有的文件(资源)都存储在以==根目录(/)==为树根的==树形==目录结构中。 ·Windows: Linux: 2、Linux系统文件架构 在 Linux 根目录(/)下包含很多的子目录,称为一级目录。例…

    2023-03-19
    100
  • demo播放器的指令

    CSGO已经在越来越火,越来越多玩家开始登陆5E对战平台不断磨练自己,但想从新手变成高手可不是一蹴而就的,看Demo了解自己在比赛中的表现,从一个旁观者的角度学习其他玩家、职业选手在比赛中的动作以及各种细节都会对每位都十分有帮助,既然看Demo这么重要,小编当然也会手把手教会玩家如何看Demo的方法! 第一步:将DEMO文件放置在以下路径当文件夹中“x(cs…

    2023-03-14
    100
  • vb基础教程从入门到精通pdf,vb教程编程实例详解pdf

    应用实例: 给VB程序加菜单图标: 在VB里面加图标比较麻烦,你需要用到API函数进行调用,参数不好理解: 给菜单添加图标的API函数:GetMenu、GetSubMenu、GetMenuItemID、SetMenuItemBitmaps。 写代码前你要把ImageList控件放到窗体上,如果工具栏中找不到它,通过“工程”菜单下的“部件”进行添加: 将Ima…

    2023-03-16
    000
  • 内存使用率高会怎么样_内存到底影响什么

    用安卓系统的朋友会经常遇到手机开机后就占用了绝大多数系统内存的尴尬局面。 为了降低手机内存耗费,绞尽脑汁,习惯了是不久就优化一下,清理一下,结束下进程。是否想过一个问题,是我们做的不对还是手机本来就这样挺好呢? 重启了下手机,什么都没开,又优化了下,系统内存使用率还是在50%左右。 内存使用率高原因之一 安装了过多软件,开机自动启动。 很多软件安装后,都会默…

    2023-03-15
    100

发表回复

登录后才能评论
返回顶部
错说博客上线啦!