内容简介
第1章 概述
1.1基本概念
1.1.1数据结构的概念
1.1.2抽象数据类型
1.1.3算法的概念
习题1.1
1.2算法的描述和评价
1.2.1算法的描述
1.2.2算法的评价标准和评价方法
1.2.3计算时间复杂性的一般方法
习题1.2
内容小结
综合习题
第2章 表结构
2.1基本概念和顺序表
2.1.1基本概念
2.1.2顺序表的插入和删除
2.1.3顺序表的查找
习题2.1
2.2链表
2.2.1基本概念和链表种类
2.2.2链表的构造
2.2.3链表的遍历
2.2.4链表的插入和删除
2.2.5静态链表
习题2.2
2.3栈和队
2.3.1基本概念
2.3.2进栈和退栈算法
2.3.3进队和出队算法
2.3.4应用举例
习题2.3
2.4矩阵和字符串
2.4.1矩阵的基本概念和存储方法
2.4.2稀疏矩阵运算示例
2.4.3字符串的基本概念和简单匹配算法
2.4.4.其他匹配算法
习题2.4
2.5散列表
2.5.1散列函数
2.5.2散列表的处理算法
2.5.3散列表的性能分析
习题2.5
2.6广义表
习题2.6
2.7表结构的类实现示例
习题2.7
内容小结
综合习题
第3章 树结构
3.1基本概念和存储方法
3.1.1普通树的基本概念
3.1.2二叉树的基本概念
3.1.3普通树与二叉树的相互转换
3.1.4树的存储方法
习题3.1
3.2二叉树的遍历和构造
3.2.1二叉树的遍历
3.2.2遍历序列的前驱和后继
3.2.3遍历的应用示例
3.2.4二叉树的构造
3.2.5非递归的遍历算法
习题3.2
3.3检索树
3.3.1检索树的查找
3.3.2检索树的插入和构造
3.3.3检索树的删除
3.3.4最优检索树
习题3.3
3.4平衡树
3.4.1 AVL树
3.4.2红黑树
习题3.4
3.5B树和Trie树
3.5.1B树
3.5.2B+树
3.5.3 Trie树
习题3.5
3.6几个实用树结构
3.6.1哈夫曼树
3.6.2判定树
3.6.3 union-find树
习题3.6
3.7树结构的类实现示例
习题3.7
内容小结
综合习题
第4章 图结构
4.1基本概念和存储方法
4.1.1图的定义和有关术语
4.1.2图的存储方法
习题4.1
4.2图的遍历和应用示例
4.2.1先深搜索
4.2.2先广搜索
4.2.3无向图的关节点
习题4.2
4.3最小生成树和最短路径
4.3.1 Kruskal算法
4.3.2 Prim算法
4.3.3 Dijkstra算法
4.3.4 Floyd算法
习题4.3
4.4有向无回路图
4.4.1基本概念
4.4.2拓扑排序
4.4.3关键路径
习题4.4
4.5图结构的类实现示例
习题4.5
内容小结
综合习题
第5章 排序
5.1基本概念
习题5.1
5.2插入排序
5.2.1直接插入排序
5.2.2二分插入排序
5.2.3希尔排序
习题5.2
5.3交换排序
5.3.1冒泡排序
5.3.2快速排序
习题5.3
5.4选择排序
5.4.1一般原理和效率分析
5.4.2树选排序
5.4.3堆排序
习题5.4
5.5合并排序
5.5.1递归的合并排序
5.5.2非递归的合并排序
习题5.5
5.6基数排序
5.6.1基本原理和示例
5.6.2算法的实现和分析
习题5.6
5.7外部排序
5.7.1文件的组织结构
5.7.2顺串的合并
5.7.3初始顺串的生成
5.7.4最佳合并树
5.7.5磁带排序
习题5.7
内容小结
综合习题
第6章 问题的固有难度和算法设计的一般方法简介
6.1问题的固有难度和分类
6.1.1算法的重要地位
6.1.2问题的固有难度
6.1.3不确定性算法
6.1.4三大重要的问题类
习题6.1
6.2算法设计的一般方法
6.2.1集合运算的数据结构选取
6.2.2递归、分治和平衡
6.2.3贪心法
6.2.4动态规划法
6.2.5搜索-回溯法
习题6.2
内容小结
综合习题
参考文献