第一篇 学习指导与典型习题 3
第1章 概论 3
1.1 基本知识点 3
1.2 典型习题 4
1.3 习题参考答案 6
第2章 线性表 7
2.1 基本知识点 7
2.2 典型习题 9
2.3 习题参考答案 11
第3章 串 15
3.1 基本知识点 15
3.2 典型习题 16
3.3 习题参考答案 17
第4章 栈与队列 19
4.1 基本知识点 19
4.2 典型习题 21
4.3 习题参考答案 22
第5章 树和二叉树 25
5.1 基本知识点 25
5.2 典型习题 28
5.3 习题参考答案 29
第6章 查找 32
6.1 基本知识点 32
6.2 典型习题 34
6.3 习题参考答案 35
第7章 排序 37
7.1 基本知识点 37
7.2 典型习题 40
7.3 习题参考答案 41
第8章 图 46
8.1 基本知识点 46
8.2 典型习题 48
8.3 习题参考答案 51
第二篇 数据结构实验 57
第9章 数据结构实验概述 57
9.1 实验教学的目的 57
9.2 实验教学的主要内容 57
9.3 实验步骤 57
9.4 实验报告规范 58
9.5 实验报告样例 59
第10章 C语言基本知识 65
10.1 数组的定义与应用 65
10.2 指针与指针变量 67
10.3 结构体类型与结构体变量的定义 69
10.4 malloc()函数、free()函数 73
10.5 函数与参数传递 74
第11章 线性表 79
11.1 简单顺序表的建立 79
11.2 顺序表的插入 80
11.3 用顺序表实现学生成绩管理 82
11.4 单链表的建立 86
11.5 用链表实现学生成绩管理 89
11.6 实现三元组表存储的矩阵的相加 93
第12章 栈和队列 97
12.1 进制的转换 97
12.2 表达式求值 101
12.3 循环队列的操作 107
第13章 串 111
13.1 在顺序存储结构上实现串模式匹配算法 111
13.2 在链式存储结构上实现串模式匹配算法和求子串算法 113
第14章 树与二叉树 118
14.1 二叉树的建立及各种基本操作 118
14.2 构造哈夫曼树并对每个字符进行哈夫曼编码 124
第15章 图 128
15.1 建立无向图的邻接矩阵存储并输出 128
15.2 工程造价问题 129
第16章 查找 134
16.1 简单查找 134
16.2 哈希查找 137
第17章 排序 140
17.1 各种排序算法的实现 140
17.2 将文件中的字符进行排序 148
第三篇 数据结构课程设计 153
第18章 数据结构课程设计概述 153
18.1 课程设计的目的 153
18.2 课程设计的实施步骤 153
18.3 课程设计总结报告的撰写规范 154
第19章 课程设计案例 155
19.1 设计要求 155
19.2 设计分析 155
19.3 设计实现 160
附录A 使用Visual C++6.0系统 173
附录B 模拟试题及答案(一) 182
附录C 模拟试题及答案(二) 188
参考文献 195