数据结构实战完全手册—85人已学习
课程介绍
数据结构是程序设计的必修知识,它是程序设计的基本功,并且在企业面试、日常工作、研究生入学考试中都占有重要的地位。不同于其他课程,本课程从单链表出发,手把手的全代码实现了栈与队列,树、图(包括数组和链表的两种形式),并对这些经典结构的应用也做了代码级的实现,覆盖了经典数据结构的全部内容
课程收益
1.理解数据结构的由来,并能熟练掌握程序设计的基本技能。 2.从代码级别完全实现了经典数据结构的全部内容。 3.通过数据结构知识讲解,为后继算法设计、求职笔试、研究生入学考试打下了良好基础。
讲师介绍
夏曹俊 更多讲师课程
夏曹俊:南京捷帝科技有限公司创始人,南京大学计算机硕士毕业,有15年c++跨平台项目研发的经验,领导开发过大量的c++虚拟仿真,计算机视觉,嵌入式图像处理,云安全审计项目,比赛鹰眼系统,主编出版过《C++实训教程》,并同时熟悉php,c#,java,安卓项目研发。
课程大纲
第1章:绪论与线性表
1. 课程介绍(可以加入qq群中交流和下载代码 794420838) 18:00
2. 数据结构本质论-计算思维解析:来自客户信息维护,交通灯问题求解的启发 25:49
3. 数据结构新视角:数据结构就是存数值、存关系 6:56
4. 数据结构与程序性能衡量——大O记法的工程价值 10:20
5. 线性表工程背景与学习要点:Word的场景、手机接入与数据结构抽象 9:02
6. 数组顺序表(一)定义与初始化 18:59
7. 数组顺序表(二)求元素个数、取元素与定位 11:55
8. 数组顺序表(三)插入、删除与功能测试完成 27:08
9. 单链表与顺序表(一)存关系与节点联系跟踪解析 19:22
10. 单链表与顺序表(二)求元素个数、取值与查找 18:16
11. 建立单链表尾插法深入剖析(三)链表结构的内存是由程序员管理的 23:13
12. 建立单链表头插法深入剖析(四)头插法的三种方案 30:49
13. 单链表元素插入(五)前插与后插的实现 11:32
14. 单链表顺序表的删除(六)逻辑结构与物理结构的再认识 10:28
15. 单链表顺序表的功能验证(七) 7:17
16. 建立自己的库函数(八)数组顺序表与单链表顺序表的封装 14:04
17. 单链表案例(一)就地转置-原表与逆序表占用空间相同:数组结构与单链表结构的应用实现 37:22
18. 单链表的运算思想:单链表节点关系的维护与单链表操作算法设计 7:28
19. 单链表案例(二)一元多项式相加 45:16
20. 单链表案例(三):学生管理系统(数组)——具有预订空间的解决方案 31:29
21. 链表的变体循环链表(一):单步跟踪下的详细分析 30:48
22. 循环链表(二):建立与合并 16:30
23. 约瑟夫环的实现(三):循环链表调试bug定位技巧 19:20
24. 双向链表的实现与在Linux内核中应用的浅要介绍 16:22
第2章:栈和队列
1. 栈的工程背景:函数栈帧调用与call stack的调试技巧 9:45
2. 栈的学习要点:栈的逻辑定义与程序实现对应关系的剖析 9:35
3. 顺序栈的实现:数值转换的应用案例 21:13
4. 链栈的实现:指针初始化的调试技巧分享 17:08
5. 递归与函数栈帧深入剖析:call stack调试技巧 18:45
6. 队列的工程背景与设计技巧:游戏用户进入等待,邮件重发机制与订单缓冲区 19:58
7. 顺序队列设计技巧剖析:“假溢出”与循环队列,front指向队头的上一个元素的设计思想由来 33:15
8. 链队列设计技巧剖析:单步跟踪链队列运行剖析与内存释放 30:14
9. 中缀表达式完全剖析:巧用C/C++重命名复用SeqStack结构 37:29
10. 后缀表达式(逆波兰表达式)实现 14:33
11. 带括号的中缀表达式转后缀表达式 25:40
12. 八皇后问题的非递归实现-回溯法与栈的应用(一) 41:35
13. 迷宫路径求解的非递归实现-回溯法与栈的实现(二) 43:14
14. 递归设计入门:将递归函数看成答案本身 10:45
15. 八皇后问题的递归实现 11:42
16. 迷宫路径求解的递归实现 12:52
第3章:树和二叉树
1. 树的工程背景:网站结构、表达式树及相关概念定义介绍 15:08
2. 双亲孩子检验法是树形结构存储的法则:部门信息存储的实际设计案例 11:21
3. 二叉树的由来与树的孩子兄弟存储发法:树型链式存储中的同构性与异构性设计问题 14:07
4. 数组与链表的结合:孩子链表表示法 5:06
5. 二叉树与树相互转化的算法流程介绍 19:04
6. 满二叉树、完全二叉树与二叉树的三条基本性质 13:33
7. 数组形式的二叉树完全实现:以二叉搜索树建立为例 41:47
8. 智能制造中的树形结构应用案例:数据结构是程序的灵魂 9:20
9. 层次法建立二叉链表树详细剖析:使用辅助队列“存关系”的思路详解 53:35
10. 二叉链表的跟踪技巧、工程经验分享与非线性结构遍历问题的引出 21:57
11. 前序、中序、后序遍历的定义、递归实现与层次法遍历需要队列辅助的原因释疑 25:33
12. 观念中的二叉树构建:通过经典习题构建二叉树思维模型 34:27
13. 非递归前序遍历二叉树:一个深拷贝引出的bug剖析 32:53
14. 非递归中序遍历二叉树 11:09
15. 非递归后序遍历二叉树:一个短路逻辑的实践技巧 15:08
16. 当前非递归遍历方案评述:存在的问题与程序优化的思路 15:49
17. 栈结构与树结构之间传递的程序设计技巧和软件复用的设计思想 21:34
18. 重构到非递归遍历的经典数据结构:非侵入式数据结构设计与可复用软件开发 17:35
19. 获取二叉树的所有叶子节点、获取全树深度与左右子树深度求解:递归遍历中全局变量置0的程序技巧 26:32
20. 根据前序、中序序列重建一棵二叉树的代码实现 14:44
21. 求一棵二叉树根到所有叶子节点的路径 12:06
22. 判断两棵树是否相等与使用二叉链表法建立二叉搜索树 21:12
23. 二叉树镜像:交换左右子树 5:51
24. 平衡二叉树(AVL)的概念:与二叉搜索树的辨析 19:18
25. 平衡二叉树(AVL)单向左旋、单向右旋图示法讲解 18:10
26. 平衡二叉树(AVL)先左后右、先右后左图示法讲解 23:00
27. 平衡二叉树(AVL)完全代码实现 43:01
28. 二叉树的结构展示:层次遍历二叉树完全代码实现 15:50
29. 哈夫曼树与最优不等长编码:Huffman树的由来 14:30
30. 哈夫曼树完全代码实现 30:08
第4章:图
1. 拓扑形态等价性-图的工程抽象:地图染色、搜索引擎、最短航线和电路分析 12:53
2. 图的概念及数据结构:邻接矩阵法的示例与代码实现 30:05
3. 邻接表的示例与代码实现 19:14
4. 边集数组法、十字链表法、邻接多重表:图的存储结构评述 10:52
5. 图的染色与日期冲突安排案例完全代码实现:Welsh-Powell法 01:10:06
6. 邻接数组的深度(DFS)、广度(BFS)优先遍历完全代码实现 20:38
7. 邻接表的深度(DFS)、广度(BFS)优先遍历完全代码实现 7:57
8. 网络冗余链路问题与图的最小生成树 7:57
9. Kruskal算法与并查集完全代码实现:图的最小生成树算法 44:42
10. Prim算法完全代码实现:图的最小生成树算法 42:39
11. 图的单源最短路径:Dijkstra算法完全代码实现 59:05
12. 图的多源最短路径:Flod-Warshall算法完全代码实现 22:25
13. 先修排课、编译器分析与AOV网的拓扑排序 10:25
14. 活动顶点拓扑排序AOV网完全代码实现-先修课程案例 29:44
15. 工期排序、AOE网与关键路径法以及堆内存分配调试经验分享 01:02:03
第5章:排序与查找
1. 排序概论与直接插入排序完全代码实现 26:48
2. 插入排序的改进:希尔排序(缩小增量排序法)完全代码实现 15:22
3. 交换排序:冒泡排序完全代码实现 14:00
4. 交换排序:快速排序完全代码实现 24:15
5. 选择排序:直接选择排序完全代码实现 3:31
6. 选择排序:堆排序完全代码实现 17:53
7. 归并排序概念与2-路归并排序完全代码实现 24:22
8. 桶排序概念与基数排序算法完全代码实现 17:11
9. 各类排序的比较与总结 5:17
10. 各类索引结构图示讲解 8:04
11. 查找有序线性表:二分查找法完全代码实现 11:37
12. 查找有序线性表:斐波那契查找法完全代码实现 13:49
13. 字典树(Trie树)词频统计、单词搜索的完全代码实现:非数值有序表查找、一个内存初始化的编程技巧演示 17:50
14. 字符串的搜索与匹配(BF与KMP算法)完全剖析 35:52
15. 散列技术 6:53
16. 经典算法举例:穷举、贪心与动态规划 45:18
17. 综合案例Huffman压缩 01:14:15
18. 综合案例动态数组. 23:32
大家可以点击【 查看详情】查看我的课程