-
内容大纲
本书注重培养读者的算法设计与分析、问题求解的能力。本书读者需要掌握程序设计、数据结构等基础知识,并具备一定的编程能力。
本书以算法设计与分析为主线,通过问题和案例引入内容,重点讲解利用算法求解问题的思路、算法执行过程及能力拓展。本书主要介绍了算法基础、递归算法设计、蛮力法、分治法、回溯法、贪心法、分支限界法、动态规划、图算法设计等,讲解了背包问题、任务分配问题、批处理作业调度问题、最优装载问题、旅行商问题、计算几何等经典问题,并提供了能力拓展环节,引导读者开展算法应用实践。算法使用C语言程序、伪代码等形式加以描述,并用图解的形式详细描述算法的执行过程,使读者能够深入了解算法的运行过程和结果。
本书可作为本科院校算法设计与分析的教学用书,也可作为从事算法设计的科技人员、算法竞赛选手的参考书及培训教材。 -
作者介绍
-
目录
第1章 算法基础
1.1 算法概念
1.2 算法描述
1.3 算法主要类别及典型问题
1.3.1 递归法
1.3.2 递推法
1.3.3 穷举法
1.3.4 贪心算法
1.3.5 分治法
1.3.6 动态规划法
1.3.7 分支限界法
1.3.8 回溯法
1.4 算法复杂度
1.4.1 算法输入规模度量
1.4.2 算法运行时间的度量
1.4.3 渐进符号
1.4.4 算法复杂度分析
1.5 标准模板库
1.5.1 动态数组vector的使用
1.5.2 集合set的使用
1.5.3 映射map的使用
1.5.4 栈stack的使用
1.5.5 队列与优先队列的使用
1.5.6 排序sort的使用
习题
第2章 递归算法设计
2.1 概念
2.2 递归算法设计思想
2.3 递归算法示例与过程分析
2.3.1 全排列问题
2.3.2 逆波兰表达式
2.4 递归转换
2.4.1 递归转尾递归
2.4.2 递归转非递归
2.5 能力拓展
2.5.1 K数列
2.5.2 自关联树状数据
2.5.3 XML文件解析
习题
第3章 蛮力法
3.1 概述
3.2 蛮力法的主要设计思租
3.2.1 使用蛮力法的几种情况
3.2.2 蛮力法的求解步骤
3.3 蛮力法示例与分析
3.3.1 选择排序
3.3.2 旅行商问题
3.3.3 字符串匹配蛮力解决
3.3.4 0-1背包问题
3.4 能力拓展
3.4.1 连续数和
3.4.2 矩形个数
习题
第4章 分治法
4.1 概述
4.2 分治法设计思路
4.3 分治法应用与过程分析
4.3.1 最大子段和
4.3.2 归并排序
4.3.3 棋盘覆盖问题
4.3.4 最近点对问题
4.3.5 快速排序
4.4 能力拓展
4.4.1 一二进制的完全表示
4.4.2 求两个等长有序序列的中位数
4.4.3 找第k大的元素习题
第5章 回溯法
5.1 概述
5.2 回溯法设计思路
5.3 回溯法示例与过程分析
5.3.1 n皇后问题
5.3.2 0-1背包问题
5.3.3 图的m着色问题
5.3.4 批处理作业调度问题
5.4 能力拓展
5.4.1 全排列问题
5.4.2 存在障碍物的迷宫问题
5.4.3 最少考场数量
习题
第6章 贪心法
6.1 概述
6.2 贪心算法步骤及适用的问题
6.2.1 贪心算法步骤
6.2.2 适用贪心算法求解问题的特点
6.3 贪心算法示例与过程分析
6.3.1 部分背包问题
6.3.2 最优装载问题
6.3.3 区间调度问题
6.3.4 旅行商问题
6.4 能力拓展
6.4.1 最小正整数
6.4.2 数字游戏
6.4.3 关闭闹钟
6.4.4 过河
习题
第7章 分支限界法
7.1 概述
7.2 分支限界法设计思路
7.3 分支限界法示例与过程分析
7.3.1 0-1背包问题
7.3.2 多段图最短路径问题
7.3.3 旅行商问题
7.3.4 作业调度问题
7.4 能力拓展
7.4.1 大富翁游戏
7.4.2 最优装载问题
习题
第8章 动态规划
8.1 概述
8.2 动态规划算法设计规则
8.3 动态规划算法问题求解
8.3.1 0-1背包问题
8.3.2 最长公共子序列
8.3.3 最长上升子序列
8.3.4 字符串相似度/编辑距离
8.3.5 最大子段和
8.4 能力拓展
8.4.1 带通配符的字符串匹配
8.4.2 拼图
习题
第9章 图算法设计
9.1 概述
9.1.1 图的定义
9.1.2 图的相关概念
9.2 图算法示例与分析
9.2.1 最短路问题
9.2.2 网络最大流问题
9.2.3 二分图染色问题
9.3 能力拓展
9.3.1 杂交育种
9.3.2 小偷逃跑
9.3.3 朋友满意数量
习题
第10章 计算几何
10.1 概述
10.2 相关几何知识
10.2.1 向量
10.2.2 点积和叉积
10.2.3 基本应用
10.2.4 点是否在面内
10.2.5 方向
10.2.6 面积和角度
10.2.7 凸性
10.3 计算几何示例与分析
10.3.1 点到直线的距离、判断线段是否相交
10.3.2 凸包问题(极角排序)
10.3.3 利用叉积计算多边形而积
10.4 能力拓展
10.4.1 不同直线计数
10.4.2 面积最大的三角形
10.4.3 而积最大的多边形
习题
第11章 计算复杂度理论
11.1 计算模型
11.2 P类和NP类问题
11.3 NPC问题
习题
第12章 概率算法和近似算法
12.1 概率算法
12.1.1 概率算法的基本概念
12.1.2 概率算法的分类
12.1.3 数值概率算法
12.1.4 价伍德算法
12.1.5 拉斯维加斯算法
12.1.6 蒙特卡罗算祛
12.2 近似算法
12.2.1 介绍
12.2.2 顶点覆盖问题
12.2.3 旅行商问题
习题
同类热销排行榜
- C语言与程序设计教程(高等学校计算机类十二五规划教材)16
- 电机与拖动基础(教育部高等学校自动化专业教学指导分委员会规划工程应用型自动化专业系列教材)13.48
- 传感器与检测技术(第2版高职高专电子信息类系列教材)13.6
- ASP.NET项目开发实战(高职高专计算机项目任务驱动模式教材)15.2
- Access数据库实用教程(第2版十二五职业教育国家规划教材)14.72
- 信号与系统(第3版下普通高等教育九五国家级重点教材)15.08
- 电气控制与PLC(普通高等教育十二五电气信息类规划教材)17.2
- 数字电子技术基础(第2版)17.36
- VB程序设计及应用(第3版十二五职业教育国家规划教材)14.32
- Java Web从入门到精通(附光盘)/软件开发视频大讲堂27.92
推荐书目
-
孩子你慢慢来/人生三书 华人世界率性犀利的一枝笔,龙应台独家授权《孩子你慢慢来》20周年经典新版。她的《...
-
时间简史(插图版) 相对论、黑洞、弯曲空间……这些词给我们的感觉是艰深、晦涩、难以理解而且与我们的...
-
本质(精) 改革开放40年,恰如一部四部曲的年代大戏。技术突变、产品迭代、产业升级、资本对接...