网站首页  软件下载  游戏下载  翻译软件  电子书下载  电影下载  电视剧下载  教程攻略

请输入您要查询的图书:

 

书名 数据结构与算法实验实践教程(高等院校计算机实验与实践系列示范教材)
分类
作者 乔海燕//蒋爱军//高集荣//刘晓铭
出版社 清华大学出版社
下载
简介
编辑推荐

乔海燕、蒋爱军、高集荣、刘晓铭编写的这本《数据结构与算法实验实践教程》是高等院校计算机实验与实践系列示范教材。通过该教材,可以使学生:熟悉常用的数据结构和算法,以便在软件开发中选择合适的现成工具;掌握有效组织数据和处理数据的方法和技能,设计高质量的程序。

内容推荐

乔海燕、蒋爱军、高集荣、刘晓铭编写的《数据结构与算法实验实践教程》是为“数据结构与算法”实验课程设计的教材。

全书共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 部分参考程序

参考文献

索引

随便看

 

霍普软件下载网电子书栏目提供海量电子书在线免费阅读及下载。

 

Copyright © 2002-2024 101bt.net All Rights Reserved
更新时间:2025/4/7 10:37:00