考查目标

  • 掌握数据结构的基本概念、基本原理和基本方法。
  • 掌握数据的逻辑结构、存储结构及基本操作的实现,能够对算法进行基本的时间复杂度与空间复杂度的分析。
  • 能够运用数据结构基本原理和方法进行问题的分析与求解,具备采用C或C++语言设计与实现算法的能力。

线性表

  • 线性表的定义和基本操作
  • 线性表的实现
    1. 顺序存储  
    2. 链式存储  
    3. 线性表的应用

栈、队列和数组

  • 栈和队列的基本概念  
  • 栈和队列的顺序存储结构
  • 栈和队列的链式存储结构
  • 栈和队列的应用
  • 特殊矩阵的压缩存储

树与二叉树

  • 树的基本概念
  • 二叉树
    1. 二叉树的定义及其主要特征  
    2. 二叉树的顺序存储结构和链式存储结构  
    3. 二叉树的遍历
    4. 线索二叉树的基本概念和构造
  • 树、森林
    1. 树的存储结构  
    2. 森林与二叉树的转换  
    3. 树和森林的遍历
  • 树与二叉树的应用
    1. 二叉排序树
    2. 平衡二叉树
    3. 哈夫曼(Huffman)树和哈夫曼编码

  • 图的基本概念
  • 图的存储及基本操作
    1. 邻接矩阵法
    2. 邻接表法  
    3. 邻接多重表、十字链表
  • 图的遍历
    1. 深度优先搜索
    2. 广度优先搜索
  • 图的基本应用
    1. 最小(代价)生成树  
    2. 最短路径  
    3. 拓扑排序  
    4. 关键路径

查找

  • 查找的基本概念  
  • 顺序查找法  
  • 分块查找法
  • 折半查找法  
  • B树及其基本操作、B+树的基本概念
  • 散列(Hash)表  
  • 字符串模式匹配  
  • 查找算法的分析及应用

排序

  • 排序的基本概念
  • 插入排序
    1. 直接插入排序  
    2. 折半插入排序
  • 气泡排序(bubble sort)  
  • 简单选择排序
  • 希尔排序(shell sort)  
  • 快速排序
  • 堆排序  
  • 二路归并排序(merge sort)
  • 基数排序  
  • 外部排序
  • 各种内部排序算法的比较  
  • 排序算法的应用