| 本书采用目前流行且广泛使用的c++语言作为算法描述与实现的工具,书中所有例程均在Microsoft Visual C++6.0凋试通过。与本书配套的教学网站和教学用多媒体电子课件将会极大地方便读者。 |
| 第1章 引 论 1.1算法及其复杂性的概念 1.1.1 算法与程序 1.1.2 算法复杂性的概念 1.1.3 算法复杂性的渐近性态 1.2算法的表达与数据表示 1.2.1 问题求解 1.2.2 表达算法的抽象机制 1.3 抽象数据类型 1.3.1 抽象数据类型的基本概念 1.3.2 使用抽象数据类型的好处 1.4 数据结构、数据类型和抽象数据类型 1.5 用C语言描述数据结构与算法 1.5.1 变量和指针 1.5.2 函数与参数传递 1.5.3 结构 1.5.4 动态存储分配 本章小结 习题 第2章 表 2.1 ADT表 2.2 用数组实现表 2.3 用指针实现表 2.4 用间接寻址方法实现表 2.5 用游标实现表 2.6 循环链表 2.7 双链表 2.8 表的搜索游标 2.8.1 用数组实现表的搜索游标 2.8.2 单循环链表的搜索游标 2.9 应用 本章小结 习题 第3章 栈 3.1 ADT栈 3.2 用数组实现栈 3.3 用指针实现栈 3.4 应用 本章小结 习题 第4章 队列 .. 4.1 ADT队列 4.2 用指针实现队列 4.3 用循环数组实现队列 4.4 应用 本章小结 习题 第5章 递归 5.1递归的概念 5.2递归程序设计 5.2.1 分治与递归 5.2.2 动态规划 5.2.3 回溯与递归 5.3 模拟递归 5.4 应用 本章小结 习题 第6章 排序与选择 6.1 简单排序算法 6.1.1 冒泡排序 6.1.2 插入排序 6.1.3 选择排序 6.1.4 简单排序算法的计算复杂性 6.2 快速排序算法 6.2.1 算法基本思想及实现 6.2.2 算法的性能 6.2.3 随机快速排序算法 6.2.4 非递归快速排序算法 6.2.5 三数取中划分算法 6.2.6 三划分快速排序算法 6.3 合并排序算法 6.3.1 算法基本思想及实现 6.3.2 对基本算法的改进 6.3.3 自底向上的合并排序算法 6.3.4 自然合并排序 6.3.5 链表结构的合并排序算法 6.4 线性时间排序算法 6.4.1 计数排序 6.4.2 桶排序 6.5 中位数与第k小元素 6.5.1 平均情况下 |
商品评论(0条)