数据结构与算法

  • 开发院校:桂林电子科技大学
  • 讲课老师:张瑞霞 周娅 唐麟
  • 辅导老师:张瑞霞 唐麟
  • 实验老师:张瑞霞 唐麟
  • 竞赛老师:张瑞霞
  • 课时:32(建议)
  • 学分:2(建议)
  • 更新日期:2016-09-20 21:33:36
  • 选课人数:1189
课程简介

数据结构与算法课程的核心位置毋庸置疑,本课程旨在讲解实用的数据结构与算法,包括线性表、栈和队列、树和二叉树、图等基本数据结构;AVL树、红黑树、B树等复杂数据结构;以及检索和排序等重要操作算法。通过本课程的学习,使学生能够针对具体问题选择合适的数据结构,以合理地组织数据、有效地存储和处理数据,以培养学生的数据抽象;使学生能够将数据结构和应用付诸编程实践,正确地设计、编制高效算法,并对算法进行分析和评价,以培养学生良好的程序设计开发技能;使学生能够应用工程知识和专业背景知识分析复杂工程问题,进行复杂程序设计的训练,解决工程实践问题,以培养学生的工程实践能力

本课程视频侧重理论和实践紧密结合,按照基本结构操作-算法讲解与实现-数据结构基本应用-应用扩展实践的路线讲解,不但锻炼你的抽象思维能力,更侧重动手实践能力的培养,注重基本数据结构的算法设计与实现以及它们的应用场景,在高度抽象和高度具体之间搭起一座桥梁。200多个视频片段有助于你自主地碎片化学习;CodeByCode视频直接在开发环境中讲解代码,使你“所见即所得”,减少起步的挫败感、增加自信;课后作业讲解视频进一步提升你的算法设计和动手能力。

课程提供A级、B级和C级三个等级的考试题目,题目公布于广西漓江学堂网站。考生需要提前在系统中选定难度等级,进入考场后,系统根据考生所选难度等级从相应的题库中随机分配考题。考生需要在规定的时间内完成算法的设计、编码调试和运行测试。成功运行后最终由教师现场验收,并根据完成质量现场给出得分,每个等级都以100分为满分,但是最终考试成绩评定根据难度等级进行。若所选题为A级类题目,得分即为最终考试成绩;若所选难度为B级难度题目,得分*0.9为最终考试成绩;若所选难度为C级难度题目,得分*0.8为最终考试成绩。

标题 时长 更新时间 学习人次
ch0-1-1 课程导学 00:04:44 2016-11-15 23:00:00 5102
ch0-2-1 复习指针 00:08:46 2016-11-15 23:00:00 3615
ch0-2-2 复习数组与指针 00:06:09 2016-11-15 23:00:00 3208
ch0-2-3 复杂malloc 00:07:19 2016-11-15 23:00:00 2796
ch0-2-4 复习结构体与指针 00:06:33 2016-11-15 23:00:00 2906
ch1-0-1 概述导学 00:02:08 2016-11-15 23:00:00 2545
ch1-1-1 快排PK冒泡 00:07:56 2016-11-15 23:00:00 2726
ch1-1-2 中国剩余定理 00:04:55 2016-11-15 23:00:00 2546
ch1-1-3 欧几里得算法 00:03:40 2016-11-15 23:00:00 2434
ch1-1-4 数据结构设计 00:02:41 2016-11-15 23:00:00 2412
ch1-2-1 数据结构建模 00:02:50 2016-11-15 23:00:00 2416
ch1-2-2 交叉路口灯实例 00:07:04 2016-11-15 23:00:00 2639
ch1-2-3 实例建模 00:04:58 2016-11-15 23:00:00 2348
ch1-3-1 ADT初识 00:03:33 2016-11-15 23:00:00 2319
ch1-3-2 ADT与API 00:03:02 2016-11-15 23:00:00 2324
ch1-4-1 数据结构初识 00:08:20 2016-11-15 23:00:00 2360
ch1-5-1 算法 00:05:12 2016-11-15 23:00:00 2340
ch1-5-2 大O表示法 00:06:11 2016-11-15 23:00:00 2433
ch1-5-3 时间复杂度常见级数比较 00:05:34 2016-11-15 23:00:00 2364
ch1-5-4 循环与级数 00:08:04 2016-11-15 23:00:00 2327
ch2-0-1 导学 00:02:37 2016-11-15 23:00:00 2362
ch2-1-1 线性表概念 00:06:50 2016-11-15 23:00:00 2613
ch2-1-2 顺序表链表比较 00:11:04 2016-11-15 23:00:00 2457
ch2-2-1 顺序表的建立和判空算法 00:06:31 2016-11-15 23:00:00 2645
ch2-3-1 顺序表的插入算法 00:04:57 2016-11-15 23:00:00 2435
ch2-3-2 插入算法的时间复杂度 00:02:48 2016-11-15 23:00:00 2342
ch2-3-3 删除算法和时间复杂度 00:05:46 2016-11-15 23:00:00 2360
ch2-4-1 顺序表的查找算法 00:03:13 2016-11-15 23:00:00 2365
ch2-5-1 头插法建立单链表 00:08:15 2016-11-15 23:00:00 2623
ch2-5-2 尾插法建立单链表 00:03:25 2016-11-15 23:00:00 2486
ch2-6-1 链表的查找算法 00:05:10 2016-11-15 23:00:00 2303
ch2-7-1 单链表的插入过程 00:04:04 2016-11-15 23:00:00 2310
ch2-7-2 插入仿真演示 00:04:20 2016-11-15 23:00:00 2292
ch2-8-1 单链表的删除过程 00:02:41 2016-11-15 23:00:00 2312
ch2-8-2 删除仿真演示 00:05:05 2016-11-15 23:00:00 2217
ch2-9-1 单循环链表及实例 00:07:13 2016-11-15 23:00:00 2431
ch2-10-1 双链表插入和删除 00:06:28 2016-11-15 23:00:00 2291
ch2-11-1 多项式加法讲解 00:08:53 2016-11-15 23:00:00 2338
ch2-11-2 多项式加法代码实现 00:12:24 2016-11-15 23:00:00 2618
ch2-12-1 Josephus问题 00:08:41 2016-11-15 23:00:00 2335
ch2-12-2 Josephus变形 00:01:53 2016-11-15 23:00:00 2176
ch2-13-1 内核链表思想 00:04:53 2016-11-15 23:00:00 2183
ch2-13-2 实例与思考 00:06:32 2016-11-15 23:00:00 2280
ch2-14-1 DLL概念以及DUMP演示 00:15:16 2016-11-15 23:00:00 2412
ch2-14-2 CMD构建演示 00:13:31 2016-11-15 23:00:00 2255
ch2-14-3 构建自己的DLL 00:11:15 2016-11-15 23:00:00 2228
ch2-14-4 构建DLL常见错误 00:07:30 2016-11-15 23:00:00 2187
ch2-14-5 钩子 00:08:37 2016-11-15 23:00:00 2165
ch3-0-1 字符串导学 00:01:49 2016-11-15 23:00:00 2214
ch3-1-1 字符串概念 00:06:46 2016-11-15 23:00:00 2186
ch3-2-1 BF算法过程 00:07:01 2016-11-15 23:00:00 2256
ch3-2-2 BF是否时间复杂度 00:05:18 2016-11-15 23:00:00 2180
ch3-3-1 KMP实例初识 00:06:20 2016-11-15 23:00:00 2208
ch3-3-2 KMP算法及时间复杂度 00:05:37 2016-11-15 23:00:00 2141
ch3-3-3 认识next 00:07:42 2016-11-15 23:00:00 2173
ch3-3-4 计算next 00:08:29 2016-11-15 23:00:00 2225
ch3-3-5 next计算实例 00:08:23 2016-11-15 23:00:00 2127
ch3-3-6 改进next 00:05:57 2016-11-15 23:00:00 2101
ch4-0-1 栈和队列导学 00:02:23 2016-11-15 23:00:00 2222
ch4-1-1 基本概念 00:05:08 2016-11-15 23:00:00 2148
ch4-2-1 顺序栈 00:10:55 2016-11-15 23:00:00 2289
ch4-3-1 链栈操作 00:08:18 2016-11-15 23:00:00 2358
ch4-3-2 入栈和出栈仿真演示 00:05:08 2016-11-15 23:00:00 2214
ch4-4-1 进制转换 00:06:12 2016-11-15 23:00:00 2149
ch4-5-1 括号匹配算法讲解 00:07:23 2016-11-15 23:00:00 2147
ch4-5-2 括号匹配算法流程 00:03:35 2016-11-15 23:00:00 2138
ch4-5-3 括号匹配算法代码实现 00:06:19 2016-11-15 23:00:00 2127
ch4-6-1 认识递归 00:07:56 2016-11-15 23:00:00 2174
ch4-7-1 栈与迷宫 00:04:39 2016-11-15 23:00:00 2433
ch4-7-2 迷宫算法 00:09:48 2016-11-15 23:00:00 2347
ch4-7-3 迷宫广度策略 00:06:16 2016-11-15 23:00:00 2175
ch4-8-1 后缀表达式计算 00:04:23 2016-11-15 23:00:00 2142
ch4-8-2 中缀表达式转换为后缀表达式 00:07:05 2016-11-15 23:00:00 2165
ch4-9-1 “聪明的学生”递归思路讲解 00:06:14 2016-11-15 23:00:00 2212
ch4-9-2 “聪明的学生”代码 00:04:16 2016-11-15 23:00:00 2222
ch4-10-1 循环队列基本概念 00:08:26 2016-11-15 23:00:00 2178
ch4-10-2 循环队列算法演示讲解 00:06:47 2016-11-15 23:00:00 2174
ch4-10-3 循环队列算法代码详解 00:07:56 2016-11-15 23:00:00 2202
ch4-11-1 链队列算法演示讲解 00:02:29 2016-11-15 23:00:00 2189
ch4-11-2 入队和出队仿真演示 00:07:33 2016-11-15 23:00:00 2449
ch4-11-3 链队列算法代码详解 00:08:17 2016-11-15 23:00:00 2168
ch4-12-1 农夫过河策略 00:10:11 2016-11-15 23:00:00 2351
ch4-12-2 农夫过河算法 00:04:01 2016-11-15 23:00:00 2281
ch4-12-3 农夫过河代码 00:08:11 2016-11-15 23:00:00 2379
ch4-13-1 双端队列及应用举例 00:08:35 2016-11-15 23:00:00 2186
ch5-0-1 树和二叉树导学 00:01:27 2016-11-15 23:00:00 2219
ch5-1-1 二叉树的基本概念术语 00:09:12 2016-11-15 23:00:00 2199
ch5-1-2 特殊的二叉树 00:08:01 2016-11-15 23:00:00 2149
ch5-2-1 二叉树的性质1-3 00:09:22 2016-11-15 23:00:00 2073
ch5-2-2 二叉树的性质4-7 00:09:34 2016-11-15 23:00:00 2175
ch5-3-1 二叉树的遍历概念和实例 00:06:28 2016-11-15 23:00:00 2205
ch5-3-2 先根遍历算法 00:07:28 2016-11-15 23:00:00 2224
ch5-3-3 对称和后根遍历算法 00:07:34 2016-11-15 23:00:00 2182
ch5-4-1 广度遍历算法 00:05:06 2016-11-15 23:00:00 2240
ch5-5-1 二叉树的重构 00:08:45 2016-11-15 23:00:00 2130
ch5-5-2 满二叉树的重构 00:09:51 2016-11-15 23:00:00 2124
ch5-6-1 交叉遍历分析 00:09:18 2016-11-15 23:00:00 2241
ch5-7-1 二叉树的顺序存储 00:05:59 2016-11-15 23:00:00 2125
ch5-8-1 二叉树的链式存储 00:05:06 2016-11-15 23:00:00 2159
ch5-9-1 递归建立仿真演示 00:07:52 2016-11-15 23:00:00 2177
ch5-9-2 递归建立代码实现 00:04:34 2016-11-15 23:00:00 2151
ch5-9-3 用队列创建二叉树思路 00:03:13 2016-11-15 23:00:00 2162
ch5-9-4 用队列创建二叉树算法 00:07:46 2016-11-15 23:00:00 2136
ch5-9-5 创建二叉树时常见问题 00:05:24 2016-11-15 23:00:00 2158
ch5-10-1 先根遍历迭代1算法演示和实例 00:06:28 2016-11-15 23:00:00 2165
ch5-10-2 先根遍历迭代1代码实现 00:02:56 2016-11-15 23:00:00 2169
ch5-10-3 先根遍历迭代2的演示 00:09:12 2016-11-15 23:00:00 2131
ch5-10-4 迭代2算法和实例 00:05:53 2016-11-15 23:00:00 2112
ch5-10-5 对称遍历 00:06:39 2016-11-15 23:00:00 2120
ch5-10-6 后根遍历迭代1 00:06:16 2016-11-15 23:00:00 2080
ch5-10-7 后根遍历迭代2 00:10:37 2016-11-15 23:00:00 2103
ch5-11-1 统计二叉树的叶子和总结点个数 00:05:11 2016-11-15 23:00:00 2108
ch5-11-2 统计二叉树的右结点个数和深度 00:04:08 2016-11-15 23:00:00 2072
ch5-12-1 建立穿线树演示 00:05:00 2016-11-15 23:00:00 2069
ch5-12-2 建立穿线树算法 00:06:31 2016-11-15 23:00:00 2064
ch5-12-3 遍历穿线树算法 00:06:10 2016-11-15 23:00:00 2179
ch5-13-1 优先队列概念 00:05:58 2016-11-15 23:00:00 2076
ch5-13-2 有序线性表实现 00:05:02 2016-11-15 23:00:00 2042
ch5-13-3 堆实现优先队列的插入 00:06:49 2016-11-15 23:00:00 2139
ch5-13-4 堆实现优先队列的删除 00:07:03 2016-11-15 23:00:00 2072
ch5-14-1 哈夫曼树的概念和构造 00:09:26 2016-11-15 23:00:00 2168
ch5-14-2 哈夫曼算法 00:07:37 2016-11-15 23:00:00 2116
ch5-14-3 哈夫曼编码 00:06:29 2016-11-15 23:00:00 2091
ch5-15-1 表达式树 00:04:42 2016-11-15 23:00:00 2324
ch5-16-1 树的基本概念 00:04:53 2016-11-15 23:00:00 2103
ch5-17-1 树的遍历 00:03:41 2016-11-15 23:00:00 2106
ch5-17-2 树的先根遍历算法 00:08:19 2016-11-15 23:00:00 2140
ch5-17-3 树的后根遍历算法 00:06:24 2016-11-15 23:00:00 2083
ch5-17-4 树的层次遍历算法 00:04:46 2016-11-15 23:00:00 2077
ch5-18-1 树的存储表示 00:10:18 2016-11-15 23:00:00 2037
ch5-19-1 树、树林与二叉树的转换 00:06:42 2016-11-15 23:00:00 2193
ch6-0-1 字典和检索导学 00:01:52 2016-11-15 23:00:00 2078
ch6-1-1 字典基本概念 00:04:01 2016-11-15 23:00:00 2167
ch6-2-1 顺序检索 00:05:43 2016-11-15 23:00:00 2159
ch6-3-1 二分检索演示 00:07:49 2016-11-15 23:00:00 2178
ch6-3-2 二分检索实例 00:04:27 2016-11-15 23:00:00 2138
ch6-3-3 二分检索ASL 00:06:09 2016-11-15 23:00:00 2085
ch6-4-1 词汇表 00:08:54 2016-11-15 23:00:00 2108
ch6-4-2 生日悖论 00:07:01 2016-11-15 23:00:00 2115
ch6-4-3 几种常见的散列函数 00:07:20 2016-11-15 23:00:00 2077
ch6-5-1 开地址法解决冲突 00:07:19 2016-11-15 23:00:00 2180
ch6-5-2 拉链法解决冲突 00:03:36 2016-11-15 23:00:00 2130
ch6-6-1 散列表的检索 00:07:16 2016-11-15 23:00:00 2186
ch6-6-2 散列表的删除 00:03:38 2016-11-15 23:00:00 2103
ch7-1-1 二叉排序树的基本概念 00:05:03 2016-11-15 23:00:00 2107
ch7-2-1 二叉排序树的检索算法 00:06:12 2016-11-15 23:00:00 2155
ch7-3-1 二叉排序树的插入 00:06:45 2016-11-15 23:00:00 2203
ch7-4-1 二叉排序树的删除过程 00:06:18 2016-11-15 23:00:00 2152
ch7-5-1 二叉排序树的删除算法1 00:06:14 2016-11-15 23:00:00 2099
ch7-5-2 二叉排序树的删除算法2 00:07:54 2016-11-15 23:00:00 2135
ch7-6-1 二叉排序树的算法分析 00:02:27 2016-11-15 23:00:00 2070
ch7-7-1 AVL概念 00:07:02 2016-11-15 23:00:00 2801
ch7-8-1 LL调整演示 00:05:08 2016-11-15 23:00:00 2083
ch7-9-1 LR调整演示 00:07:00 2016-11-15 23:00:00 2128
ch7-9-2 LR调整实例 00:04:35 2016-11-15 23:00:00 2053
ch8-0-1 排序导学 00:02:09 2016-11-15 23:00:00 2117
ch8-1-1 排序的基本概念 00:04:29 2016-11-15 23:00:00 2163
ch8-2-1 直接插入排序过程 00:05:37 2016-11-15 23:00:00 2169
ch8-2-2 直接插入排序算法 00:08:52 2016-11-15 23:00:00 2155
ch8-3-1 二分插入排序 00:08:31 2016-11-15 23:00:00 2215
ch8-4-1 表插入排序过程 00:06:12 2016-11-15 23:00:00 2130
ch8-4-2 表插入排序算法实现和分析 00:07:48 2016-11-15 23:00:00 2137
ch8-5-1 希尔排序 00:07:25 2016-11-15 23:00:00 2152
ch8-6-1 直接选择排序 00:05:37 2016-11-15 23:00:00 2111
ch8-7-1 堆排序过程 00:10:31 2016-11-15 23:00:00 2221
ch8-7-2 堆排序算法实现和分析 00:07:10 2016-11-15 23:00:00 2174
ch8-8-1 冒泡排序 00:05:40 2016-11-15 23:00:00 2153
ch8-9-1 快速排序过程 00:05:36 2016-11-15 23:00:00 3170
ch8-9-2 快速排序算法实现和分析 00:08:15 2016-11-15 23:00:00 3010
ch8-10-1 基数排序过程 00:05:23 2016-11-15 23:00:00 2598
ch8-10-2 基数排序算法实现和分析 00:10:26 2016-11-15 23:00:00 2129
ch8-11-1 二路归并过程 00:08:49 2016-11-15 23:00:00 2146
ch8-11-2 归并算法实现和分析 00:07:32 2016-11-15 23:00:00 2165
ch9-0-1 导学 00:01:48 2016-11-15 23:00:00 3455
ch9-1-1 有向图与无向图 00:07:08 2016-11-15 23:00:00 3174
ch9-1-2 图的度和连通性 00:09:21 2016-11-15 23:00:00 4295
ch9-2-1 图的深度周游过程 00:07:29 2016-11-15 23:00:00 3766
ch9-2-2 图的深度周游算法 00:07:32 2016-11-15 23:00:00 3611
ch9-2-3 图的广度周游过程 00:04:12 2016-11-15 23:00:00 3702
ch9-2-4 图的广度周游算法 00:07:32 2016-11-15 23:00:00 5684
ch9-3-1 图的邻接矩阵表示 00:07:23 2016-11-15 23:00:00 3252
ch9-3-2 图的邻接表表示 00:03:57 2016-11-15 23:00:00 4715
ch9-3-3 链接矩阵和邻接表两种方法比较 00:06:50 2016-11-15 23:00:00 4441
ch9-4-1 图的最小生成树概念 00:03:12 2016-11-15 23:00:00 2244
ch9-4-2 prim演示 00:05:06 2016-11-15 23:00:00 2270
ch9-4-3 mst[]数组构造 00:08:52 2016-11-15 23:00:00 2186
ch9-4-4 prim算法代码和时间复杂度 00:05:35 2016-11-15 23:00:00 2169
ch9-5-1 Kruskal算法过程 00:04:04 2016-11-15 23:00:00 2201
ch9-5-2 Kruskal算法代码和时间复杂度 00:12:30 2016-11-15 23:00:00 2250
ch9-6-1 Dijkstra最短路径概念 00:03:45 2016-11-15 23:00:00 2230
ch9-6-2 Dijkstra算法过程 00:07:30 2016-11-15 23:00:00 2245
ch9-6-3 Dijkstra算法代码和时间复杂度 00:03:54 2016-11-15 23:00:00 2179
ch9-7-1 拓扑排序演示 00:07:18 2016-11-15 23:00:00 4624
ch9-7-2 拓扑排序邻接表表示 00:05:41 2016-11-15 23:00:00 2097
ch9-7-3 顶点入度计算算法和时间复杂度 00:05:25 2016-11-15 23:00:00 2084
ch9-7-4 拓扑排序整体过程 00:04:10 2016-11-15 23:00:00 2146
ch9-7-5 拓扑输出过程和时间复杂度 00:09:56 2016-11-15 23:00:00 2120
ch9-8-1 关键路径概念 00:04:22 2016-11-15 23:00:00 2114
ch9-8-2 举例-事件的最早最晚发生时间 00:08:14 2016-11-15 23:00:00 2057
ch9-8-3 举例-活动的最早最晚发生时间 00:04:38 2016-11-15 23:00:00 2080
ch9-8-4 关键路径邻接表表示 00:04:04 2016-11-15 23:00:00 2076
ch9-8-5 算法-事件的最早发生时间 00:09:14 2016-11-15 23:00:00 2165
ch9-8-6 算法-事件的最迟发生时间 00:08:03 2016-11-15 23:00:00 2099
ch9-8-7 关键路径算法和时间复杂度 00:07:05 2016-11-15 23:00:00 2056
ch9-9-1 中国邮递员问题和一笔画 00:06:25 2016-11-15 23:00:00 2200
ch9-9-2 中国邮递员问题实例 00:06:07 2016-11-15 23:00:00 3466
ch9-9-3 中国邮递员问题解决思路 00:05:49 2016-11-15 23:00:00 5765
标题 时长 人次 最好成绩
排序 111 0
线性表 13 0
二叉树与树 21 0
18 0
移动终端接入
漓 江
课 堂