算法

  • 数据结构、数据类型、逻辑结构和物理存储结构
  • 算法时间复杂度:评价效率方法、算法执行时间、时间复杂度、空间复杂度
  • 算法描述:算法五个基本特性、优秀算法的特性、算法描述方法
  • 递归:递归转非递归(循环形式、栈形式)
  • 哈希:散列函数、哈希冲突、哈希构造方法、冲突处理
  • 搜索:静态查找(顺序查找、折半查找、分块查找)、动态查找(二叉排序树、平衡二叉树)
  • 排序:稳定性、插入排序、希尔排序、冒泡排序、快速排序、选择排序、堆排序、归并排序、基数排序

线性结构

  • 线性表:插入、删除、查找
  • 链表:插入、删除、查找
  • 栈:压栈、出栈、读栈、顺序栈和链式栈、表达式求值和转换
  • 队列:队列操作、顺序和链式、循环队列、优先队列、
  • 字符串:C++内置函数、基本操作、模式匹配、KMP
  • 数组:多维数组、对称/对角/稀疏矩阵的压缩存储、系数矩阵快速转置、十字链表、广义表

  • 树:基本概念、满 $k$ 叉树性质、树的表示、存储结构
  • 二叉树:
    • 基本概念、表达式树
    • 满二叉树和完全二叉树的性质
    • 存储方式(顺序存储、链式存储)
    • 二叉树的遍历(先序、中序、后序)的(递归、非递归)实现
    • 通过遍历序列来恢复二叉树,及其非递归实现
    • 线索二叉树
    • 哈夫曼树
  • 堆:定义、性质、堆调整算法、插入、删除

  • 图的基本概念、存储表示(邻接矩阵、邻接表、十字链表)
  • 图的遍历(DFS、BFS)及其遍历树
  • 强联通分量、Kosaraju
  • 生成树、最小生成树、Kruskal、Prim、并查集
  • 最短路、Dijkstra、Floyd
  • 有向无环图、拓扑排序、关键路径