数据结构
2011-9
清华大学出版社
崔进平,郭小春,王霞 编著
330
无
本书是在多年讲授《数据结构》的讲义基础上整理而成的。内容包括线性表、栈与队列、二叉树、树与森林、图、查找、排序等共10章。各章都配有一定数量的习题。
本书的特点是:
除了阐述《数据结构》学科的基本概念、基本理论和基本方法以外,特别强调数据建模和求解算法的思想方法,重点培养学生的抽象建模能力、算法设计能力、算法的语言描述能力和数据结构的应用创新能力。
本书的书写坚持语言流畅、通俗易懂的指导思想,力求概念表述严谨,算法分析深入浅出,既便于作为教材使用,又适合于作为自学参考书之用。
第1章 数据结构概述
1.1数据结构研究的问题
1.2数据结构的有关概念
1.3算法与算法性能分析
1.3.1算法的概念及特点
1.3.2算法的设计要求
1.3.3算法的性能分析
1.4数据结构的算法描述工具简介
习题1
第2章 线性表
2.1线性表的类型定义
2.2线性表的顺序存储结构及其算法实现
2.2.1线性表的顺序存储结构
2.2.2顺序表的基本算法实现
2.2.3顺序表应用举例
2.3线性表的链式存储结构与算法实现
2.3.1单链表存储结构
2.3.2单链表基本运算的实现
2.3.3双向链表
2.3.4循环链表
2.3.5静态链表
2.3.6单链表应用举例
习题2
第3章 栈和队列
3.1栈
3.1.1栈的概念及adt定义
3.1.2栈的存储表示与算法实现
3.2栈的应用举例
3.3队列
3.3.1队列的定义及adt定义
3.3.2队列的存储结构及算法实现
习题3
第4章 串
4.1串的概念及其adt定义
4.2串的定长顺序存储结构及算法实现
4.3串的堆存储结构及算法实现
4.4串的匹配算法
4.4.1简单匹配算法
4.4.2kmp匹配算法
4.4.3串的其他存储映像
习题4
第5章 数组与广义表
5.1数组
5.2特殊矩阵的压缩存储
5.3稀疏矩阵
5.3.1稀疏矩阵的三元组存储结构与矩阵的转置和乘法
5.3.2稀疏矩阵的十字链表存储结构与矩阵的加法和减法
5.4广义表
5.4.1广义表的概念与adt定义
5.4.2广义表的存储
5.4.3广义表的基本操作算法
5.4.4广义表的应用举例
习题5
第6章 二叉树
6.1二叉树的概念与性质
6.1.1二叉树的定义及相关术语
6.1.2二叉树的性质
6.2二叉树的存储结构与创建算法
6.2.1二叉树的存储结构
6.2.2二叉树的创建算法
6.3二叉树的遍历算法及其应用
6.3.1二叉树的递归遍历算法
6.3.2二叉树的非递归遍历算法
6.3.3二叉树遍历算法的应用
6.3.4由遍历序列恢复二叉树
6.4线索二叉树
6.4.1线索二叉树的定义及结构
6.4.2线索二叉树的基本操作算法
6.5哈夫曼树
6.5.1哈夫曼树的概念与构造算法
6.5.2哈夫曼树的应用
习题6
第7章 树与森林
7.1树的概念与adt定义
7.2树与森林的存储结构
7.3树、森林与二叉树的转换
7.4树和森林的遍历
7.5树的应用
习题7
第8章 图
8.1图的基本概念与类型定义
8.1.1图的概念与相关术语
8.1.2图的adt定义
8.2图的存储表示与创建算法
8.2.1邻接矩阵存储表示与创建算法
8.2.2邻接表存储表示与创建算法
8.2.3有向图的十字链表存储表示与创建算法
8.2.4无向图的邻接多重表存储表示
8.3图的遍历算法
8.4图的连通性
8.5最小生成树
8.5.1最小生成树的基本概念
8.5.2构造最小生成树的prim算法
8.5.3构造最小生成树的kruskal算法
8.6最短路径问题
8.6.1从一个源点到其他各顶点的最短路径
8.6.2每一对顶点之间的最短路径
8.7有向无环图及其应用
8.7.1有向无环图的概念
8.7.2aov网与拓扑排序
8.7.3aoe网与关键路径
习题8
第9章 查找
9.1查找概述
9.2静态查找表
9.2.1静态查找表的结构
9.2.2顺序表的查找
9.2.3有序表的查找
9.2.4有序表的其他查找方法
9.2.5静态树表的查找
9.3动态查找表
9.3.1二叉排序树
9.3.2平衡二叉树
9.3.3b-树和b+树
9.4哈希表查找
9.4.1哈希表与哈希方法
9.4.2哈希函数的常用构造方法
9.4.3处理冲突的方法
9.4.4哈希表的查找算法性能分析
习题9
第10章 排序
10.1基本概念
10.2插入排序
10.2.1直接插入排序
10.2.2折半插入排序
10.2.3表插入排序
10.2.4希尔排序
10.3交换排序
10.3.1冒泡排序
10.3.2快速排序
10.4选择排序
10.4.1简单选择排序
10.4.2树型选择排序
10.4.3堆排序
10.5二路归并排序
10.6基数排序
10.6.1多关键字排序
10.6.2链式基数排序
10.6.3计数排序
10.7各种排序算法的比较
10.8外排序
习题10
版权页:插图:前几章所讨论的数据结构都属于线性结构或推广的线性结构。线性结构的特点是逻辑关系简单,查找、插入和删除等操作容易实现。线性结构对描述客观世界中具有单一前驱和后继关系的数据结构是最为合适的数据模型。而现实世界中的许多事物之间的关系并非这样简单,往往存在着极为复杂的逻辑关系。如人类社会的家族关系、各种社会组织机构以及城市交通、通信线路等。这些事物中的联系都是非线性的,需要采用非线性结构进行描述,使之更加确切和方便。所谓非线性结构是指:在一个数据元素的集合中,至少存在一个数据元素,有两个或两个以上的直接前驱或直接后继元素。如果每个数据元素至多有一个直接前驱和多个直接后继元素,这种结构称为树结构,树结构是一种十分重要的非线性结构,它可以用来描述客观世界中广泛存在的层次结构。如前面提到的家族关系、社会中的各种组织机构等都可以用树结构描述。本章讨论最简单的树结构——二叉树。本章主要内容包括:二叉树的有关概念及性质;二叉树的存储结构与遍历算法;遍历算法的应用;线索二叉树;哈夫曼树及应用实例。6.1 二叉树的概念与性质二叉树是一种最简单、最常用的树结构,人们之所以对二叉树感兴趣,不仅是因为它的简单,更重要的是因为它有许多很好的性质,这些优良的特性使二叉树具有广泛的应用价值。本节将介绍二叉树的有关概念、抽象数据类型定义和二叉树的重要性质。
《数据结构(C语言版)》教学日标明确,注重理论与实践的结合、教学方法灵活,培养学生自主学习的能力、教学内容先进,反映了计算机学科的最新发展、教学模式完善,提供配套的教学资源解决方案。
无
快递服务很好!