目录结构
第一部分 基础知识
第1章 算法在计算中的作用
第2章 算法基础
第3章 函数的增长
第4章 分治策略
第5章 概率分析和随机算法
第二部分 排序和顺序统计量
第6章 堆排序
第7章 快速排序
第8章 线性时间排序
第9章 中位数和顺序统计量
第三部分 数据结构
第10章 基本数据结构
第11章 散列表
第12章 二叉搜索树
第13章 红黑树
第14章 数据结构的扩张
第四部分 高级设计和分析技术
第15章 动态规划
第16章 贪心算法
第17章 摊还分析
第五部分 高级数据结构
第18章 B树
第19章 斐波那契堆
第20章 van Emde Boas树
第21章 用于不相交集合的数据结构
第六部分 图算法
第22章 基本的图算法
第23章 最小生成树
第24章 单源最短路径
第25章 所有结点对的最短路径问题
第26章 最大流
第七部分 算法问题选编
第27章 多线程算法
第28章 矩阵运算
第29章 线性规划
第30章 多项式与快速傅里叶变换
第31章 数论算法
第32章 字符串匹配
第33章 计算几何学
第34章 NP完全性
第35章 近似算法
第八部分 附录:数学基础知识
附录A 求和
附录B 集合等离散数学内容
附录C 计数与概率
附录D 矩阵
定义:算法就是任何良定义的计算过程,该过程取某个值或值的集合作为输入并产生某个值或值的集合作为输出。即算法就是把输入转换成输出的计算步骤的一个序列。
个人归纳
算法的重要组成:排序和数据结构
选择算法的根据:效率和问题规模
算法问题的两个特征:
- 存在许多候选解,但绝大多数候选解都没有解决手头的问题。
- 存在实际应用。
算法难题:NP完全问题