编辑推荐
开发健壮的软件需要高效的算法。
内容简介
程序员们往往直至问题发生之时,才会去求助于算法。本书讲解了许多现有的算法,可用于解决各种问题。通过阅读它,可以使您学会如何选择和实现正确的算法,来达成自己的目标。另外,书中的数学深浅适中,足够使您可以了解并分析算法的性能。较之理论而言,本书更专注于应用。本书提供了高效的代码解决方案,使用多种语言进行编写,让您可以轻松地将其应用于特定的工程当中。
作者简介
作者George T. Heineman,伍斯特理工学院计算机科学系的一名副教授,专注于软件工程方面的研究。他还参与编写了一本论述基于组件的软件工程方面的书:《Putting the Pieces Together》,由Addision-Wesley于2001年出版。George是2005年国际组件软件工程研讨会的议程主席。
章节目录
版权信息
O'Reilly Media,Inc.介绍
译者序
前言
原则:使用实际代码,而不是伪代码
原则:将算法和将要解决的问题分开
原则:仅仅讲述足够的数学
原则:用经验来支持数学分析
目标读者
本书组织方式
本书体例
代码使用说明
联系我们
致谢
参考文献
第一部分
第1章 算法真的很重要
理解问题
如果需要,尽可能用实践检验
解决问题的算法
花絮
故事的寓意
参考文献
第2章 算法的数学原理
问题样本的规模
函数的增长率
最好最坏和平均情况下的性能分析
性能指标
混合操作
基准测试
最后一点
参考文献
第3章 模式和领域
模式:一种交流语言
算法模式的格式
伪代码模式的格式
设计格式
基于经验的评价格式
领域和算法
浮点计算
手动内存分配
选择一门编程语言
参考文献
第二部分
第4章 排序算法
概述
插入排序
中值排序
快速排序
选择排序
堆排序
计数排序
选择排序算法的标准
参考文献
第5章 查找
概述
顺序查找
二分查找
基于散列的查找
二叉查找树
参考文献
第6章 图算法
概述
深度优先搜索
广度优先搜索
单源最短路径
所有点对最短路径
最小生成树算法
参考文献
第7章 人工智能中的寻路
概述
深度优先搜索
广度优先搜索
A*搜索
比较
Minimax
NegMax
AlphaBeta
参考文献
第8章 网络流算法
概述
最大流
二部图匹配
在增广路上的深入思考
最小开销流
转运问题
运输问题
任务分配问题
线性编程
参考文献
第9章 计算几何
概述
凸包扫描
线段扫描
最近点查询
范围查询
参考文献
第三部分
第10章 最后的招数
另类算法
近似算法
离线算法
并行算法
随机算法
结果可能出错却可以衰减错误率的算法
参考文献
第11章 尾声
概述
原则:了解数据
原则:将问题分解至更小的问题
原则:选择正确的数据结构
原则:空间换时间
原则:如果没有显而易见的解法,使用搜索
原则:如果没有显而易见的解法,将问题归约为另一个有解的问题
原则:编写算法难,测试算法更难
第四部分
附录 基准测试
统计基础
硬件
例子
Java基准测试解决方案
Linux基准测试解决方案
Scheme基准测试解决方案
报告
精度
作者简介
封面介绍
算法技术手册是2010年由机械工业出版社华章分社出版,作者[美] George T. Heineman。
得书感谢您对《算法技术手册》关注和支持,如本书内容有不良信息或侵权等情形的,请联系本网站。