算法设计、分析与实现

出版时间:2012-10  出版社:人民邮电出版社  作者:徐子珊  页数:454  字数:995000  
Tag标签:无  

内容概要

  《算法设计、分析与实现:C、C++和Java》第1章~第6章按算法设计技巧分成渐增型算法、分治算法、动态规划算法、贪婪算法、回溯算法和图的搜索算法。每章针对一些经典问题给出解决问题的算法,并分析算法的时间复杂度。这样对于初学者来说,按照算法的设计方法划分,算法思想的阐述比较集中,有利于快速入门理解算法的精髓所在。一旦具备了算法设计的基本方法,按应用领域划分专题深入学习,读者可以结合已学的方法综合起来解决比较复杂的问题。本书第7章的线性规划和第8章的计算几何是综合算法部分,通过学习这些内容,读者将进一步地学习更前沿的随机算法、近似算法和并行算法等现代算法设计方法和实战技巧,第9章是算法的实践部分,教给读者如何进行调试。  
  《算法设计、分析与实现:C、C++和Java》特色是按照算法之间逻辑关系编排学习顺序,并对每一个经典算法,都给出了完整的C/C++/Java三种主流编程语言的实现程序,是一本既能让读者清晰、轻松地理解算法思想,又能让读者编程实现算法的实用书籍。建议读者对照本书在计算机上自己创建项目、文件,进行录入、调试程序等操作,从中体会算法思想的精髓,体验编程成功带来的乐趣。  《算法设计、分析与实现:C、C++和Java》适合各种学习算法的人员使用,也适合作为大中专院校的学习用书,及培训学校的教材。

作者简介

  徐子珊,毕业于复旦大学,国内有名的算法专家,长期从事算法的教学与研究

书籍目录

第1章 集腋成裘——渐增型算法 
1.1 算法设计与分析 
1.2 插入排序算法 
1.2.1 算法描述与分析 
1.2.2 程序实现 
1.2.3 应用——赢得舞伴 
1.3 两个有序序列的合并算法 
1.3.1 算法描述与分析 
1.3.2 程序实现 
1.4 序列的划分 
1.4.1 算法描述与分析 
1.4.2 程序实现 
1.5 小结 
第2章 化整为零——分治算法 
2.1 Hanoi塔问题与递归算法 
2.1.1 算法的描述与分析 
2.1.2 程序实现 
2.1.3 应用——新Hanoi塔游戏 
2.2 归并排序算法 
2.2.1 算法描述与分析 
2.2.2 程序实现 
2.2.3 应用——让舞伴更开心 
2.3 快速排序算法 
2.3.1 算法描述与分析 
2.3.2 程序实现 
2.4 堆的实现 
2.4.1 堆的概念及其创建 
2.4.2 程序实现 
2.5 堆排序 
2.5.1 算法描述与分析 
2.5.2 程序实现 
2.6 基于二叉堆的优先队列 
2.6.1 算法描述与分析 
2.6.2 程序实现 
2.7 关于排序算法 
2.7.1 比较型排序算法的时间复杂度 
2.7.2 C/C++/Java提供的排序函数(方法) 
2.7.3 应用——环法自行车赛 
2.8 小结 
第3章 记表备查——动态规划算法 
3.1 矩阵链乘法 
3.1.1 算法描述与分析 
3.1.2 程序实现 
3.1.3 应用——牛牛玩牌 
3.2 最长公共子序列 
3.2.1 算法描述与分析 
3.2.2 程序实现 
3.2.3 算法的应用 
3.3 0-1背包问题 
3.3.1 算法描述与分析 
3.3.2 程序实现 
3.3.3 算法的应用 
3.4 带权有向图中任意两点间的最短路径 
3.4.1 算法描述与分析 
3.4.2 程序实现 
3.4.3 应用——牛牛聚会 
3.5 小结 
第4章 高效的选择——贪婪算法 
4.1 活动选择问题 
4.1.1 算法描述与分析 
4.1.2 程序实现 
4.1.3 贪婪算法与动态规划 
4.1.4 应用——海岸雷达 
4.2 Huffman编码 
4.2.1 算法描述与分析 
4.2.2 程序实现 
4.2.3 应用——R-叉Huffman树 
4.3 最小生成树 
4.3.1 算法描述与分析 
4.3.2 程序实现 
4.3.3 应用——北方通信网 
4.4 单源最短路径问题 
4.4.1 算法描述与分析 
4.4.2 程序实现 
4.4.3 应用——西气东送 
4.5 小结 
第5章 艰苦卓绝——回溯算法 
5.1 组合问题与回溯算法 
5.1.1 3-着色问题 
5.1.2 n-皇后问题 
5.1.3 Hamilton回路问题 
5.1.4 子集和问题 
5.2 解决组合问题的回溯算法框架 
5.2.1 算法框架 
5.2.2 程序实现 
5.3 排列树和子集树 
5.3.1 子集树问题 
5.3.2 排列树问题 
5.4 用回溯算法解决组合优化问题 
5.4.1 算法框架 
5.4.2 旅行商问题 
5.4.3 应用 
5.5 P、NP和NP-完全问题 
5.6 小结 
第6章 图的搜索算法 
6.1 广度优先搜索 
6.1.1 算法描述与分析 
6.1.2 程序实现 
6.1.3 应用——攻城掠地 
6.2 深度优先搜索 
6.2.1 算法描述与分析 
6.2.2 程序实现 
6.2.3 有向无圈图的拓扑排序 
6.2.4 应用——全排序 
6.3 有向图的强连通分支 
6.3.1 算法描述与分析 
6.3.2 程序实现 
6.3.3 应用——亲情号 
6.4 无向图的双连通分支 
6.4.1 算法描述与分析 
6.4.2 程序实现 
6.4.3 应用——雌雄大盗 
6.5 流网络与最大流问题 
6.5.1 算法描述与分析 
6.5.2 程序实现 
6.5.3 应用 
6.6 小结 
第7章 集组合优化问题之大成——线性规划 
7.1 标准形式与松弛形式 
7.1.1 线性规划的标准形式 
7.1.2 线性规划的松弛形式 
7.2 单纯形算法 
7.2.1 单纯形算法的例子 
7.2.2 轴转操作 
7.2.3 正规的单纯形算法 
7.3 初始基本可行解 
7.4 应用——将组合优化问题形式化为线性规划 
7.5 小结 
第8章 图形学基础——计算几何 
8.1 线段的性质 
8.1.1 叉积及其应用 
8.1.2 程序实现 
8.2 判断是否存在线段相交 
8.2.1 算法描述与分析 
8.2.2 程序实现 
8.3 求凸壳 
8.3.1 Graham扫描 
8.3.2 Jarvis行进 
8.4 求最邻近点对 
8.4.1 算法描述与分析 
8.4.2 程序实现 
8.5 应用 
8.5.1 光导管 
8.5.2 最小边界矩形 
8.5.3 得克萨斯一日游 
8.6 小结 
第9章 实验指南 
9.1 实验平台的搭建 
9.1.1 C、C++语言的实验平台 
9.1.2 Java语言的实验平台 
9.2 代码验证 
9.2.1 C语言代码验证 
9.2.2 C++语言代码验证 
9.2.3 Java语言代码验证 
9.3 自主实验 
9.3.1 C语言环境 
9.3.2 C++语言环境 
9.3.3 Java语言环境 
附录 
参考文献 

媒体关注与评论

本书不但给出了专业的算法解释,更给力的是给出了三种语言(C C++和Java)程序的实现,虽然我只用一种语言,但可见作者用功写书的精神,书的内容也很适合我初学者,值得推荐给大家

编辑推荐

《算法设计、分析与实现:C、C++和Java》是一本让读者轻松理解算法思想,实现算法编程的实用书籍详解渐增型算法、分治算法、动态规划算法、贪婪算法、回溯算法和图的搜索算法每种经典算法都介绍了C/C++/Java三种主流编程语言实现方法

图书封面

图书标签Tags

评论、评分、阅读与下载


    算法设计、分析与实现 PDF格式下载


用户评论 (总计21条)

 
 

  •   内容精炼,带光盘的教材,把最经典的C、C++、Java三种语言跟算法设计完美结合!
  •   各种算法都提供了几种语言的代码,虽然我不是从事编程的,但通过看伪代码,有时看看C的代码,感觉对算法的立即确实大有裨益。
  •   是一本关系数据结构的经典图书!对算法有着很详细的描述!
  •   有程序不错
  •   如果想要进阶的工程师们建议看看这本书
  •   看了后感觉受益良多,还不错,希望能运用到实战中。
  •   跟我们现在用的教材内容基本一致,解析挺清楚的
  •   不错的书 值得一看
  •   已经看完一本了,感觉书里面讲的很好,很多自己看原著没有注意的细节书里都有提到。书的质量也蛮不错的,值得收藏。
  •   书的质量好 送的快
  •   内容很全面 是我想要的内容
  •   帮朋友买的,质量送货速度给力
  •   很难,很难,很难
  •   算法什么的有程序实现还不错~基本算法比较全……
  •   虽然没有细看,但是创意不错,切入点不错,不是那种枯燥的讲算法
  •   看了一章比想象中深,知识点很基础,但是基础下展示一些较深的东西
  •   买了还没读,看着感觉路边摊的书都比这个纸质好
  •   不理会读者感受 就自己一个人自己说
  •   在微博上看到了书的介绍,C,C++,Java的实现值得看一下。最近需要加强内功修养,所以期待。。。
  •   三个语言的代码都有,学习性比较大
  •   书确实有点贵,等仔细看了才能知道好坏
 

250万本中文图书简介、评论、评分,PDF格式免费下载。 第一图书网 手机版

京ICP备13047387号-7