一、基本概念与术语

1.1 数据结构的基本概念

  • 数据:描述客观事物的符号记录的集合。
  • 数据元素:数据的基本单位。
  • 数据项:数据元素的一个属性。
  • 数据结构:数据元素之间的相互关系和数据元素的存储表示。

1.2 数据结构的特点

  • 存储结构:逻辑结构在计算机中的表示。
  • 逻辑结构:数据元素之间的逻辑关系。
  • 运算:对数据结构执行的操作。

二、线性表

2.1 线性表的定义与性质

  • 定义:有限个数据元素的集合,数据元素之间存在一对一的线性关系。
  • 性质:有且只有一个根节点,每个节点最多有一个前驱节点和一个后继节点。

2.2 线性表的存储结构

  • 顺序存储结构:数组。
  • 链式存储结构:链表。

2.3 线性表的运算

  • 插入、删除、查找等基本操作。

三、栈与队列

3.1 栈的定义与性质

  • 定义:限定只在一端进行插入和删除操作的线性表。
  • 性质:后进先出(LIFO)。

3.2 队列的定义与性质

  • 定义:限定只在一端进行插入和在另一端进行删除操作的线性表。
  • 性质:先进先出(FIFO)。

3.3 栈与队列的存储结构

  • 栈:顺序存储结构。
  • 队列:顺序存储结构或链式存储结构。

3.4 栈与队列的运算

  • 入栈、出栈、入队、出队等基本操作。

四、树与二叉树

4.1 树的定义与性质

  • 定义:n(n≥0)个节点的有限集合,有且只有一个根节点,其余节点分为m(m≥0)个互不相交的有限集合,每个集合本身又是一棵树。
  • 性质:每个节点最多有一个前驱节点和一个后继节点。

4.2 二叉树

  • 定义:n(n≥0)个节点的有限集合,满足以下两个条件:
    1. 有且只有一个根节点。
    2. 每个节点最多有两个子节点,分别称为左子节点和右子节点。

4.3 二叉树的性质

  • 深度:根节点到叶节点的最长路径长度。
  • 度:节点的子节点个数。
  • 节点数:树中所有节点的个数。

4.4 二叉树的存储结构

  • 顺序存储结构:完全二叉树。
  • 链式存储结构:二叉链表。

4.5 二叉树的运算

  • 创建、遍历、查找、插入、删除等基本操作。

五、图

5.1 图的定义与性质

  • 定义:n(n≥0)个顶点的有限集合,顶点之间通过边相连。
  • 性质:无向图、有向图、无权图、有权图。

5.2 图的存储结构

  • 邻接矩阵:表示图中顶点之间的连接关系。
  • 邻接表:表示图中顶点之间的连接关系。

5.3 图的运算

  • 创建、遍历、查找、插入、删除等基本操作。

六、查找

6.1 查找的基本概念

  • 查找:在数据结构中查找某个特定的数据元素。
  • 查找算法:实现查找操作的算法。

6.2 常用查找算法

  • 顺序查找:线性查找。
  • 二分查找:适用于有序数组。
  • 哈希查找:通过哈希函数将数据元素映射到存储位置。

七、排序

7.1 排序的基本概念

  • 排序:将一组数据元素按照一定的顺序排列。
  • 排序算法:实现排序操作的算法。

7.2 常用排序算法

  • 冒泡排序:比较相邻元素,若逆序则交换。
  • 选择排序:选择未排序部分的最小(或最大)元素,放到已排序部分的末尾。
  • 插入排序:将未排序的元素插入到已排序的序列中。
  • 快速排序:分治法实现。
  • 归并排序:分治法实现。

八、总结

通过以上复习大纲,相信你能够对数据结构的基本概念、线性表、栈与队列、树与二叉树、图、查找和排序等方面有更深入的了解。在复习过程中,要注意以下几点:

  1. 理解基本概念,掌握各种数据结构的存储结构和运算。
  2. 熟练掌握常用查找和排序算法。
  3. 练习编程实现各种数据结构和算法。
  4. 多做习题,巩固所学知识。

祝你期末考试顺利过关!