漫话数据结构
漫话数据结构
1000+ 人选课
更新日期:2025/12/13
开课时间2025/07/21 - 2026/01/20
课程周期27 周
开课状态开课中
每周学时-
课程简介
漫话数据结构,拯救程序灵魂。获得图灵奖的Pascal之父——Nicklaus Wirth曾经说过程序=数据结构+算法,一段没有数据结构思想融入的程序就像没有灵魂的人一般苍白。本课程摒弃传统数据结构课程偏重理论的内容组织方式,结合真实应用场景中的案例来重构教学内容,选取了猴子选大王程序、银行叫号算法、DNA里的秘密、最大岛屿问题等典型案例,采用线上线下混合教学的模式,帮助学生构建知识体系,培养分析问题和解决问题的能力,强化团队合作意识和吃苦耐劳的敬业精神。是软件技术及相关专业的必修课程,也可以作为从业人员考取资格证书的辅助学习资源。
课程大纲

在线教程

章节简介教学计划
课程介绍
登录后可预览视频
课程介绍
于莉莉
初识数据结构
你好数据结构
什么是数据结构
于莉莉
数据结构常见术语
于莉莉
神奇的数据结构
学习数据结构的意义
于莉莉
精彩的算法
什么是算法
于莉莉
算法的度量
于莉莉
线性表那些事儿
低调的顺序表
线性表的顺序存储
于莉莉
猴子选大王程序分析及实现
于莉莉
神秘的链表
线性表的链式存储
于莉莉
单链表的基本操作
于莉莉
单循环链表
于莉莉
双向链表
于莉莉
链表的应用
于莉莉
栈和队列
逆天的后进先出线性表——栈
栈的定义
平金珍
顺序栈
平金珍
随时提醒你的语法错误1
平金珍
随时提醒你的语法错误2
平金珍
链栈
王茜
表达式求值1
王茜
表达式求值2
王茜
讲理的先进先出线性表——队列
队列的定义
平金珍
顺序队列
平金珍
循环队列
平金珍
舞伴问题
平金珍
链队列
平金珍
银行叫号功能的实现
平金珍
横扫字符界的线性表——串
串的定义
平金珍
串的存储及操作
平金珍
串上的操作2
平金珍
DNA里的秘密
平金珍
树和二叉树
树不一定是植物
树的定义和逻辑表示方法
李新强
树的基本术语和性质
李新强
树的基本运算
李新强
树的存储结构
李新强
枝枝丫丫的树——二叉树
二叉树的基本概念
李新强
二叉树的性质
李新强
二叉树的存储和遍历
李新强
哈夫曼树和哈夫曼编码
李新强
图的定义
图的定义
温沁润
图的表示
邻接矩阵(1)
温沁润
邻接矩阵(2)
温沁润
邻接矩阵(3)
温沁润
邻接表(1)
温沁润
邻接表(2)
温沁润
图的遍历
深度优先遍历(1)
温沁润
深度优先遍历(2)
温沁润
深度优先遍历(3)
温沁润
深度优先遍历的应用(1)
温沁润
深度优先遍历的应用(2)
温沁润
深度优先遍历的应用(3)
温沁润
深度优先遍历的应用(4)
温沁润
广度优先遍历
温沁润
图的应用
最大岛屿(1)
温沁润
最大岛屿(2)
温沁润
最大岛屿(3)
温沁润
最大岛屿(4)
温沁润
转盘锁(1)
温沁润
转盘锁(2)
温沁润
转盘锁(3)
温沁润
万能的查找
查找概述
什么是查找
白振林
常用查找算法
顺序查找和折半查找
白振林
哈希表
班娅萌
查找的应用
学生成绩分段查找
白振林
传说中的排序
排序概述
什么是排序
刘玲惠
直接插入排序
直接插入排序
刘玲惠
简单选择排序
简单选择排序
刘玲惠
冒泡排序
冒泡排序
刘玲惠
快速排序
快速排序
刘玲惠
排序的应用
学生信息按照成绩关键字排序
刘玲惠
  • 绪章课程介绍

    本部分对数据结构课程的作用,开设意义进行了说明,并且介绍了课程的整体内容框架,课程的讲解思路以及课程的整体设计。

  • 0.1课程介绍

    本部分对数据结构课程的作用,开设意义进行了说明,并且介绍了课程的整体内容框架,课程的讲解思路以及课程的整体设计。

  • 第一章初识数据结构

    本部分讲解了数据结构的定义以及相关术语,学习数据结构的意义,数据结构课程的学习在程序设计中的作用,算法的度量方法,会应用数据结构相关概念分析实际项目中的数据结构选取问题。

  • 1.1你好数据结构

    本部分讲解了数据结构的定义以及相关术语。

  • 1.2神奇的数据结构

    本部分讲解了数据结构的意义,数据结构课程的学习在程序设计中的作用。

  • 1.3精彩的算法

    本部分讲解了算法的度量方法,会应用数据结构相关概念分析实际项目中的数据结构选取问题。

  • 第二章线性表那些事儿

    本部分利用“猴子选大王”等经典案例讲解了线性表的逻辑结构特点,如何定义顺序表,掌握顺序表上的基本操作。如何定义单链表,单循环链表,双向链表,双向循环链表。掌握各链表上的基本操作。

  • 2.1低调的顺序表

    本部分利用“猴子选大王”等经典案例讲解了线性表的逻辑结构特点,如何定义顺序表,掌握顺序表上的基本操作。

  • 2.2神秘的链表

    本部分讲解了如何定义单链表,单循环链表,双向链表,双向循环链表。掌握单链表,单循环链表,双向链表,双向循环链表上的基本操作。

  • 第三章栈和队列

    本部分利用“表达式求值”、“银行叫号问题”等经典案例讲解了栈的逻辑结构特点以及相关术语,如何定义顺序栈,掌握顺序栈上的基本操作,如何定义链栈,掌握链栈上的基本操作。讲解了队列的逻辑结构特点以及相关术语,如何定义顺序队列,掌握顺序队列上的基本操作;如何定义链队列,掌握链队列上的基本操作。

  • 3.1逆天的后进先出线性表——栈

    本部分利用“随时提醒你的语法错误”、“表达式求值”等经典案例讲解了栈的逻辑结构特点以及相关术语,如何定义顺序栈,掌握顺序栈上的基本操作,如何定义链栈,掌握链栈上的基本操作。

  • 3.2讲理的先进先出线性表——队列

    本部分利用“舞伴问题”、“银行叫号问题”等经典案例讲解了队列的逻辑结构特点以及相关术语,如何定义顺序队列,掌握顺序队列上的基本操作;如何定义链队列,掌握链队列上的基本操作。

  • 第四章

    本部分利用“DNA里的秘密”经典案例讲解了串的定义以及相关术语,串的存储及基本操作,掌握串的模式匹配算法:Brute-Force算法。

  • 4.1横扫字符界的线性表——串

    本部分利用“DNA里的秘密”经典案例讲解了串的定义以及相关术语,串的存储及基本操作,掌握串的模式匹配算法:Brute-Force算法。

  • 第五章树和二叉树

    本部分主要讲解了树的定义以及相关术语和性质;如何应用各种方式表示树;树的存储,树上的基本操作。二叉树的定义、性质、存储和遍历;构造哈夫曼树并计算哈夫曼编码;

  • 5.1树不一定是植物

    本部分主要讲解了树的定义以及相关术语和性质;如何应用各种方式表示树;树的存储,树上的基本操作。

  • 5.2枝枝丫丫的树——二叉树

    本部分主要讲解了二叉树的定义、性质、存储和遍历;构造哈夫曼树并计算哈夫曼编码;

  • 第六章

    本部分主要讲解了图的定义以及相关术语;图的各种存储方法;图的遍历方法;图上的常见应用。

  • 6.1图的定义

    本部分主要讲解了图的定义,逻辑结构特点以及相关术语。

  • 6.2图的表示

    本部分主要讲解了图的各种存储方法。

  • 6.3图的遍历

    本部分主要讲解了图的各种遍历方法。

  • 6.4图的应用

    本部分主要讲解了图的两个应用“最大岛屿”和“转盘锁”。

  • 第七章万能的查找

    本部分主要讲解了查找的定义,顺序查找、折半查找的实现方法;如何应用哈希表处理冲突;如何选择合适的查找算法解决学生成绩分段查找问题。

  • 7.1查找概述

    本部分主要讲解了查找的定义。

  • 7.2常用查找算法

    本部分主要讲解了查找的常见算法顺序查找、折半查找的实现方法;如何应用哈希表处理冲突。

  • 7.3查找的应用

    本部分主要讲解了如何选择合适的查找算法解决学生成绩分段查找问题。

  • 第八章传说中的排序

    本部分主要讲解了排序的定义,直接插入排序的算法;简单选择排序的算法;冒泡排序的算法;快速排序的算法;如何利用合适的排序算法实现学生信息按照成绩关键字排序。

  • 8.1排序概述

    本部分主要讲解了排序的定义。

  • 8.2直接插入排序

    本部分主要讲解了直接插入排序的算法的实现方法。

  • 8.3简单选择排序

    本部分主要讲解了简单选择排序的算法的实现方法。

  • 8.4冒泡排序

    本部分主要讲解了冒泡排序的算法的实现方法。

  • 8.5快速排序

    本部分主要讲解了快速排序的算法的实现方法。

  • 8.6排序的应用

    本部分主要讲解了如何利用合适的排序算法实现学生信息按照成绩关键字排序。

  • 开始学习
  • 绪章  作业测试
    绪章课程介绍

    0.1 课程介绍

    视频数1
  • 第一章  作业测试
    第一章 初识数据结构

    1.1 你好数据结构

    1.2 神奇的数据结构

    1.3 精彩的算法

    视频数5
  • 第二章  作业测试
    第二章 线性表那些事儿

    2.1 低调的顺序表

    2.2 神秘的链表

    视频数7
  • 第三章  作业测试
    第三章 栈和队列

    3.1 逆天的后进先出线性表——栈

    3.2 讲理的先进先出线性表——队列

    视频数13
  • 第四章  作业测试
    第四章

    4.1 横扫字符界的线性表——串

    视频数4
  • 第五章  作业测试
    第五章 树和二叉树

    5.1 树不一定是植物

    5.2 枝枝丫丫的树——二叉树

    视频数8
  • 第六章  作业测试
    第六章

    6.1 图的定义

    6.2 图的表示

    6.3 图的遍历

    6.4 图的应用

    视频数21
  • 第七章  作业测试
    第七章 万能的查找

    7.1 查找概述

    7.2 常用查找算法

    7.3 查找的应用

    视频数4
  • 第八章  作业测试
    第八章 传说中的排序

    8.1 排序概述

    8.2 直接插入排序

    8.3 简单选择排序

    8.4 冒泡排序

    8.5 快速排序

    8.6 排序的应用

    视频数6
  • 期末考试