前言
自从下决心要解决学生动手能力差的问题,开始了课程实践资源的建设之旅;自迷上了翻转课堂,所教课程的视频,也就逐渐形成了体系。在为我自己的校内学生服务的同时,也希望能够让更多人有机会用到。
自全身心投入教学,收入、奖金的渠道也便收缩到了极致。接受CSDN学院商业运作的规则,将课程投放此处,一则创收一些,弥补付出数倍精力建设资源而只能喝大锅饭中稀粥中的不平衡,二则因免费带来的不珍惜也让自己有些不快。课程定价大概等值于一张景区门票,或者一块生日蛋糕,愿者自行决定。
为天下IT学子服务的诺言不变,为大学生义务咨询的IT学子成长指导专栏长期有效,个人邮箱(sxhelijian@163.com)继续接收和回复各方学子的信件。
惟恐有如我求学时家贫的学子,想用这些资源,因为开销的缘故而放弃。在此给出另一个承诺:对于家贫的学子,你可以先行购课完成学习,学完之后给我写封Email汇报学习情况,并提供学习记录,我将为你返还购课费用(含CSDN学院收取的平台服务费)。对于特别困难的同学,也可以提前联系,我可以为你提供需要的学习便利。
所有资源将在2015年12月建完,届时也将会打包成“套餐”。祝所有食客吃得健康!
新增资源
为支持网络课程学员的学习,特公布配套的自测题目。你可以在看完视频之后,同步检测自己的学习效果。自测题目获取方法:到mosoteach.cn(蓝墨云班课),注册账号后,用邀请码393626加入“数据结构基础”网络课,在那里可以看到自测题目。可以下载蓝墨云班课APP,在手机上完成测试,体验也不错。
当然,“上机实践”仍然是非常重要的实践资源。
课程资源
系列1: 数据结构和算法
1. 关于数据结构课程(免费) [视频]
2. 什么是数据结构(免费) [视频]
3. 数据的逻辑结构及类型(免费) [视频]
4. 抽象数据类型(免费) [视频]
5. 算法及其描述(免费) [视频]
6. 算法复杂度概念(免费) [视频]
7. 算法分析实例(免费) [视频]
8. 算法与数据结构(免费) [视频]
上机实践与参考:数据结构、算法、程序设计
系列2:线性表
1. 导学(免费) [视频]
2. 线性表的逻辑结构与基本运算(免费) [视频]
3. 线性表的顺序存储结构 [视频]
4. 创建线性表的实现(暨参数类型的讨论) [视频
5. 顺序表基本运算的实现 [视频]
6. 线性表顺序存储的应用 [视频]
7. 实践指导:用程序实践算法(免费) [视频]
上机实践及参考:线性表(一)——顺序存储结构
8.线性表的链式存储 [视频]
9. 建立单链表 [视频]
10. 单链表基本操作的实现 [视频]
11. 单链表应用举例 [视频]
12. 双链表 [视频]
13. 循环链表 [视频]
14. 线性表的应用 [视频]
15. 有序表 [视频]
上机实践及参考:线性表(二)——链表
[拓展:C++标准模板库与数据结构]
系列3:栈和队列
1. “栈和队列”导学(免费) [视频]
2. 栈的定义(免费) [视频]
3. 栈的顺序存储结构及其基本运算实现 [视频]
4. 栈的链式存储结构及其基本运算的实现 [视频]
5. 栈的应用1-表达式求值 [视频]
6. 栈的应用2-迷宫问题 [视频]
上机实践及参考:栈和队列(一)——栈
补充应用案例:栈结构用于8皇后问题的回溯求解
7.队列的定义(免费) [视频]
8. 顺序队的存储及基本操作 [视频]
9. 环形队列的存储及基本操作 [视频]
10. 队列的链式存储结构及其基本运算的实现 [视频]
11. 队列的应用-迷宫问题 [视频]
12. 双端队列 [视频]
上机实践及参考:栈和队列(二)——队列
系列4:串
- 串的基本概念及导学 [视频]
11:09 [自测] - 串的顺序存储及其基本操作实现 [视频]
26:09 [算法库] - 串的顺序存储应用 [视频]
12:53 [例程] - 串的链式存储及其基本操作实现 [视频]
21:58 [算法库] [自测] - 串的模式匹配(Brute-Force算法) [视频]
16:15 [例程] - 串的模式匹配(KMP算法) [视频]
33:20 [例程] [自测]
上机实践及参考:串
系列5:数组与广义表
- 数组的基本概念与存储结构 [视频]
22:06 [自测] - 特殊矩阵的压缩存储 [视频]
31:56 [例程] [自测] - 稀疏矩阵的三元组表示 [视频]
26:41 [算法库] [自测] - 稀疏矩阵的十字链表表示 [视频]
28:33 [例程] - 广义表 [视频]
13:58 [自测] - 广义表的存储结构及基本运算的实现 [视频]
30:40 [算法库]
上机实践及参考:数组与广义表
系列6:树和二叉树
1 树结构导学 [视频]
2 树的基本概念 [视频]
3 树的基本术语 [视频]
4 树的性质 [视频]
5 树的存储结构 [视频]
6 二叉树概念和性质 [视频]
7 二叉树与树、森林之间的转换 [视频]
8 二叉树的存储结构 [视频]
9 二叉树的基本运算及其实现 [视频]
10 二叉树的遍历 [视频]
上机实践及参考:树和二叉树(一)
11 二叉树遍历非递归算法 [视频]
12 层次遍历算法 [视频]
13 二叉树的构造 [视频]
14 线索二叉树 [视频]
15 哈夫曼树 [视频]
上机实践及参考:树和二叉树(二)
系列7:图
1.图结构导学 [视频]
2. 图的定义 [视频]
3. 图的基本术语 [视频]
4. 图的邻接矩阵存储结构及算法 [视频]
5. 图的邻接表存储结构及算法 [视频]
6. 图的遍历 [视频]
7. 非连通图的遍历 [视频]
8. DFS(深度优先搜索)的应用 [视频]
9. BFS(广度优先搜索)的应用 [视频]
上机实践及参考:图的基本运算和遍历
10.生成树的概念 [视频]
11. 最小生成树的普里姆算 [视频]
12. 最小生成树的克鲁斯卡尔算法 [视频]
13. 从一个顶点到其余各顶点的最短路径 [视频]
14. 每对顶点之间的最短路径 [视频]
15. 拓扑排序 [视频]
16. AOE网与关键路径 [视频]
上机实践及参考:最短路径和拓扑序列
系列8:查找
1.查找问题导学 [视频]
2. 线性表的顺序查找 [视频]
3. 线性表的折半查找 [视频]
4. 索引存储结构 [视频]
5. 分块查找 [视频]
6. 二叉排序树 [视频]
7. 二叉排序树(续) [视频]
8. 平衡二叉树 [视频]
上机实践及参考:查找(一)
9.B-树 [视频]
10. B+树 [视频]
11. 哈希表——散列结构 [视频]
12. 哈希表的运算 [视频]
13. 拓展:谷歌搜索的数据结构 [视频]
上机实践及参考: 查找(二)
系列9:内部排序
1.排序问题及导学 [视频]
2. 插入排序之直接插入排序 [视频]
3. 插入排序之希尔排序 [视频]
4. 交换排序之冒泡排序 [视频]
5. 交换排序之快速排序 [视频]
6. 选择排序之直接选择排序 [视频]
7. 选择排序之堆排序 [视频]
8. 归并排序 [视频]
9. 简单的计数排序 [视频]
10. 基数排序 [视频]
11. 各种排序的比较 [视频]
上机实践及参考: 内部排序
系列10:外部排序
1.外排序概述 (免费) [视频]
2. 磁盘排序 [视频]
3. 多路平衡归并 [视频]
4. 初始归并段的置换-选择排序算法 [视频]
5. 最佳归并树 [视频]
6. 磁带多路平衡归并排序 [视频]
7. 磁带多阶段归并排序 [视频]
上机实践及参考: 外部排序模拟
系列11:文件
1 文件的基本概念 [视频]
2 顺序文件 [视频]
3 索引文件 [视频]
4 ISAM索引文件 [视频]
5 VSAM索引文件 [视频]
6 哈希文件 [视频]
7 多关键字文件 [视频]
8 课程结语 [视频]
上机实践及参考: 文件模拟