目录

  • 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 调查问卷
讲义

第7章 图

7.1 图的定义和术语

7.2 图的存储结构

7.2.1 数组表示法

7.2.2 邻接表

7.2.3 十字链表

7.2.4 邻接多重表

7.3 图的遍历

7.3.1 深度优先搜索

7.3.2 广度优先搜索

7.4 图的连通性问题

7.4.1 无向图的连通分量和生成树

7.4.2 有向图的强连通分量

7.4.3 最小生成树

7.4.4 关节点和重连通分量

7.5 有向无环图及其应用

7.5.1 拓扑排序

7.5.2 关键路径

7.6 最短路径

7.6.1 从某个源点到其余各顶点的最短路径

7.6.2 每一对顶点之间的最短路径