【有书】计算之魂吴军在哪看(计算之魂概述)

  • 【有书】计算之魂吴军在哪看(计算之魂概述)已关闭评论
  • A+
所属分类:书评社区
摘要

本站提供《【有书】计算之魂吴军在哪看(计算之魂概述)》电子书pdf,txt等格式下载,及内容介绍,关于《【有书】计算之魂吴军在哪看(计算之魂概述)》的下载地址可以通过百度云网盘等地址下载。电子书格式(PDF/TXT/MOBI/EPUB/AZW3/Kindle)电子书本站提供下载。

领500g书库,关注公众号:程叫兽的宝藏 (长按可复制!)

关注我

热门下载区==>点此链接进入<<<

本文节选自《计算之魂吴军》电子版:

/第5章//工具与算法一一图论及应用//|字|生于村和让人~本人es1国[|机上]|ed|ee|21|C1CC图5.15两个字符串编辑距离最小的对应方式TeTTTelnilani在一张有向的网格图中,从左下角(相当于对应于坐标系的原点)到右上角的路径数是拼写长度的指数函数,具体讲是我们前面讲过的卡特兰数。因此从中挑选一个最短的路径并非易事。所幸的是,有一种动态规划的算法,可以将这个指数复杂度的问题变成线性复杂度的问题。为了让算法具有普遍性,我们用一个普通的有向图G=(玉Bosj)来说明,如图5.16所示。同时为了简单起见,我们假定有向边的权重都是正实数。图5.16一张具有权重的有向图如果我们要寻找从起点$到终点E的最短路径,不妨先倒过来想这个问题:假定已经找到了最短路径,即图中虚线和双线构成的路径,我们称之为路径1,如果它经过Y节点,那么在这条路径上,从S$到Y的部分,也就是虚线的子路径PS,7),必然是所有从S到Y路径中最短的。为什么这么说呢?因为假定还存在从S到Y更短的路径比如图中点画线的那条子路径Q(S,7),那么只要用子路径Q代替了,就可以和原来路径中

计算之魂吴军在哪看

的剩余部分R(YB)形成一条从$到E经过Y更短的路径,我们称之为路径2。这就和我们讲的路径1是S到E经过Y的最短路径相矛盾了。了矛盾的根源在于,我们所假设的子路径Q比子路径P短是错误的。185//计算之魂于最短路径有这样的性质,我们就可以将一个“寻找全程最短路径”的问题,分解成一个个寻找局部最短路径的小问题,然后用递归的方式加以解决。比如要寻找从S到Y的最短路径,我们可以假定从$到YY上一级的节点X1、X2和X3的最短路径已经找到了,它们是P(S,XU)、P(S,X2)和P(S,X1),对应的长度是LI、L2和L3。然后比较一下这三个数值:LI+10、L2+7和L3+7,看看哪一个最小。最小的那个就指示出从S到Y的最短路径。具体到路径最短。至于从起点到节点XI1、X2和X3的最短路径,也可以用上述方法递归算法5.1动态规划(Dijkstra算法)得到。有了这个递归算法,我们可以一层层地从终点E往起点$倒推,就能找到从S到了的最短路径。当然在计算机工程中,我们会把这个算法倒过来实现,恒5.16,显然是经过XI到Y的体描述如下。步又1,先算出起点S到与它相邻的所有

计算之魂pdf 下载

节点的最短路径,也就;是从S到这些节点的距离。然后把这些节点连同s放到一个集合中,我们称之为厂(有些书中也把超点放在单独的一个集合矶中)。步骤2,拷到从万能够直接到达的节点,算出从s到那些节点的最短距离,然后把新的一批节点,连同原来广中的节点,放到新的集合太中。步又3,用类似的方法得到和节点集合太相邻的各个节点的最短路径,然后形成新直到起点S到终点E的最短路径被找到为止。上述算法被称为Dijkstra算法,它的正确性有严格的证明。该算法是由荷兰科学家埃格斯格"迪克斯特拉(EdsgerW,Dijksta,又译作艾效格。迪科斯彻)在1956年提出的,当时他只有26岁。1972年,迪克斯特拉因此获得了在于,它将原本的一个指数复杂度的问题,变成了一个平方复杂度的问题,因的复杂度只有OU4HH印,其中|也是图中节点的数目图灵奖。Dijkstra算法了不起的地方为该算法,因是图中边的数目。比如,前面计算两个拼写的编辑距离的例子,采用Dijkstra算法也就是百十来次的运算,而如果采用枚举各种路径的方法,需要运算上亿次。Dijkstra算法的伪代码参见本章的附录三。186

计算之魂主要内容简介

吴军 计算之魂 mobi 计算之魂思维导图
计算之魂 吴军 pdf 吴军的计算之魂读后感
计算之魂解析 吴军 计算之魂

【有书】计算之魂吴军在哪看(计算之魂概述)

《计算之魂吴军》下载

综上:计算之魂概述值得推荐阅读。