算法设计方法
分類: 图书,计算机/网络,计算机理论,
作者: 吴哲辉等编著
出 版 社: 机械工业出版社
出版时间: 2008-10-1字数: 318000版次: 1页数: 201印刷时间: 2008/10/01开本: 16开印次: 1纸张: 胶版纸I S B N : 9787111247074包装: 平装内容简介
全书共分为8章。第1章介绍了算法的基本概念以及算法描述和算法分析的基本知识。第2章至第7章分别论述了分治与递归算法、散列与凝聚算法、贪心算法、动态规划算法、回溯算法和分支限界算法。在每一章的开头,都先对相应的典型算法的基本思路进行详细、清晰的阐述,然后通过多种实际问题的求解,对该典型算法的设计方法作进一步的剖析。第8章对NP完全问题的基本理论进行讨论,并介绍了求解NP困难问题的近似算法和概率算法。
本书可作为计算机和相关专业的本科课程教材,也可作为科技人员的参考书。为方便教师教学,本书配有免费教学课件,欢迎选用本书作为教材的老师索取,索取邮箱:llm7785@sina.com。
目录
前言
第1章 算法设计与分析概论
1.1 算法的定义和特征
1.2 算法的描述
1.3 算法分析
1.4 递归方程求解
1.4.1 递归公式的展开
1.4.2 常系数线性齐次递归方程的特征方程求解方法
1.4.3 常系数线性非齐次递归方程求解
1.5 生成函数
1.6 习题
第2章 分治与递归算法
2.1 分治与递归算法的基本思路
2.2 查找中的分治与递归算法
2.2.1 二分查找算法
2.2.2 二叉树查找
2.2.3 AvL树
2.3 排序问题的分治与递归算法
2.3.1 合并排序
2.3.2 快速排序
2.4 矩阵乘法的Strassen算法
2.5 快速傅里叶变换
2.5.1 离散傅里叶变换
2.5.2 快速傅里叶变换算法
2.6 减治与递归
2.7 变治与递归
2.8 习题
第3章 散列与凝聚算法
3.1 散列算法
3.1.1 散列查找算法
3.1.2 桶排序算法
3.2 矩阵乘法的凝聚算法
3.2.1 非负整数矩阵乘法的凝聚算法
3.2.2 矩阵乘法的凝聚算法的改进
3.2.3 布尔矩阵乘法的凝聚算法
3.3 非负整数向量卷积的凝聚算法
3.4 习题
第4章贪心算法
4.1 背包问题的贪心算法
4.2 求最小生成树的Kruskal算法
4.3 求最小生成树的Prim算法
4.4 求单源最短路的Dijkstra算法
4.5 哈夫曼编码
4.6 习题
第5章 动态规划算法
5.1 多段图问题
5.2 矩阵连乘积问题
5.3 0-1背包问题
5.4 旅行售货员问题
5.5 最长公共子序列问题
5.6 流水作业调度问题
5.7 资源分配问题
5.8 动态规划小结
5.9 习题
第6章 回溯算法
6.1 回溯算法的基本思想
6.2 旅行售货员问题
6.3 n后问题
6.4 图的m着色问题
6.5 0-1背包问题
6.6 批处理作业调度问题
6.7 哈密尔顿回路问题
6.8 子集和数问题
6.9 回溯法效率分析
6.10 习题
第7章 分支限界算法
7.1 基本思想
7.2 0-1背包问题
7.3 旅行售货员问题
7.4 任务分配问题
7.5 批处理作业调度问题
7.6 重排九宫问题
7.7 习题
第8章 NP-完全问题
8.1 图灵机——可计算性和计算复杂性的度量标准
8.1.1 确定的图灵机
8.1.2 图灵机用于计算整函数
8.1.3 多带图灵机
8.1.4 不确定的图灵机
8.1.5 图灵机的停机问题与可计算性度量
8.1.6 计算复杂性的度量
8.2 P类和NP类问题
8.2.1 P类问题的实例
8.2.2 NP类问题的实例
8.3 NP完全问题与Cook定理
8.3.1 多项式规约与NP完全问题的基本理论
8.3.2 Cook定理
8.3.3 其他NP完全问题
8.3.4 CO-NP问题与NPI问题
8.4 NP困难问题的近似算法和概率算法
8.4.1 近似算法
8.4.2 概率算法
8.5 习题
参考文献
书摘插图
第1章 算法设计与分析概论
1.1 算法的定义和特征
通常的算法定义是:一个算法是求解某一类特定问题的一组有穷规则的集合。
首先,一个算法是一组规则,通常称之为算法步骤,这组规则是有穷的,即能用有限的形式表示出来。其次,一个算法是针对一类问题而设计的。如果给出了求解某类问题的一个算法,那么对这类问题的任意一组(一个)初始数据,这个算法都有效的,也就是说,根据算法给出的求解步骤,都能求出这组初始数据所对应的计算结果。
……