《数据结构与算法实验实践教程》是2012年清华大学出版社出版的图书,作者是乔海燕、 蒋爱军。
基本介绍
- 书名:数据结构与算法实验实践教程
- 作者:乔海燕、 蒋爱军
- ISBN:9787302300663
- 页数:217
- 定价:25.00元
- 出版社:清华大学出版社
- 出版时间:2012-11
- 副标题:数据结构与算法实验实践教程
内容简介
《高等院校计算机实验与实践系列示範教材:数据结构与算法实验实践教程》共9章,内容包括程式测试与运行时间度量、线性表和串的实现及其套用、栈与伫列的实现和套用、递归、二叉树的实现和套用、查找的实现与套用、排序的实现与套用、图算法及其套用和标準模板库STL简介。每章针对常用的数据结构和算法设计了例题和习题,其中大部分习题可以通过网上线上测评系统提交。部分习题在书后附有参考答案。
编辑推荐
《高等院校计算机实验与实践系列示範教材:数据结构与算法实验实践教程》是独立于其他数据结构和算法教材的辅导书,可作为高等院校数据结构与算法实验课的教材和参考书,也适用于计算机编程爱好者。
目录
第1章程式测试与运行时间度量
1.1程式的规格说明与测试
1.1.1程式的规格说明
1.1.2编程练习:排序函式的规格说明
1.1.3程式测试
1.1.4编程练习:排序的测试
1.1.5随机数的生成
1.1.6自动化测试
1.1.7编程练习:排序的自动测试
1.2程式的运行时间度量
1.2.1 取得CPU时间
1.2.2统计排序函式的运行时间
1.2.3编程练习:排序的运行时间度量
1.2.4理解算法的时间複杂度
1.2.5编程练习:最大连续子序列和算法运算时间的比较
小结
第2章线性表和串的实现及其套用
2.1标準库数据结构vector和list的使用
2.1.1标準库数据结构vector
2.1.2线性表vector的套用
2.1.3编程练习:vector的套用
2.1.4标準库数据结构list
2.1.5线性表的套用
2.1.6编程练习:线性表的套用
2.1.7编程练习:多项式的表示和运算
2.1.8编程练习:集合运算
2.2抽象数据类型线性表的实现及其测试
2.2.1线性表抽象数据类型定义
2.2.2编程练习:使用数组表示线性表
2.2.3使用单鍊表表示线性表
2.2.4编程练习:熟悉单鍊表
2.2.5编程练习:线性表的单鍊表实现
2.3串的套用
2.3.1数据结构串string
2.3.2编程练习:索引表的生成
2.3.3编程练习:一个行编辑器的实现
小结
第3章栈与伫列的实现和套用
3.1标準库栈的使用
3.1.1 STL模板类stack
3.1.2编程练习:熟悉栈的操作和栈的套用
3.2栈的实现
3.2.1栈的定义
3.2.2编程练习:栈的实现
3.3伫列的套用
3.3.1 STL模板伫列queue
3.3.2伫列套用例子
3.4伫列的实现
3.4.1伫列的定义
3.4.2编程练习:伫列的实现
3.5栈和伫列的套用
3.5.1车厢调度问题
3.5.2编程练习:车厢调度问题
3.5.3编程练习:服务伫列模拟问题
小结
第4章递归
4.1递归算法
4.1.1递归函式的例子
4.1.2一摞烙饼的排序
4.1.3编程练习:递归
4.2分治法
4.2.1汉诺塔
4.2.2归併排序
4.2.3编程练习:归併排序的实现
4.2.4递归算法的分析
4.3回溯
4.3.1八皇后问题
4.3.2迷宫问题
4.3.3编程练习:回溯
小结
第5章二叉树的实现和套用
5.1二叉树的表示
5.1.1二叉鍊表
5.1.2二叉鍊表的构造
5.1.3编程练习:二叉树的二叉鍊表表示
5.1.4编程练习:二叉树的输出
5.1.5二叉树的顺序结构
5.2二叉树的遍历
5.2.1二叉树的深度优先遍历
5.2.2编程练习:二叉树的遍历和构造
5.2.3编程练习:二叉树的构造
5.2.4二叉树的广度优先遍历
5.2.5编程练习:树的层次遍历
5.3 Huffman编码的实现及其套用
5.3.1 Huffman编码及其无损压缩
5.3.2实现基于Huffman编码的压缩和解压缩
小结
第6章查找的实现与套用
6.1顺序查找
6.1.1简单查找
6.1.2编程练习:顺序查找的套用和实现
6.1.3条件查找
6.1.4函式对象
6.1.5编程练习:条件查找的套用
6.2二分查找的套用
6.2.1返回存在性的二分查找
6.2.2编程练习:二分查找的套用和实现
6.2.3返回位置的二分查找
6.2.4编程练习:查找中间数
6.3二叉查找树
6.3.1二叉查找树的插入
6.3.2编程练习:二叉查找树的插入
6.3.3二叉查找树的查找
6.3.4编程练习:二叉查找树的查找
6.3.5二叉查找树的删除
6.3.6编程练习:二叉查找树的删除
……
第7章排序的实现与套用
第8章图算法及其套用
第9章标準模板库STL简介
参考文献
索引
1.1程式的规格说明与测试
1.1.1程式的规格说明
1.1.2编程练习:排序函式的规格说明
1.1.3程式测试
1.1.4编程练习:排序的测试
1.1.5随机数的生成
1.1.6自动化测试
1.1.7编程练习:排序的自动测试
1.2程式的运行时间度量
1.2.1 取得CPU时间
1.2.2统计排序函式的运行时间
1.2.3编程练习:排序的运行时间度量
1.2.4理解算法的时间複杂度
1.2.5编程练习:最大连续子序列和算法运算时间的比较
小结
第2章线性表和串的实现及其套用
2.1标準库数据结构vector和list的使用
2.1.1标準库数据结构vector
2.1.2线性表vector的套用
2.1.3编程练习:vector的套用
2.1.4标準库数据结构list
2.1.5线性表的套用
2.1.6编程练习:线性表的套用
2.1.7编程练习:多项式的表示和运算
2.1.8编程练习:集合运算
2.2抽象数据类型线性表的实现及其测试
2.2.1线性表抽象数据类型定义
2.2.2编程练习:使用数组表示线性表
2.2.3使用单鍊表表示线性表
2.2.4编程练习:熟悉单鍊表
2.2.5编程练习:线性表的单鍊表实现
2.3串的套用
2.3.1数据结构串string
2.3.2编程练习:索引表的生成
2.3.3编程练习:一个行编辑器的实现
小结
第3章栈与伫列的实现和套用
3.1标準库栈的使用
3.1.1 STL模板类stack
3.1.2编程练习:熟悉栈的操作和栈的套用
3.2栈的实现
3.2.1栈的定义
3.2.2编程练习:栈的实现
3.3伫列的套用
3.3.1 STL模板伫列queue
3.3.2伫列套用例子
3.4伫列的实现
3.4.1伫列的定义
3.4.2编程练习:伫列的实现
3.5栈和伫列的套用
3.5.1车厢调度问题
3.5.2编程练习:车厢调度问题
3.5.3编程练习:服务伫列模拟问题
小结
第4章递归
4.1递归算法
4.1.1递归函式的例子
4.1.2一摞烙饼的排序
4.1.3编程练习:递归
4.2分治法
4.2.1汉诺塔
4.2.2归併排序
4.2.3编程练习:归併排序的实现
4.2.4递归算法的分析
4.3回溯
4.3.1八皇后问题
4.3.2迷宫问题
4.3.3编程练习:回溯
小结
第5章二叉树的实现和套用
5.1二叉树的表示
5.1.1二叉鍊表
5.1.2二叉鍊表的构造
5.1.3编程练习:二叉树的二叉鍊表表示
5.1.4编程练习:二叉树的输出
5.1.5二叉树的顺序结构
5.2二叉树的遍历
5.2.1二叉树的深度优先遍历
5.2.2编程练习:二叉树的遍历和构造
5.2.3编程练习:二叉树的构造
5.2.4二叉树的广度优先遍历
5.2.5编程练习:树的层次遍历
5.3 Huffman编码的实现及其套用
5.3.1 Huffman编码及其无损压缩
5.3.2实现基于Huffman编码的压缩和解压缩
小结
第6章查找的实现与套用
6.1顺序查找
6.1.1简单查找
6.1.2编程练习:顺序查找的套用和实现
6.1.3条件查找
6.1.4函式对象
6.1.5编程练习:条件查找的套用
6.2二分查找的套用
6.2.1返回存在性的二分查找
6.2.2编程练习:二分查找的套用和实现
6.2.3返回位置的二分查找
6.2.4编程练习:查找中间数
6.3二叉查找树
6.3.1二叉查找树的插入
6.3.2编程练习:二叉查找树的插入
6.3.3二叉查找树的查找
6.3.4编程练习:二叉查找树的查找
6.3.5二叉查找树的删除
6.3.6编程练习:二叉查找树的删除
……
第7章排序的实现与套用
第8章图算法及其套用
第9章标準模板库STL简介
参考文献
索引