本教程是作者针对数据结构课程概念多、算法灵活和抽象性强等特点,在总结长期教学经验的基础上编写的。在前两版的基础上,针对教育部新的考研大纲和大量读者来信提出的要求进行了修订。本书内容包括绪论、线性表、栈和队列、串、数组和广义表、递归、树形结构、图、查找、内排序、外排序和文件,还给出了3个综合实验题、实验报告格式、引用型参数的说明、顺序表和顺序栈以及顺序队列使用指针引用型参数的说明、书中部分算法清单、2009年全国计算机专业数据结构考研大纲。
本书在前两版的基础上,针对教育部新的考研大纲和大量读者来信提出的要求进行了修订。本书内容包括绪论、线性表、栈和队列、串、数组和广义表、递归、树形结构、图、查找、内排序、外排序和文件,还给出了3个综合实验题、实验报告格式、引用型参数的说明、顺序表和顺序栈以及顺序队列使用指针引用型参数的说明、书中部分算法清单、2009年全国计算机专业数据结构考研大纲。
本书适合高等院校计算机及相关专业本科生及研究生使用。
第1章 绪论
1.1 什么是数据结构
1.1.1 数据结构的定义
1.1.2 逻辑结构类型
1.1.3 存储结构类型
1.1.4 数据结构和数据类型
1.2 算法及其描述
1.2.1 什么是算法
1.2.2 算法描述
1.3 算法分析
1.3.1 算法设计的目标
1.3.2 算法效率分析
1.3.3 算法存储空间分析
1.4 数据结构+算法=程序
本章小结
练习题1
上机实验题1
第2章 线性表
2.1 线性表及其逻辑结构
2.1.1 线性表的定义
2.1.2 线性表的抽象数据类型描述
2.2 线性表的顺序存储结构
2.2.1 线性表的顺序存储结构——顺序表
2.2.2 顺序表基本运算的实现
2.3 线性表的链式存储结构
2.3.1 线性表的链式存储结构——链表
2.3.2 单链表基本运算的实现
2.3.3 双链表
2.3.4 循环链表
2.4 线性表的应用
2.5 有序表
本章小结
练习题2
上机实验题2
第3章 栈和队列
3.1 栈
3.1.1 栈的定义
3.1.2 栈的顺序存储结构及其基本运算实现
3.1.3 栈的链式存储结构及其基本运算的实现
3.1.4 栈的应用举例
3.2 队列
3.2.1 队列的定义
3.2.2 队列的顺序存储结构及其基本运算的实现
3.2.3 队列的链式存储结构及其基本运算的实现
3.2.4 队列的应用举例
本章小结
练习题3
上机实验题3
第4章 串
4.1 串的基本概念
4.2 串的存储结构
4.2.1 串的顺序存储结构——顺序串
4.2.2 串的链式存储结构——链串
4.3 串的模式匹配
4.3.1 Brute-Force算法
4.3.2 KMP算法
本章小结
练习题4
上机实验题4
第5章 数组和广义表
5.1 数组
5.1.1 数组的基本概念
……
第6章 递归
第7章 树和二叉树
第8章 图
第9章 查找
第10章 内排序
第11章 外排序
第12章 文件
第13章 采用面向对象的方法描述算法
附录A 综合实验题
附录B 实验报告格式
附录C 引用型参数的说明
附录D 顺序表、顺序栈和顺序队列使用指针引用型参数的说明
附录E 书中部分算法清单
附录F 全国计算机专业数据结构考研大纲
参考文献