算法技术手册(原书第2版)

算法技术手册(原书第2版)

出版信息

George T. Heineman、Gary Pollice、Stanley Selkow / 杨晨、曹如进 / 机械工业出版社 / 2017-8-1 / 89.00元

内容简介

本书使用实际代码而非伪代码来描述算法,并以经验主导支撑数学分析,侧重于应用且规范严谨。本书提供了用多种程序设计语言实现的文档化的实际代码解决方案,还介绍了近40种核心算法,其中包括用于计算点集的Voronoi图的Fortune算法、归并排序、多线程快速排序、AVL平衡二叉树实现以及空间算法。

作者简介

George T. Heineman是伍斯特理工学院计算机科学系的一名副教授,专注于软件工程方面的研究。他还参与编写了一本论述基于组件的软件工程方面的书:《Putting the Pieces Together》,由Addision-Wesley于2001年出版。George是2005年国际组件软件工程研讨会的议程主席。

Gary Pollice自称是一个乖戾的人(其实就是一个顽固的、坏脾气的老人),在工业界花费了35年来探索他究竟希望成为什么。但是在2003年,他毅然决定以不成熟之身从工业界转移到学术的殿堂。在这里他可以用这样激进的话语影响下一代软件工程师的思想,“为你的客户开发软件”,“学会如何成为团队的一员”,“要思考软件设计、代码质量、优雅程度和正确度”和“只要你成为了牛人,那么即使成为书呆子也无所谓啦”。

Gary是伍斯特理工学院的一位实践教授(这是一个头衔,也就是说他在成为一名教授之前有一份真实的工作)。由于对一起工作数年的WPI的毕业生们印象非常好,所以决定来WPI做一名教授。他和妻子Vikki,以及两条狗Aloysius和Ignatius一起住在麻省中部。他一直在做和极客相关的事情。你可以通过他的WPI网页http://web.cs.wpi.edu/~gpollice/来了解他,还可以随意地给他留言,抱怨或者赞美本书。

Stanley Selkow,伍斯特理工学院计算机系的一名教授,于1965年在卡内基理工学院(现卡内基梅隆大学)获得电子电气工程学士学位,1970年在宾夕法尼亚大学获得电子电气工程博士学位。在1968年~1970年间,他在马里兰州贝塞斯达的国家卫生研究所从事公众健康服务相关的工作。自1970年,他先后在田纳西的诺克斯维尔和麻省的伍斯特从事教员工作,他也在蒙特利尔、重庆、洛桑和巴黎做过访问学者。他的主要研究领域是图论和算法设计。

目录

前言
第1章用算法的眼光去看问题
1.1理解问题
1.2简单解法
1.3高明做法
1.4总结
1.5参考文献
第2章算法的数学原理
2.1问题样本的规模
2.2函数的增长率
2.3最好、最坏和平均情况下的性能分析
2.4性能指标
2.5基准测试
2.6参考文献
第3章算法基础
3.1算法模板的格式
3.2伪代码模板的格式
3.3实验评估的格式
3.4浮点计算
3.5算法举例
3.6常用方法
3.7参考文献
第4章排序算法
4.1概述
4.2移位排序
4.3选择排序
4.4堆排序
4.5基于分区的排序算法
4.6不基于比较的排序算法
4.7桶排序
4.8使用额外存储空间的排序算法
4.9字符串基准测试结果
4.10分析技术
4.11参考文献
第5章搜索算法
5.1顺序搜索
5.2二分搜索
5.3散列搜索
5.4布隆过滤器
5.5 -叉搜索树
5.6参考文献
第6章图算法
6.1图
6.2深度优先搜索
613广度优先搜索
6.4单源顶点最短路径
6.5针对稠密图的Dijkstra算法
6.6比较单源顶点最短路径的各种方案
6.7所有点对最短路径
6.8最小生成树算法
6.9关于图的最后一些想法
6.10参考文献
第7章AI寻路
7.1博弈树
7.2寻路算法的概念
7.3 Minimax......
7.4 NegMax
7.5 AlphaBeta
7.6搜索树
7.7深度优先搜索
7.8广度优先搜索
7.9 A*搜索
7.10比较搜索树算法
7.11参考文献
第8章网络流算法
8.1网络流
8.2最大流
8.3二分图匹配
8.4对于增广路径的深入思考
8.5最小费用流
8.6转运问题
8.7运输问题
8.8任务分配问题
8.9线性规划
8.10参考文献
第9章计算几何
9.1问题类型
9.2凸包
9.3凸包扫描
9.4计算线段交点
9.5线段扫描
9.6 Voronoi图
9.7参考文献
第1 0章空间树结构
10.1最近邻查询
10.2范围查询
10.3交集查询
10.4空间树
10.5最近邻查询
10.6范围查询
10.7四叉树
10.8 R树
10.9参考文献
第1 1章新兴算法
11.1特定情形下的衍生算法
11.2近似算法
11.3并行算法
11.4概率算法
11.5参考文献
第1 2章尾声:算法原理
12.1了解数据
12.2将问题分解成更小的问题
12.3选择正确的数据结构
12.4空间换时间
12.5构造一个搜索
12.6将问题归约为另一个问题
12.7编写算法难,测试算法更难
12.8在可能的情况下接受近似解
12.9增加并行化以提升性能
附录A基准测试

本文地址:https://www.codercto.com/books/d/1120.html

HTML 编码/解码

HTML 编码/解码

HTML 编码/解码

Base64 编码/解码

Base64 编码/解码

Base64 编码/解码