“数据结构”是计算机系统专业的一门必修课,是计算机科学的算法理论基础和软件设计的技术基础。本教材以C#语言为例,讲授线性表、栈、队列、树、图等各种数据结构及其应用,以及查找和排序的各种实现方法及其综合比较。通过本教材的学习,可以使学生掌握各种数据结构的特性、逻辑结构、存储结构和相应算法,同时训练学生设计复杂程序的能力。本教材具有很强的实践性,通过大量上机训练来加深学生对各种数据结构的理解和应用能力。
第1章绪论1
1.1引言1
1.2数据结构的发展简史2
1.3什么是数据结构3
1.4基本概念和术语4
1.5算法和算法的描述6
1.5.1算法6
1.5.2算法的描述6
1.5.3算法评价11
1.6实训项目一——九九乘法表13
本章小结14
习题一14
第2章线性表15
2.1线性表的逻辑结构15
2.2线性表的顺序存储结构17
2.2.1线性表的顺序存储结构17
2.2.2线性表在顺序存储结构下的运算17
2.2.3线性表的顺序存储结构的特点23
2.3线性表的链式存储结构24
2.3.1线性链表24
2.3.2循环链表32
2.3.3双向链表34
2.4 一元多项式的表示及相加39
2.5实训项目二——顺序表与链表的应用44
本章小结46
习题二47
第3章栈和队列48
3.1栈48
3.1.1栈的定义及运算48
3.1.2栈的存储和运算实现50
3.2队列57
3.2.1队列的定义及其运算57
3.2.2队列的存储和运算实现58
3.3实训项目三——栈与队列的应用69
本章小结71
习题三71
第4章串72
4.1串的基本概念72
4.1.1串的定义72
4.1.2主串和子串72
4.2串的存储结构73
4.2.1串值的存储73
4.2.2串名的存储映像75
4.3串的基本运算及其实现75
4.3.1串的基本运算75
4.3.2串的基本运算实现76
4.4实训项目四——学生成绩管理系统81
本章小结86
习题四87
第5章数组和广义表88
5.1数组88
5.1.1数组的概念88
5.1.2数组在计算机内的存放89
5.1.3数组元素的访问89
5.2多维数组及其存储结构90
5.2.1行优先顺序91
5.2.2列优先顺序91
5.3特殊矩阵及其压缩存储92
5.3.1特殊矩阵92
5.3.2压缩存储93
5.4稀疏矩阵95
5.4.1稀疏矩阵的存储96
5.4.2稀疏矩阵的运算98
5.5广义表100
5.5.1基本概念100
5.5.2基本运算102
5.6实训项目五——矩阵乘法105
本章小结108
习题五108第6章树110
6.1树的结构定义与基本操作110
6.1.1树的定义及相关术语110
6.1.2树的表示111
6.1.3树的基本操作112
6.2二叉树113
6.2.1二叉树的定义113
6.2.2二叉树的性质113
6.2.3二叉树的存储结构114
6.3遍历二叉树120
6.3.1先序遍历121
6.3.2中序遍历121
6.3.3后序遍历122
6.3.4层次遍历122
6.4哈夫曼树123
6.4.1哈夫曼树的定义123
6.4.2构造哈夫曼树——哈夫曼算法125
6.4.3哈夫曼树的应用129
6.5实训项目六——二叉树的应用130
本章小结131
习题六131
第7章图133
7.1基本定义和术语133
7.2图的存储结构137
7.2.1邻接矩阵138
7.2.2邻接表142
7.3图的遍历149
7.3.1深度优先搜索法149
7.3.2广度优先搜索法152
7.4最小生成树153
7.5最短路径160
7.5.1单源点最短路径160
7.5.2所有顶点对之间的最短路径166
7.6拓扑排序168
7.7实训项目七——图的遍历171
本章小结176
习题七177
第8章查找178
8.1顺序查找178
8.2折半查找180
8.3分块查找182
8.4哈希法183
8.4.1哈希表和哈希函数的概念183
8.4.2哈希函数的构造方法184
8.4.3冲突处理186
8.5实训项目八——折半查找算法的应用187
本章小结189
习题八189
第9章排序190
9.1插入排序191
9.1.1线性插入排序192
9.1.2折半插入排序193
9.2希尔排序195
9.3选择排序197
9.4堆排序199
9.5快速排序204
9.6归并排序206
9.7基数排序209
9.8外部排序212
9.9各种排序方法的比较213
9.10实训项目九——排序系统214
本章小结223
习题九223
第10章文件224
10.1文件的基本概念224
10.2顺序文件226
10.3索引文件227
10.4索引顺序文件228
10.5直接存取文件231
10.6多关键字文件232
10.6.1多重表文件232
10.6.2倒排文件233
10.7实训项目十——图书馆借书系统234
本章小结235
习题十235
参考文献236
本系列教材无论从课程标准的开发、教材体系的建立、教材内容的筛选、教材结构的设计还是教材素材的选择,都得到了国内知名职业教育专家和一百多所高职高专院校及相关企业专家的大力支持,并给予了十分有益的建议,从而对高职高专计算机类专业教学提供了丰富的素材和鲜活的教学经验。
本系列教材是我国高职高专教育近年来只注重学生单一职业活动逻辑体系构建,向专业理论知识体系、技术框架体系和执业活动逻辑体系三个体系构建转变的有益尝试,也是计算机教指委专家委员研究讨论成果的具体应用之一,是近百所高职院校一线教师和企业工程师智慧的体现。