搜索
高级检索
高级搜索
书       名 :
著       者 :
出  版  社 :
I  S  B  N:
文献来源:
出版时间 :
算法:C语言实现.第5部分,图算法.Part 5,Graph algorithms
0.00    
图书来源: 浙江图书馆(由图书馆配书)
  • 配送范围:
    全国(除港澳台地区)
  • ISBN:
    9787111285052
  • 作      者:
    (美)Robert Sedgewick著
  • 出 版 社 :
    机械工业出版社
  • 出版日期:
    2010
收藏
编辑推荐
  本书是Sedgewick彻底修订和重写的C算法系列的第二本,集中讲解图算法。全书共有6章 (第17~22章)。第17章详细讨论图性质和类型,第18~22章分别讲解图搜索、有向图和DAG、最小生成树、最短路径以及网络流。
  书中提供了用C语言描述的完整算法源程序,并且配有丰富的插图和练习。作者用简洁的实现将理论和实践成功地结合了起来,这些实现均可在真实应用上测试,使得本书自问世以来备受程序员的欢迎。
  本书可作为高等院校计算机相关专业算法与数据结构课程的教材和补充读物,也可供自学之用。
展开
作者简介
  Robed Sedgewick,拥有斯坦福大学博士学位(导师为Donald E. Knuth),昔林斯顿大学计算机科学系教授,Adobe Systems公司董事,曾是XeroxPARC的研究人员,还曾就职于美国国防部防御分析研究所以及INRIA。除本书外,他还与Philippe Flajolet合著了《算法分析导论》一书
展开
内容介绍
  《算法:C语言实现(第5部分)图算法(原书第3版)》是深入论述算法的三卷本教程《算法:C语言实现》(第3版)中的第二卷——图算法。作者在这次修订中重写了许多内容,增加了数千个新练习、数百个新图表、数十个新程序,并对图表和程序做了详尽的注释说明。新版中不仅涵盖了新的主题,而且还提供了对许多经典算法的更充分的解释,包括图的性质、图搜索、有向图、最小生成树、最短路径和网。《算法:C语言实现(第5部分)图算法(原书第3版)》涵盖了足够的基本内容及较详细的图算法高级主题,既可单独用作数据结构与算法课程的教材,也可与第一卷(第1~4部分)结合使用。
  《算法:C语言实现(第5部分)图算法(原书第3版)》适合高等院校计算机专业师生参考,也可供软件开发人员参考。
  《算法:C语言实现(第5部分)图算法(原书第3版)》是Sedgewick彻底修订和重写的C算法系列的第二本,集中讲解图算法。全书共有6章 (第17~22章)。第17章详细讨论图性质和类型,第18~22章分别讲解图搜索、有向图和DAG、最小生成树、最短路径以及网络流。
  书中提供了用C语言描述的完整算法源程序,并且配有丰富的插图和练习。作者用简洁的实现将理论和实践成功地结合了起来,这些实现均可在真实应用上测试,使得《算法:C语言实现(第5部分)图算法(原书第3版)》自问世以来备受程序员的欢迎。
  《算法:C语言实现(第5部分)图算法(原书第3版)》可作为高等院校计算机相关专业算法与数据结构课程的教材和补充读物,也可供自学之用。
  《算法:C语言实现(第5部分)图算法(原书第3版)》作者的网站http://www.cs.princeton.edu/~rs/为程序员提供了《算法:C语言实现(第5部分)图算法(原书第3版)》的源代码和勘误表。
展开
精彩书评
  对于在数学分析方面不算熟练且需要留意理论算法的普通程序员来说,本书是一本可读性很强的优秀读本。他们应该会从中获益良多。
  ——Steve Summit,《C Programming FAQs》的作者
  Sedgewick有一种真正的天赋,可以用易于理解的方式来解释概念。书中采用了一些易懂的实战程序,其篇幅仅有一页左右,这更是锦上添花。而书中大量采用的图、程序、表格也会极大帮助读者的学习和理解,这使本书更显得与众不同。
  ——William A. Ward,南亚拉巴马大学
展开
精彩书摘
  我们讨论的很多算法可以很容易改造为本节所讨论的所有变型算法,因为它们是以几种高级抽象操作为基础的,如“对于与顶点V邻接的每条边执行如下操作。”实际上,我们考虑的某些程序只在这种抽象操作的实现方法上有所不同而已。
  为什么不能在更高级的抽象开发这些算法,然后讨论表示数据和实现相关操作的不同选项呢?就像我们在本书中的很多实例中所做的那样。这个问题的答案并不是一句话就能说清楚的。对于稀疏图常选择用邻接表,对于稠密图常选择用邻接矩阵,这些选择我们很清楚。在主要实现中,我们会直接选择这两种特殊表示中的其中一种,因为使用低级表示的代码中,算法的性能特征非常清晰,而且比起那些利用高级抽象编写的代码,该代码一般而言不难读懂和理解。
  在某些实例中,算法设计决策依赖于表示的某些性质。在一个更高的抽象级上处理,可能使我们不了解这种依赖性的相关知识。如果我们知道某种表示将导致很差的性能,而另一种表示不会,在不适当的抽象级考虑算法时,就会存在不必要的风险。如常,我们的目标是精细实现,从而可以对性能做出准确的说明。
  使用严格的抽象方法可以解决这些问题,我们建立算法中需要的抽象操作的抽象层次。添加一个ADT操作来测试一条边的存在性是一个例子(见练习17.1 9),我们还能建立与表示无关的代码,来处理与给定顶点邻接的每个顶点(见练习17.6 0)。在很多情况下,这样的方法很有意义。然而,在本书中,我们关注的是在稠密图上使用直接访问邻接矩阵的代码和在稀疏图上直接访问邻接表的代码的性能,并增大数据结构以适合所处理的任务。
  到目前为止我们所讨论的所有操作是简单的而又必要的数据处理函数;本节要讨论的是第1—3部分的基本算法和数据结构对于处理这些函数是有效的。当开发更复杂的图处理算法时,我们在找出特定实际问题的最佳实现时面临更困难的挑战。为了说明这一点,考虑表17.1 中的最后一行,其中给出了确定两个给定顶点是否存在一条路径的开销。
展开
目录
出版者的话
译者序
中文版序
前言
第五部分 图算法

第17章 图的性质及类型
17.1 术语
17.2 图的ADT
17.3 邻接矩阵表示
17.4 邻接表表示
17.5 变量、扩展和开销
17.6 图生成器
17.7 简单路径、欧拉路径和哈密顿路径
17.8 图处理问题

第18章 图搜索
18.1 探索迷宫
18.2 深度优先搜索
18.3 图搜索ADT函数
18.4 DFS森林的性质
18.5 DFS算法
18.6 可分离性和双连通性
18.7 广度优先搜索
18.8 广义图搜索
18.9 图算法分析

第19章 有向图和有向无环图
19.1 术语和游戏规则
19.2 有向图中的DFS剖析
19.3 可达性和传递闭包
19.4 等价关系和偏序
19.5 有向无环图
19.6 拓扑排序
19.7 有向无环图中的可达性
19.8 有向图中的强连通分量
19.9 再论传递闭包
19.10 展望

第20章 最小生成树
20.1 表示
20.2 MST算法的基本原理
20.3 Prim算法和优先级优先搜索
20.4 Kruskal算法
20.5 Boruvka算法
20.6 比较与改进
20.7 欧几里得MST

第21章 最短路径
21.1 基本原理
21.2 Dijkstra算法
21.3 所有对最短路径
21.4 无环网中的最短路径
21.5 欧几里得网
21.6 归约
21.7 负权值
21.8 展望

第22章 网络流
22.1 流网络
22.2 增大路径最大流算法
22.3 预流-推进最大流算法
22.4 最大流归约
22.5 最小成本流
22.6 网络单纯形算法
22.7 最小成本流归约
22.8 展望
第五部分 参考文献
展开
加入书架成功!
收藏图书成功!
我知道了(3)
发表书评
读者登录

请选择您读者所在的图书馆

选择图书馆
浙江图书馆
点击获取验证码
登录
没有读者证?在线办证