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