《21世纪高等学校计算机专业实用规划教材:数据结构(C语言版)(第2版)》是为“数据结构”课程编写的教材,也可以作为学习数据结构及其算法的C语言程序设计的参考书。
书中系统地介绍各种常用的数据结构与算法。全书共分为9章。□□章为概论,引人数据结构与算法的一些基本概念,是全书的综述;第2~7章分别介绍线性表、栈、队列、串、多维数组、广义表、树、二叉树和图等几种基本的数据结构;第8章和第9章分别介绍查找和排序,它们都是数据处理中广泛使用的技术。
《21世纪高等学校计算机专业实用规划教材:数据结构(C语言版)(第2版)》的特色是深入浅出,既注重理论又重视实践。全书配有大量的例题和详尽的注释,各章都有小结和不同类型的习题。书中自始至终使用C语言来描述算法和数据结构,全部程序都在C-Free3.5或Visual C++6.0中调试通过。
《21世纪高等学校计算机专业实用规划教材:数据结构(C语言版)(第2版)》可作为普通高等学校计算机及相关专业本科生的教材,也可以作为专科和成人教育的教材,还可供从事计算机应用的科技人员参考。与《21世纪高等学校计算机专业实用规划教材:数据结构(C语言版)(第2版)》配套的《数据结构实验教程(C语言版)》也由清华大学出版社正式出版。
目录
- □□章 概论
- 1.1 什么是数据结构
- 1.1.1 数据和数据元素
- 1.1.2 数据类型与数据对象
- 1.1.3 数据结构
- 1.2 为什么要学习数据结构
- 1.2.1 学习数据结构的重要性
- 1.2.2 数据结构的应用举例
- 1.3 算法和算法分析
- 1.3.1 算法的概念
- 1.3.2 算法的描述和设计
- 1.3.3 算法分析
- 本章小结
- 习题1
- 第2章 线性表
- 2.1 线性表的基本概念
- 2.1.1 线性表的定义
- 2.1.2 线性表的基本操作
- 2.2 线性表的顺序存储
- 2.2.1 顺序表
- 2.2.2 顺序表的基本操作
- 2.2.3 一个完整的例子(1)
- 2.3 线性表的链式存储
- 2.3.1 单链表的基本概念
- 2.3.2 单链表的基本操作
- 2.3.3 一个完整的例子(2)
- 2.3.4 循环链表
- 2.3.5 双向链表
- 2.3.6 双向循环链表
- 2.3.7 静态链表
- 2.4 线性表顺序存储与链式存储的比较
- 2.5 线性表的应用
- 2.5.1 约瑟夫问题
- 2.5.2 多项式加法
- 2.5.3 电文加密
- 本章小结
- 习题2
- 第3章 栈和队列
- 3.1 栈
- 3.1.1 栈的定义与基本操作
- 3.1.2 顺序栈的存储结构和操作的实现
- 3.1.3 链栈的存储结构和操作的实现
- 3.2 栈的应用
- 3.2.1 数制转换
- 3.2.2 括号匹配问题
- 3.2.3 子程序的调用
- 3.2.4 利用一个顺序栈逆置一个带头结点的单链表
- 3.3 队列
- 3.3.1 队列的定义与基本操作
- 3.3.2 链队列的存储结构和操作的实现
- 3.3.3 顺序队列的存储结构和操作的实现
- 3.4 队列的应用
- 3.4.1 打印杨辉三角形
- 3.4.2 迷宫问题:寻找一条从迷宫入口到出口的□短路径
- 3.5 递归
- 3.5.1 递归的定义与实现
- 3.5.2 递归消除
- 本章小结
- 习题3
- 第4章 串
- 4.1 串的定义和基本操作
- 4.1.1 串的定义
- 4.1.2 串的基本操作
- 4.2 串的表示和实现
- 4.2.1 串的定长顺序存储
- 4.2.2 串的堆存储结构
- ……
- 第5章 多维数组和广义表
- 第6章 树和二叉树
- 第7章 图
- 第8章 查找
- 第9章 排序