数据结构实战完全手册
绪论与线性表
- 单链表与顺序表(二)求元素个数、取值与查找
- 建立单链表尾插法深入剖析(三)链表结构的内存是由程序员管理的
- 建立单链表头插法深入剖析(四)头插法的三种方案
- 单链表元素插入(五)前插与后插的实现
- 单链表顺序表的删除(六)逻辑结构与物理结构的再认识
- 单链表顺序表的功能验证(七)
- 建立自己的库函数(八)数组顺序表与单链表顺序表的封装
- 单链表案例(一)就地转置-原表与逆序表占用空间相同:数组结构与单链表结构的应用实现
- 单链表的运算思想:单链表节点关系的维护与单链表操作算法设计
- 单链表案例(二)一元多项式相加
- 单链表案例(三):学生管理系统(数组)——具有预订空间的解决方案
- 链表的变体循环链表(一):单步跟踪下的详细分析
- 循环链表(二):建立与合并
- 约瑟夫环的实现(三):循环链表调试bug定位技巧
- 双向链表的实现与在Linux内核中应用的浅要介绍
- 课程介绍
- 数据结构本质论-计算思维解析:来自客户信息维护,交通灯问题求解的启发
- 数据结构新视角:数据结构就是存数值、存关系
- 数据结构与程序性能衡量——大O记法的工程价值
- 线性表工程背景与学习要点:Word的场景、手机接入与数据结构抽象
- 数组顺序表(一)定义与初始化
- 数组顺序表(二)求元素个数、取元素与定位
- 数组顺序表(三)插入、删除与功能测试完成
- 单链表与顺序表(一)存关系与节点联系跟踪解析
栈和队列
- 栈的工程背景:函数栈帧调用与call stack的调试技巧
- 栈的学习要点:栈的逻辑定义与程序实现对应关系的剖析
- 顺序栈的实现:数值转换的应用案例
- 链栈的实现:指针初始化的调试技巧分享
- 递归与函数栈帧深入剖析:call stack调试技巧
- 队列的工程背景与设计技巧:游戏用户进入等待,邮件重发机制与订单缓冲区
- 顺序队列设计技巧剖析:“假溢出”与循环队列,front指向队头的上一个元素的设计思想由来
- 链队列设计技巧剖析:单步跟踪链队列运行剖析与内存释放
- 中缀表达式完全剖析:巧用C/C++重命名复用SeqStack结构
- 后缀表达式(逆波兰表达式)实现
- 带括号的中缀表达式转后缀表达式
- 八皇后问题的非递归实现-回溯法与栈的应用(一)
- 迷宫路径求解的非递归实现-回溯法与栈的实现(二)
- 递归设计入门:将递归函数看成答案本身
- 八皇后问题的递归实现
- 迷宫路径求解的递归实现
树和二叉树
- 树的工程背景:网站结构、表达式树及相关概念定义介绍
- 双亲孩子检验法是树形结构存储的法则:部门信息存储的实际设计案例
- 二叉树的由来与树的孩子兄弟存储发法:树型链式存储中的同构性与异构性设计问题
- 数组与链表的结合:孩子链表表示法
- 二叉树与树相互转化的算法流程介绍
- 满二叉树、完全二叉树与二叉树的三条基本性质
- 数组形式的二叉树完全实现:以二叉搜索树建立为例
- 智能制造中的树形结构应用案例:数据结构是程序的灵魂
- 层次法建立二叉链表树详细剖析:使用辅助队列“存关系”的思路详解
- 二叉链表的跟踪技巧、工程经验分享与非线性结构遍历问题的引出
- 前序、中序、后序遍历的定义、递归实现与层次法遍历需要队列辅助的原因释疑
- 观念中的二叉树构建:通过经典习题构建二叉树思维模型
- 非递归前序遍历二叉树:一个深拷贝引出的bug剖析
- 非递归中序遍历二叉树
- 非递归后序遍历二叉树:一个短路逻辑的实践技巧
- 当前非递归遍历方案评述:存在的问题与程序优化的思路
- 栈结构与树结构之间传递的程序设计技巧和软件复用的设计思想
- 重构到非递归遍历的经典数据结构:非侵入式数据结构设计与可复用软件开发
- 获取二叉树的所有叶子节点、获取全树深度与左右子树深度求解:递归遍历中全局变量置0的程序技巧
- 根据前序、中序序列重建一棵二叉树的代码实现
- 求一棵二叉树根到所有叶子节点的路径
- 判断两棵树是否相等与使用二叉链表法建立二叉搜索树
- 二叉树镜像:交换左右子树
- 平衡二叉树(AVL)的概念:与二叉搜索树的辨析
- 平衡二叉树(AVL)单向左旋、单向右旋图示法讲解
- 平衡二叉树(AVL)先左后右、先右后左图示法讲解
- 平衡二叉树(AVL)完全代码实现
- 二叉树的结构展示:层次遍历二叉树完全代码实现
- 哈夫曼树与最优不等长编码:Huffman树的由来
- 哈夫曼树完全代码实现
图
- 拓扑形态等价性-图的工程抽象:地图染色、搜索引擎、最短航线和电路分析
- 图的概念及数据结构:邻接矩阵法的示例与代码实现
- 邻接表的示例与代码实现
- 边集数组法、十字链表法、邻接多重表:图的存储结构评述
- 图的染色与日期冲突安排案例完全代码实现:Welsh-Powell法
- 邻接数组的深度(DFS)、广度(BFS)优先遍历完全代码实现
- 邻接表的深度(DFS)、广度(BFS)优先遍历完全代码实现
- 网络冗余链路问题与图的最小生成树
- Kruskal算法与并查集完全代码实现:图的最小生成树算法
- Prim算法完全代码实现:图的最小生成树算法
- 图的单源最短路径:Dijkstra算法完全代码实现
- 图的多源最短路径:Flod-Warshall算法完全代码实现
- 先修排课、编译器分析与AOV网的拓扑排序
- 活动顶点拓扑排序AOV网完全代码实现-先修课程案例
- 工期排序、AOE网与关键路径法以及堆内存分配调试经验分享
排序与查找
- 排序概论与直接插入排序完全代码实现
- 插入排序的改进:希尔排序(缩小增量排序法)完全代码实现
- 交换排序:冒泡排序完全代码实现
- 交换排序:快速排序完全代码实现
- 选择排序:直接选择排序完全代码实现
- 选择排序:堆排序完全代码实现
- 归并排序概念与2-路归并排序完全代码实现
- 桶排序概念与基数排序算法完全代码实现
- 各类排序的比较与总结
- 各类索引结构图示讲解
- 查找有序线性表:二分查找法完全代码实现
- 查找有序线性表:斐波那契查找法完全代码实现
- 字典树(Trie树)词频统计、单词搜索的完全代码实现:非数值有序表查找、一个内存初始化的编程技巧演示
- 字符串的搜索与匹配(BF与KMP算法)完全剖析
- 散列技术
- 经典算法举例:穷举、贪心与动态规划
- 综合案例Huffman压缩
- 综合案例动态数组.
提交答案
视频学习中有任何产品建议都可由此反
馈,我们将及时处理!
馈,我们将及时处理!
课时介绍
图的概念及数据结构:邻接矩阵法的示例与代码实现-图数据结构实战完全手册
课程介绍
《数据结构实战完全手册》主讲:丁宋涛
数据结构是程序设计的必修知识,它是程序设计的基本功,并且在企业面试、日常工作、研究生入学考试中都占有重要的地位。不同于其他课程,本课程从单链表出发,手把手的全代码实现了栈与队列,树、图(包括数组和链表的两种形式),并对这些经典结构的应用也做了代码级的实现,覆盖了经典数据结构的全部内容. 课程参考教材:周幸妮教授的《数据结构与算法分析新视角》
由德古意特(DE GRUYTER. 德国)和科学出版社联合出版 对应英文版《Data Structures and Algorithms Analysis – New Perspectives》
推荐课程