当前位置:首页 > 工业技术
数据结构实验教程  C/C++语言版  第2版
数据结构实验教程  C/C++语言版  第2版

数据结构实验教程 C/C++语言版 第2版PDF电子书下载

工业技术

  • 电子书积分:9 积分如何计算积分?
  • 作 者:张仕,黄晞,严晓明
  • 出 版 社:厦门:厦门大学出版社
  • 出版年份:2018
  • ISBN:9787561570197
  • 页数:159 页
图书介绍:本书是福建师范大学《数据结构》实验教材。本书第1章为抽象数据类型,该章以复数为例给出抽象数据类型定义和实现例;第2章至第7章分别是线性表、栈、串、二叉树、图、查找和排序六个重要结构的实现和应用;第8章则综合利用了所学的结构和算法,给出一个综合实验例。本书中的所有实例使用C或C++语言实现,但是也可以作为使用其它语言实现数据结构提供参考。本书既可以作为数据结构课程学习过程中的配套教材使用,也可以供爱好程序设计、和自学程序设计的人员提供参考。
《数据结构实验教程 C/C++语言版 第2版》目录

第1章 抽象数据类型 1

1.1 实验目的 1

1.2 实验内容及要求 1

1.2.1 实验内容 1

1.2.2 实验要求 1

1.3 知识点提示 2

1.3.1 抽象类型定义 2

1.3.2 复数 2

1.3.3 抽象数据类型的复数例 2

1.3.4 结构体类型定义 3

1.3.5 程序的组织 4

1.4 实验步骤 4

1.5 实验程序参考 5

1.5.1 Complex.h 5

1.5.2 Complex.cpp 6

1.5.3 main.cpp 8

1.5.4 运行截图 9

1.6 常见问题及思考 10

1.6.1 常见问题及解答 10

1.6.2 思考 10

1.7 选做:三元组 11

第2章 线性表 12

2.1 实验目的 12

2.2 实验内容及要求 12

2.2.1 实验内容 12

2.2.2 实验要求 12

2.3 知识点提示 13

2.3.1 线性表的基本定义 13

2.3.2 线性表的顺序存储结构 13

2.3.3 线性表顺序表示的插入操作 14

2.3.4 线性表顺序表示的删除操作 15

2.3.5 线性表的链式存储结构 15

2.3.6 线性链表的插入操作 16

2.4 实验步骤 17

2.5 实验程序参考 18

2.5.1 Common.h 18

2.5.2 LinkList.h 18

2.5.3 main.cpp 22

2.5.4 运行截图 24

2.6 常见问题及思考 25

2.7 选做:线性表的逆置 26

第3章 栈及其应用 27

3.1 实验目的 27

3.2 实验内容及要求 27

3.2.1 实验内容 27

3.2.2 实验要求 27

3.3 知识点提示 28

3.3.1 顺序栈的结构定义 28

3.3.2 链栈的结构定义 28

3.3.3 栈的基本操作 29

3.4 实验步骤 29

3.5 实验程序参考 30

3.5.1 SeqStack.h 30

3.5.2 main.cpp 32

3.5.3 结果截图 33

3.6 常见问题及思考 33

3.7 选做:迷宫问题 34

3.7.1 问题描述 34

3.7.2 参考程序Stack.h 34

3.7.3 参考程序Main.cpp 36

第4章 队列及其应用 40

4.1 实验目的 40

4.2 实验内容及要求 40

4.2.1 实验内容 40

4.2.2 实验要求 40

4.3 知识点提示 41

4.3.1 队列的基本概念与操作 41

4.3.2 顺序队列 41

4.3.3 循环队列 42

4.3.4 改进的凯撒加密法 44

4.4 实验步骤 44

4.5 实验程序参考 44

4.5.1 CircularQueue.h 44

4.5.2 main.cpp 46

4.5.3 结果截图 49

4.6 常见问题及思考 49

第5章 串的模式匹配 50

5.1 实验目的 50

5.2 实验内容及要求 50

5.2.1 实验内容 50

5.2.2 实验要求 50

5.3 知识点提示 51

5.3.1 ADT SString 51

5.3.2 字符串的存储结构 51

5.3.3 朴素匹配算法 52

5.3.4 KMP算法 53

5.4 实验步骤 54

5.5 实验程序参考 55

5.5.1 SString.cpp 55

5.5.2 main.cpp 57

5.5.3 结果截图 57

5.6 选做:两种子串匹配算法的性能对比 58

第6章 二叉树的建立、遍历及常用运算 59

6.1 实验目的 59

6.2 实验内容及要求 59

6.2.1 实验内容 59

6.2.2 实验要求 60

6.3 知识点提示 60

6.3.1 ADT Tree 60

6.3.2 二叉树的存储结构 61

6.3.3 二叉树的遍历 62

6.3.4 二叉树遍历的非递归算法(中序) 63

6.3.5 二叉树构造的递归算法(扩展先序) 64

6.4 实验步骤 64

6.5 实验程序参考 65

6.5.1 BiTree.cpp 65

6.5.2 main.cpp 70

6.5.3 运行截图 71

6.6 常见问题及思考 72

6.7 选做:哈夫曼树与哈夫曼编码 72

第7章 图及其应用 73

7.1 实验目的 73

7.2 实验内容及要求 73

7.2.1 实验内容 73

7.2.2 实验要求 73

7.3 知识点提示 74

7.3.1 图的抽象数据类型 74

7.3.2 邻接矩阵表示法 74

7.3.3 邻接表表示法 75

7.3.4 图的深度优先遍历 76

7.3.5 图的广度优先遍历 77

7.3.6 最短路径算法 78

7.4 实验步骤 79

7.5 实验程序参考 80

7.5.1 ArcInfoType.h 81

7.5.2 VertexInfoType.h 81

7.5.3 Queue.h 82

7.5.4 ALGraph.h 84

7.5.5 Main.cpp 93

7.5.6 输入文件 94

7.5.7 运行截图 95

7.6 常见问题及思考 95

7.7 实验扩展 96

第8章 查找与排序 97

8.1 实验目的 97

8.2 实验内容及要求 97

8.2.1 实验内容 97

8.2.2 实验要求 98

8.3 知识点提示 99

8.3.1 直接插入排序 99

8.3.2 快速排序 100

8.3.3 堆排序 101

8.3.4 顺序查找 102

8.3.5 二分查找 103

8.4 实验步骤 104

8.5 实验程序参考 105

8.5.1 SortApp.cpp 105

8.5.2 排序运行截图 109

8.5.3 SearchApp.cpp 110

8.5.4 查找运行截图 113

8.6 常见问题及思考 114

8.7 实验扩展 114

第9章 综合实例——内存分配模拟系统 115

9.1 课程设计目的 115

9.2 课程设计内容 115

9.2.1 背景介绍 115

9.2.2 内存分配算法 116

9.2.3 策略模式 116

9.3 课程设计过程 117

9.3.1 系统的总体设计 117

9.3.2 系统的类定义 117

9.3.3 首次适应算法 119

9.3.4 最佳适应算法 120

9.3.5 最差适应算法 121

9.4 实验程序参考 122

9.4.1 Job与JobList类 122

9.4.2 EmptyBlock类 124

9.4.3 EmptyBlockManager类 125

9.4.4 AllocateStrategy类 128

9.4.5 策略实现类 129

9.4.6 主程序文件——MemoryAllocationSimulator.cpp 133

9.5 系统运行结果截图 136

9.6 实验扩展 138

附录一:实验报告规范 140

附录二:VS2015简单调试 142

附录三:数据生成软件 151

附录四:排序结果检查软件 155

参考文献 159

相关图书
作者其它书籍
返回顶部