您好,欢迎来到聚文网。 登录 免费注册
数据结构与算法实验实践教程(高等院校计算机实验与实践系列示范教材)

数据结构与算法实验实践教程(高等院校计算机实验与实践系列示范教材)

  • 装帧: 平装
  • 出版社: 清华大学出版社
  • 作者: 乔海燕//蒋爱军//高集荣//刘晓铭 著作
  • 出版日期: 2012-12-01
  • 商品条码: 9787302300663
  • 版次: 1
  • 出版年份: 2012
定价:¥25 销售价:登录后查看价格  ¥{{selectedSku?.salePrice}} 
库存: {{selectedSku?.stock}} 库存充足
{{item.title}}:
{{its.name}}
精选
内容简介
乔海燕、蒋爱军、高集荣、刘晓铭编写的《数据结构与算法实验实践教程》是为“数据结构与算法”实验课程设计的教材。
全书共9章,内容包括程序测试与运行时间度量、线性表和串的实现及其应用、栈与队列的实现和应用、递归、二叉树的实现和应用、查找的实现与应用、排序的实现与应用、图算法及其应用和标准模板库STL简介。每章针对常用的数据结构和算法设计了例题和习题,其中大部分习题可以通过网上在线测评系统http://soj.me提交。部分习题在书后附有参考答案。
《数据结构与算法实验实践教程》是独立于其他数据结构和算法教材的辅导书,可作为高等院校数据结构与算法实验课的教材和参考书,也适用于计算机编程爱好者。
目录
第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 编程练习:二叉查找树的删除
6.4 平衡二叉查找树
6.4.1 AVL树的归纳定义
6.4.2 AVL树的表示和插入
6.5 线索二叉树
6.5.1 线索二叉树的表示
6.5.2 编程练习:线索二叉树的遍历和插入
6.6 散列表
小结
第7章  排序的实现与应用
7.1 快速排序
7.2 稳定排序
7.3 部分排序
7.4 堆排序
7.5 归并排序
小结
第8章  图算法及其应用
8.1 图的邻接矩阵表示
8.1.1 图的邻接矩阵――C风格
8.1.2 图的邻接矩阵――C++风格
8.1.3 编程练习:图的邻接矩阵表示
8.2 图的邻接表表示
8.2.1邻接表――C风格
8.2.2 邻接表――C++风格
8.2.3 编程练习:图的邻接表表示
8.3 拓扑排序
8.3.1 拓扑排序算法
8.3.2 拓扑排序应用举例
8.4 广度优先遍历
8.4.1 广度优先遍历算法
8.4.2 广度优先遍历应用举例
8.5 深度优先遍历
8.5.1 深度优先遍历算法
8.5.2 深度优先遍历应用举例
8.6 最小生成树
8.6.1 最小生成树算法
8.6.2 最小生成树应用举例
8.6.3 编程练习:最小生成树
8.7 最短路径――从算法到代码
8.7.1 Dijkstra算法
8.7.2 Dijkstra算法的细化
8.7.3 Dijkstra算法的C/C++实现
8.7.4 编程练习:最短路径
8.8 图论应用项目
8.8.1 TSP问题
8.8.2 医院选址问题
8.8.3 地铁建设问题
8.8.4 地铁乘车指引问题
小结
第9章  标准模板库STL简介
9.1 容器
9.1.1容器的概念
9.1.2 顺序容器
9.1.3 联合容器
9.1.4 优先队列
9.2 迭代器
9.2.1 C++标准库迭代器简介
9.2.2 迭代器的使用
9.2.3 编程练习:容器的应用
9.3 算法
9.3.1 不改变容器的算法
9.3.2 改变容器的算法
9.3.3 排序算法
9.3.4 堆运算
9.3.5 集合运算
9.3.6 最大最小运算
9.4 函数对象
9.4.1 遍历算法for_each的函数对象
9.4.2 排序算法sort中的函数对象
9.4.3 顺序查找算法中的函数对象
9.4.4 编程练习:函数对象
9.4.5 二分查找中的函数对象
9.4.6 编程练习:通用查找函数
9.4.7 预定义函数对象
9.4.8 可转换函数对象
9.4.9 编程练习:可转换函数对象的应用
小结
附录A  问题和软装置列表
A1 线性表和字符串的实现和应用
A2 栈与队列的实现和应用
A3 递归
A4 二叉树的实现和应用
A5 查找的实现与应用
A6 排序的实现与应用
A7 图算法及其应用
附录B  实验报告参考格式
附录C  部分参考程序
参考文献
索引

蜀ICP备2024047804号

Copyright 版权所有 © jvwen.com 聚文网