第1章 算法基础知识
1.1 算法简介
1.2 算法描述形式
1.3 算法复杂性分析
1.3.1 时间复杂度
1.3.2 空间复杂度
习题
第2章 线性数据结构与算法
2.1 线性表
2.1.1 线性表定义及特点
2.1.2 顺序表
2.1.3 链表
2.1.4 数组与链表性能比较
2.2 栈与队列
2.2.1 栈
2.2.2 队列
2.3 应用举例
2.3.1 队列应用举例
2.3.2 栈应用举例
习题
第3章 非线性数据结构与算法
3.1 树与二叉树
3.1.1 树的基本概念
3.1.2 二叉树
3.1.3 树与二叉树的存储结构
3.1.4 树的搜索
3.2 图
3.2.1 图的基本概念
3.2.2 图的存储结构
3.2.3 图的搜索
3.3 应用举例
3.3.1 课程安排问题
3.3.2 关键路径问题
习题
第4章 递归与分治
4.1 递归法
4.1.1 递归思想
4.1.2 应用举例
4.2 分治法
4.2.1 问题的提出
4.2.2 分治法概述
4.2.3 应用举例
习题
第5章 贪心法
5.1 问题的提出
5.2 贪心法概述
5.3 应用举例
5.3.1 哈夫曼编码
5.3.2 单源最短路径
5.3.3 最小生成树
5.3.4 背包问题
5.3.5 多机调度问题
5.3.6 马踏棋盘问题
习题
第6章 动态规划
6.1 问题的提出
6.2 动态规划法概述
6.3 应用举例
6.3.1 多源最短路径
6.3.2 背包问题
6.3.3 图像压缩
6.3.4 最长公共子序列问题
习题
第7章 回溯法
7.1 问题的提出
7.2 回溯法概述
7.3 应用举例
7.3.1 背包问题
7.3.2 n皇后问题
7.3.3 组合问题
7.3.4 填字游戏
习题
第8章 分枝定界
参考文献