作者简介
张新颜 ,女,于华中科技大学,硕士。从事计算机软件教学工作二十多年,主讲过C、VB等多种程序设计语言课程以及数据结构、微机原理、软件测试等课程,多次获得学院教学质量一、二等奖,“数据结构”课程2008年被评为学院精品课程。参加多项教学研究项目,参与多项省级科研项目的开发工作,所有项目均通过省级鉴定。曾多次被评为学院教师,设计指导教师。
目录
章概论.1
1.1引言.2
1.1.1什么是数据结构.2
1.1.2数据结构研究什么.2
1.2数据结构的基本概念.4
1.3算法和算法的分析.4
1.3.1算法及算法的描述.4
1.3.2算法设计的要求.5
1.3.3算法的分析.6
1.4算法知识准备.8
1.4.1算法描述规范.8
1.4.2C语言核心知识.9
1.5总结与提高.11
习题.11
第2章线性表.14
2.1线性表的定义及基本运算.15
2.1.1线性表的定义.15
2.1.2线性表的基本运算.15
2.2线性表的顺序存储结构.16
2.2.1顺序表.16
2.2.2顺序表上基本运算的实现.16
2.3线性表的链式存储结构.20
2.3.1单链表及其基本运算.20
2.3.2循环链表.24
2.4顺序表与链表的比较.25
2.5典型例题.26
2.6实训例题.28
2.6.1实训例题1:有序顺序表的建立及查找.28
2.6.2实训例题2:多项式的表示和相加.31
2.7总结与提高.35
2.7.1主要知识点.35
2.7.2提高例题.36
习题.37
实训习题.39
第3章堆栈和队列.41
3.1堆栈.42
3.1.1堆栈的定义及基本运算.42
3.1.2堆栈的顺序存储结构.42
3.1.3堆栈的链式存储结构.45
3.2堆栈典型例题.48
3.3队列.49
3.3.1队列的定义及运算.49
3.3.2队列的顺序存储结构.50
3.3.3队列的链式存储结构.52
3.4队列典型例题.54
3.5实训例题.56
3.5.1实训例题1:循环队列的操作.56
3.5.2实训例题2:括号配对.58
3.6总结与提高.62
3.6.1主要知识点.62
3.6.2提高例题.62
习题.64
实训习题.67
第4章串与数组.68
4.1串及其基本运算.69
4.1.1串的基本概念.69
4.1.2串的基本运算.69
4.2串的存储结构.70
4.2.1串的顺序存储结构.71
4.2.2串的堆式存储结构.73
4.2.3串的链式存储结构.74
4.3数组.75
4.3.1数组的定义.75
4.3.2一维数组、二维数组和多维数组.75
4.4典型例题.77
4.5实训例题.78
4.5.1实训例题1:字符串操作.78
4.5.2实训例题2:二维数组.81
4.6总结与提高.83
4.6.1主要知识点.83
4.6.2提高例题.84
习题.86
实训习题.88
第5章树和二叉树.89
5.1树.90
5.1.1树的基本概念.90
5.1.2树的基本操作.92
5.1.3树的存储结构.93
5.2二叉树.96
5.2.1二叉树的定义及基本操作.96
5.2.2二叉树的性质.97
5.2.3二叉树的存储结构.99
5.3遍历二叉树.102
5.3.1二叉树的遍历方法.102
5.3.2二叉树遍历算法应用典型例题.111
5.4树和二叉树的关系.113
5.4.1将树转换为二叉树.113
5.4.2树的遍历.114
5.5哈夫曼树及其应用.115
5.5.1哈夫曼树的定义及构造.115
5.5.2哈夫曼树的应用.119
5.6典型例题.121
5.7实训例题.123
5.7.1实训例题1:根据顺序存储结构建立二叉树二叉链表,并对二叉树进行先序、中序、后序遍历.123
5.7.2实训例题2:设计哈夫曼编码.127
5.8总结与提高.132
5.8.1主要知识点.132
5.8.2提高例题.133
习题.134
实训习题.137
第6章图.138
6.1图的定义、基本术语和基本操作.139
6.1.1图的定义.139
6.1.2图的基本术语.139
6.1.3图的基本操作.141
6.2图的存储结构.142
6.2.1邻接矩阵.142
6.2.2邻接表.144
6.2.3邻接矩阵和邻接表的比较.147
6.3图的遍历.147
6.3.1连通图的深度优先搜索.148
6.3.2连通图的广度优先搜索.149
6.3.3非连通图的遍历.151
6.4最小生成树.151
6.4.1相关概念.151
6.4.2普里姆算法.152
6.4.3克鲁斯卡尔算法.153
6.5最短路径.154
6.6拓扑排序.158
6.7典型例题.161
6.8实训例题.165
6.8.1实训例题1:图的遍历.165
6.8.2实训例题2:设计学习计划.170
6.9总结与提高.174
6.9.1主要知识点.174
6.9.2提高例题.174
习题.176
实训习题.179
第7章查找.180
7.1基本概念.181
7.2线性表的查找.181
7.2.1顺序查找.181
7.2.2折半查找.183
7.2.3分块查找.185
7.3二叉排序树的查找.186
7.3.1二叉排序树的定义.187
7.3.2二叉排序树的查找算法.187
7.3.3二叉排序树的建立与插入.188
7.3.4二叉排序树的查找算法分析191
7.4哈希表的查找.191
7.4.1哈希表的概念.191
7.4.2哈希函数的构造方法.192
7.4.3处理冲突的方法.194
7.4.4哈希表上的运算.198
7.5典型例题.200
7.6实训例题.203
7.6.1实训例题1:构造二叉排序树.203
7.6.2实训例题2:哈希表的操作.206
7.7总结与提高.211
7.7.1主要知识点.211
7.7.2提高例题.212
习题.213
实训习题.215
第8章排序.216
8.1排序的基本概念.217
8.2插入排序.217
8.2.1直接插入排序.218
8.2.2希尔排序.219
8.3交换排序.221
8.3.1冒泡排序.221
8.3.2快速排序.222
8.4选择排序.224
8.4.1直接选择排序.224
8.4.2堆排序.225
8.5各种内部排序方法的比较.230
8.6典型例题.230
8.7实训例题.232
8.7.1实训例题1:不同排序算法的比较.232
8.7.2实训例题2:学生成绩名次表.240
8.8总结与提高.246
8.8.1主要知识点.246
8.8.2提高例题.246
习题.248
实训习题.251
附录A数据结构实训指南.252
内容摘要
全书共8章及1个附录:章介绍了数据结构和算法的基本概念;第2~4章介绍了线性表、堆栈、队列、串、数组;第5、6章介绍了非线性结构,即树形结构和图状结构,第7、8章介绍了两个基本技术,即查找和排序;附录A介绍了实训的相关知识,包括实训的步骤、实训报告规范和实训的上机环境等内容。本书详细阐述了数据结构的基本概念、各种不同的存储结构,以及在不同存储结构上的主要算法的实现,并给出了丰富的典型例题,以帮助读者有效理解。
本书可作为高等院校、高等职业院校计算机及相关专业数据结构课程的教材。
主编推荐
"“十二五”国规
微课视频"
以下为对购买帮助不大的评价