目录

  • 1 第一单元(说课、绪论)
    • 1.1 说课
    • 1.2 数据结构前提知识(c语言程序基础)
    • 1.3 绪论--讲义
    • 1.4 微课(1个)
    • 1.5 实验一:抽象数据类型三元组基本操作的实现
    • 1.6 单元测试
  • 2 第二单元(线性表)
    • 2.1 讲义
    • 2.2 微课(1个)
    • 2.3 实验二:用顺序表实现图书管理
    • 2.4 实验三:用单循环链表实现约瑟夫环问题
    • 2.5 线性表的应用
    • 2.6 单元测试
  • 3 第三单元(栈和队列)
    • 3.1 讲义
    • 3.2 实验四:用栈检测括号的匹配
    • 3.3 实验五:算术表达式求值
    • 3.4 栈和队列的应用
    • 3.5 单元测试
  • 4 第四单元(字符串)
    • 4.1 讲义
    • 4.2 微课(3个)
      • 4.2.1 堆分配
    • 4.3 实验六:实现串的基本操作
    • 4.4 单元测试
    • 4.5 课堂翻转情况
  • 5 第五单元(数组)
    • 5.1 讲义
    • 5.2 微课(4个)
      • 5.2.1 顺序存储
      • 5.2.2 特殊矩阵的压缩存储
      • 5.2.3 稀疏矩阵的转置(2种方法)
    • 5.3 实验七:稀疏矩阵的三元组表示和实现
    • 5.4 单元测试
    • 5.5 课堂翻转情况
  • 6 第六单元(二叉树)
    • 6.1 讲义
    • 6.2 微课(6个)
      • 6.2.1 1、树的顺序存储
      • 6.2.2 2、二叉树的遍历
      • 6.2.3 3、线索二叉树
      • 6.2.4 4、二叉树与同构的森林
      • 6.2.5 5、森林的遍历
      • 6.2.6 6、赫夫曼树与应用
    • 6.3 实验八:二叉树的遍历
    • 6.4 实验九:二叉树中的递归算法
    • 6.5 单元测试
  • 7 第七单元(图)
    • 7.1 讲义
    • 7.2 微课(7个)
      • 7.2.1 1、图的顺序存储
      • 7.2.2 2、图的链式存储
      • 7.2.3 3、图的遍历
      • 7.2.4 4、最小生成树
      • 7.2.5 5、有向无环图的应用
      • 7.2.6 6、关键路径
      • 7.2.7 7、最短路径
    • 7.3 实验十:用深度和广度优先搜索对用邻接表表示的图做遍历
    • 7.4 单元测试
  • 8 第八单元(动态存储管理)
    • 8.1 讲义(选学)
  • 9 第九单元(查找)
    • 9.1 讲义
    • 9.2 微课(4个 )
      • 9.2.1 1、静态查找
      • 9.2.2 2、折半查找
      • 9.2.3 3、二叉排序树
      • 9.2.4 4、哈希表
    • 9.3 实验十一:实现折半查找算法
    • 9.4 单元测试
  • 10 第十单元(排序)
    • 10.1 讲义
    • 10.2 微课(7个)
      • 10.2.1 1、直接插入排序
      • 10.2.2 2、其他插入排序案例
      • 10.2.3 3、交换排序(冒泡排序)
      • 10.2.4 4、快速排序
      • 10.2.5 5、选择排序
      • 10.2.6 6、堆排序
      • 10.2.7 7、归并排序
    • 10.3 实验十二:实现快速排序算法
    • 10.4 单元测试
    • 10.5 调查问卷
讲义


第6章 树和二叉树

6.1 树的定义和基本术语

6.2 二叉树

6.2.1 二叉树的定义

6.2.2 二叉树的性质

6.2.3 二叉树的存储结构

6.3 遍历二叉树和线索二叉树

6.3.1 遍历二叉树

6.3.2 线索二叉树

6.4 树和森林

6.4.1 树的存储结构

6.4.2 森林与二叉树的转换

6.4.3 树和森林的遍历

6.5 树与等价问题

6.6 赫夫曼树及其应用

6.6.1 最优二叉树(赫夫曼树)

6.6.2 赫夫曼编码

6.7 回溯法与树的遍历

6.8 树的计数