-
第一章绪论
本章主要介绍:
1、数据结构的相关术语:就数据、数据元素、数据对象、 数据类型、数据结构;数据的逻辑结构与物理结构概念,以及逻辑结构与物理结构间的关系
2、理解数据类型和抽象数据类型。
3、理解算法的定义、算法的特性、算法的时间代价、算法的空间代价。
4、掌握计算语句频度和估算算法时间复杂度的方法。 -
●1.1什么是数据结构
理解数据结构的相关术语:就数据、数据元素、数据对象、 数据类型、数据结构;
数据的逻辑结构与物理结构概念,以及逻辑结构与物理结构间的关系。 -
●1.2数据结构的概念和术语
理解数据类型和抽象数据类型。
-
●1.3数据类型和抽象数据类型
理解数据类型和抽象数据类型。
-
●1.4算法和算法描述
了解算法的定义、算法的特性、算法的时间代价、算法 的空间代价。
-
●1.5算法效率的度量
掌握计算语句频度和估算算法时间复杂度的方法。
-
第二章线性表
本章主要学习:
1、线性表的逻辑结构定义及其特点。
2、线性表的顺序存储结构的特点及其基本操作。
3、线性表的链式存储结构的特点及其基本操作。
4、循环链表和双向链表的基本操作。 -
●2.1线性表的定义及抽象数据类型
掌握线性表的逻辑结构,及抽象数据类型描述。
-
●2.2线性表的顺序存储与实现
线性表的顺序存储及运算实现,包括插入、删除算法。
-
●2.3线性表的链式存储与实现
线性表的链式存储结构及运算实现。
包括单链表、循环链表和双向链表,以及插入、删除和查找等算法的实现。
-
第三章栈和队列
本章主要介绍:
1、栈的定义与特点
2、栈的两种存储结构描述及相关操作的实现
3、队列的定义与特点
4、队列的两种存储结构描述及相关操作的实现
5、栈和队列在实际生活中的应用
栈和队列是两种特殊的线性表,它们的逻辑结构和线性表相同。只是其操作规则受到了限制,因此,又称它们为操作受限的线性表。栈和队列在各种类型的软件系统中应用非常广泛,例如在程序设计语言中利用栈实现递归,最后调用的最先返回;在文档打印时所有待打印的文档排成一个队列等候,先来先得到服务等等。因此,讨论栈与队列的结构特征与操作实现特点,有着重要的意义。 -
●3.1 栈
本节主要学习:
栈的逻辑结构,顺序栈及运算实现,链栈以及运算实现; -
●3.2栈的应用举例
本节主要学习:
栈的应用,包括行编辑和括号匹配问题。 -
●3.3队列
本节主要学习:
队列的逻辑结构,循环队列、链队列及其运算的实现; -
●3.4 队列应用举例
本节主要学习队列的应用。
-
第四章串、数组和广义表
本章主要内容:
1、串的定义、存储表示和运算实现;
2、数组的顺序存储和实现;
3、稀疏矩阵的压缩存储方法;
4、 广义表的定义、特性与存储。
计算机处理的对象分为数值数据和非数值数据,字符串是最基本的非数值数据。字符串处理在语言编译、信息检索、文字编辑等问题中,有广泛的应用。线性表、栈、队列和串中的数据元素都是非结构的原子类型,元素的值是不可再分解的。数组和广义表可以看成是线性表在下述含义上的扩展:表中的数据元素本身也是一个数据结构。这一章,我们将讨论串、数组和广义表的基本存储结构和基本操作。 -
●4.1串的定义
本节主要学习串的逻辑结构。
-
●4.2串的表示和实现
本节主要学习串的存储结构,及运算实现。
-
●4.3数组
主要学习:
1、数组的顺序存储和实现;
2、稀疏矩阵的压缩存储方法。 -
●4.4广义表
本节主要学习:广义表的定义、特性与存储结构及运算。
-
第五章树和二叉树
本章主要内容:
1、树和二叉树的基本概念;
2、二叉树的定义、性质和存储表示;
3、二叉树的建立、遍历方法,二叉树的线索化及存储;
4、树的存储结构、树和森林的遍历及与二叉树之间的转换
5、哈夫曼树的定义及其应用。 -
●5.1树的基本概念
树的基本概念
-
●5.2二叉树
二叉树的定义和性质、存储机构
-
●5.3二叉树的遍历
二叉树的遍历算法
-
●5.4线索二叉树
二叉树的线索化及遍历
-
●5.5树和森林
树的存储以及森林和二叉树的转换
-
●5.6哈夫曼树及其应用
哈夫曼树及其应用
-
●5.7本章小结
小结
-
第六章图
本章主要介绍图的相关概念以及应用
-
●6.1图的定义和术语
介绍图的一些相关定义和术语
-
●6.2图的存储结构
介绍图的几种存储结构
-
●6.3图的遍历
图的遍历方法
-
●6.4图的应用
图的应用实例
-
第七章查找
本章主要内容:
1.查找的基本概念
2.静态查找表:顺序查找、折半查找和索引查找。
3.动态查找表:二叉排序树、平衡二叉树和B-树。
4.哈希表的定义与构造方法及哈希表的查找。
日常生活中,人们经常要进行的一项工作是“查找”。查找(search)又称检索,是数据处理中使用最频繁的一种操作。例如,在通讯录中查找某个人的电话;在新闻中查找感兴趣的报道;在给定的一组数据集合中,查找某个数据元素是否存在;或者查找符合某些条件的多个数据元素等。查找算法的优劣往往影响整个软件系统的效率,本章将讨论几种查找算法。 -
●7.1查找的基本概念
本节主要内容:
1、查找的基本概念和基本术语;
2、查找算法的评估方法。 -
●7.2静态查找方法
本节主要内容:介绍三种静态查找算法,顺序查找、折半查找和分快查找。
-
●7.3动态查找
动态查找表通常采用树结构表示,既容易实现查找,又易于实现元素的插入和删除操作。
本节将介绍两种动态查找表:二叉排序树和平衡二叉树 -
●7.4哈希查找
本节主要介绍:
1、哈希表(Hash Table)查找方法的基本思想;
2、构造哈希函数的常用方法;
3、处理冲突的主要方法。
-
第八章排序
本章主要内容:
1. 排序的基本概念;
2. 插入排序方法,包括直接插入排序、折半插入排序及希尔排序;
3. 交换排序方法,包括冒泡排序和快速排序;
4. 选择排序方法,包括直接选择排序和堆排序;
5. 归并排序 、 基数排序方法 ;
6. 各种排序方法的优缺点和性能分析。 -
●8.1概述及插入排序
本节主要介绍:
1、排序的基本概念;
2、直接插入排序、希尔排序的算法思想,以及算法实现。
希尔排序是对直接插入排序的改进方法。 -
●8.2交换排序
本节主要介绍:
1、冒泡排序的算法思想和算法实现;
2、快速排序的算法思想和算法实现;
快速排序是对冒泡排序方法的改进。 -
●8.3选择排序
本节主要介绍两种选择排序方法:
1、简单选择排序的算法思想和算法实现;
2、堆排序的算法思想和算法实现。
注意对比分析二者的不同,堆排序是如何对简单排序方法进行的改进。 -
●8.4归并排序
本节主要介绍归并排序的算法思想,归并排序是外排序的基础。
-
●8.5基数排序
本节主要介绍基数排序的算法思想。
-
●8.6排序方法的比较
本节对多种排序方法进行了对比分析,主要从时间复杂度、空间复杂度和稳定性方法进行了对比分析。