《数据结构:C语言描述》共分10章,内容包括基本概念、基本结构(线性表、栈和队列、串、数组与广义表、树、图)和基本技术(查找方法与排序方法)三大部分,其中贯穿了程序设计中参数传递技术、动态处理的指针技术、数组技术、递归技术与队列等技术。书中给出了许多经典算法,每章均附有小结与典型题例,便于总结提高。附录给出了2套学期考题样卷和4套硕士研究生入学考试的样卷,便于读者模拟练习和考研参考。
《数据结构:C语言描述》集作者多年教学实践经验,采用面向对象的方法讲述数据结构技术,用标准C描述算法,内容丰富,概念清楚,技术实用。课程教学资源丰富是《数据结构:C语言描述》的特色,配套光盘包括部分扩展内容、课程设计与课程实习指导、多媒体教学课件、算法程序示例和算祛转换为程序的模板。
《数据结构:C语言描述》可作为高等学校计算机及相关专业数据结构课程的教材,也可供从事计算机应用开发的工程技术人员参考使用。
目录
- 第1章 绪论
- 1.1数据结构的基础概念
- 1.2数据结构的内容
- 1.3算法设计
- 1.4算法描述工具
- 1.5对算法做性能评价
- 1.6数据结构与C语言表示
- 1.6.1数据结构与程序设计的关联性
- 1.6.2结构化程序设计与函数的模块化
- 1.6.3面向对象与抽象数据类型
- 1.6.4算法描述规范与设计风格
- 1.7关于学习数据结构
- 1.8要点小结
- 习题
- 实习题
- 第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.3.5静态链表
- 2.4线性表应用——一元多项式的表示及相加
- 2.5顺序表与链表的综合比较
- 2.5.1顺序表和链表的比较
- 2.5.2线性表链式存储方式的比较
- 2.6总结与提高
- 2.6.1主要知识点
- 2.6.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.3总结与提高
- 3.3.1主要知识点
- 3.3.2典型题例
- 习题
- 实习题
- 第4章 串
- 4.1串的基本概念
- 4.2串的存储实现
- 4.2.1定长顺序串
- 4.2.2堆串
- 4.2.3块链串
- 4.3串的应用举例:简单的行编辑器
- 4.4总结与提高
- 4.4.1主要知识点
- 4.4.2典型题例
- 习题
- 实习题
- 第5章 数组和广义表
- 5.1数组的定义和运算
- 5.2数组的顺序存储和实现
- 5.3特殊矩阵的压缩存储
- 5.3.1规律分布的特殊矩阵
- 5.3.2稀疏矩阵
- 5.4广义表
- 5.4.1广义表的概念
- 5.4.2广义表的存储结构
- 5.4.3广义表的操作实现
- 5.5总结与提高
- 5.5.1主要知识点
- 5.5.2典型题例
- 习题
- 实习题
- 第6章 树和二叉树
- 6.1树的定义与基本术语
- 6.2二叉树
- 6.2.1二叉树的定义与基本操作
- 6.2.2二叉树的性质
- 6.2.3二叉树的存储结构
- 6.3二叉树的遍历与线索化
- 6.3.1二叉树的遍历
- 6.3.2遍历算法应用
- 6.3.3基于栈的递归消除
- 6.3.4线索二叉树
- 6.3.5由遍历序列确定二叉树
- 6.4树、森林和二叉树的关系
- 6.4.1树的存储结构
- 6.4.2树、森林与二叉树的相互转换
- 6.4.3树与森林的遍历
- 6.5哈夫曼树及其应用
- 6.5.1哈夫曼树
- 6.5.2哈夫曼编码
- 6.6总结与提高
- 6.6.1主要知识点
- 6.6.2典型题例
- 习题
- 实习题
- 第7章 图
- 7.1图的定义与基本术语
- 7.1.1图的定义:
- 7.1.2基本术语
- 7.2图的存储结构
- 7.2.1邻接矩阵表示法
- 7.2.2邻接表表示法
- 7.2.3十字链表
- 7.2.4邻接多重表
- 7.3图的遍历
- 7.3.1深度优先搜索
- 7.3.2广度优先搜索
- 7.4图的应用
- 7.4.1图的连通性问题
- 7.4.2有向无环图的应用
- 7.4.3最短路径问题
- 7.5总结与提高
- 7.5.1主要知识点
- 7.5.2典型题例
- 习题
- 实习题
- 第8章 查找
- 8.1查找的基本概念
- 8.2基于线性表的查找法
- 8.2.1顺序查找法
- 8.2.2折半查找法
- 8.2.3分块查找法
- 8.3基于树的查找法
- 8.3.1二叉排序树
- 8.3.2平衡二叉排序树
- 8.3.3B一树
- 8.4计算式查找法——哈希法
- 8.4.1哈希函数的构造方法
- 8.4.2处理冲突的方法
- 8.4.3哈希表的查找过程
- 8.4.4哈希法性能分析
- 8.5总结与提高
- 8.5.1主要知识点
- 8.5.2典型题例
- 习题
- 实习题
- 第9章 内部排序
- 9.1排序的基本概念
- 9.2插入类排序
- 9.2.1直接插入排序
- 9.2.2折半插人排序
- 9.2.3希尔排序
- 9.2.4小结
- 9.3交换类排序法
- 9.3.1冒泡排序(相邻比序法)
- 9.3.2快速排序
- 9.4选择类排序法
- 9.4.1简单选择排序
- 9.4.2树型选择排序
- 9.4.3堆排序
- 9.5归并排序
- 9.6分配类排序
- 9.6.1多关键字排序
- 9.6.2链式基数排序
- 9.6.3基数排序的顺序表实现
- 9.7各种排序方法的综合比较
- 9.8总结与提高
- 9.8.1主要知识点
- 9.8.2典型题例
- 习题
- 实习题
- 第10章 外部排序
- 10.1外存信息的特性
- 10.1.1磁带存储器
- 10.1.2磁盘存储器
- 10.2外排序的基本方法
- 10.2.1磁盘排序
- 10.2.2磁带排序
- 10.3总结与提高
- 10.3.1主要知识点
- 10.3.2典型题例
- 习题
- 附录一学期考题样卷
- 样卷一
- 样卷二
- 附录二硕士研究生入学考试样卷
- 样卷一
- 样卷二
- 样卷三
- 样卷四
- 附录三光盘目录
- 参考文献