视频课程 人浏览 历史评分   更新时间: 30天前 随到随学

课程介绍

注意0:欲购买此课程,获取安全购买链接,索要正版授权学习平台账号,务必加咨询QQ:2536379620
注意1:由于编码原因,试听课程视频画面清晰度不如最终购买的视频。最终购买视频的画面清晰度可参见以下两张图。图1   图2
注意2:正版良心视频,购买后有机会和原作者直接短暂技术交流。
    
注意3:感觉课程太难?没有信心?还在犹豫自己学的会学不会?我们的师傅带徒弟模式(5倍下单)会给您信心。我们承诺,商品详情,教学大纲,视频内容,所涉及技术,可获得原创作者老师微信或QQ和针对视频范围的精心指导。线上一对一师带徒辅导问答,针对视频内代码调试,使命必达,视频之外相关技术内容,行业内信息人脉,企业内推(如有),原创作者老师会竭诚帮助。

以上所示价格,只能自行学习视频和获取少量解答。师傅带徒弟课程(5倍下单左右,可以先和客服联系,可获得老师的联系方法和针对视频范围的精心指导。线上一对一师带徒辅导问答,针对视频内代码调试,使命必达。)


图结构也是基于数组、链表等基础的数据结构实现的,并且它的遍历算法是在二叉树中讲解的 DFS 和 BFS,因为需要二叉树的知识,所以图结构及其算法属于高级篇的内容。


在看技术源码的时候,我们会遇到图结构及其算法的知识,比如:

1. Java WEB 框架 Spring 本质上是基于图结构实现的,Spring 中将一个类看做是顶点,类与类之间的引用看成边,类之间的引用是有方向的,所以构成了有向图,在 Spring 中如果想判断是否存在循环依赖,其实就是运行一下图的环检测算法即可。

2. 大数据技术框架 Spark 中的 RDD 链本质上就是一个有向无环图 (DAG),每个 RDD 是图中的顶点,RDD 之间的依赖就是边,因为依赖是有方向的,所以边就是有向的。既然 RDD 链是一张图,那么基于这个链进行 Stage 划分等功能本质上就是对这个图的遍历,在遍历的过程中实现 Stage 的划分;Stage 的执行就是对整个图的拓扑排序,因为任务之间是有顺序要求的。

大数据实时流技术 Flink 也是基于图结构来实现。


16+常用数据结构
14+类常见算法
50+道经典算法面试题
10000+行高质量手写代码
助你提升内功,每月多赚10000元
助你进价资深开发,直指架构CTO
助你进入大厂,提高职业高度
助你提高对实际问题抽象的能力

课程大纲

01
图的基本概念

什么是图结构(4分钟)

图的分类(4分钟)
02
图的存储:邻接矩阵

邻接矩阵(6分钟)         暂无试看

文件存储图信息(5分钟)

邻接矩阵代码实现(6分钟)

邻接矩阵代码测试(6分钟)

图的常用方法的实现(6分钟)

邻接矩阵时间空间复杂度分析(5分钟)
03
图的存储:邻接表

邻接表演示(5分钟)

代码实现(8分钟)

时间空间复杂度分析(7分钟)

降低时间复杂度(7分钟)

邻接矩阵对比邻接表(7分钟)

Graph 接口定义(5分钟)

图的遍历概述(2分钟)
04
图的遍历:深度优先遍历(DFS)

图的 DFS(7分钟)

图的 DFS 步骤演示(7分钟)

图的 DFS 代码实现(8分钟)

图的 DFS 代码测试(4分钟)

图的 DFS 结果对不上的原因(7分钟)

高效判断顶点是否已经被访问(4分钟)

图的 DFS 递归实现(8分钟)

图的 DFS 递归步骤演示(10分钟)

代码优化成一次 DFS(7分钟)

深度优先遍历图中的每个顶点(7分钟)
05
DFS 实现联通分量

联通分量的概念(6分钟)

求解联通分量的个数(3分钟)

求解每个联通分量包含的顶点(5分钟)

代码实现求解每个联通分量包含的顶点(8分钟)

测试联通分量包含顶点代码(5分钟)

检测两个顶点是否联通(3分钟)
06
DFS 实现单源路径

求解步骤(8分钟)

维护每个顶点的前一个顶点(6分钟)

代码实现单源路径(10分钟)

两个顶点之间的路径(8分钟)
07
DFS 实现环检测

环检测逻辑(5分钟)

环检测代码实现(6分钟)

环检测代码优化(4分钟)
08
DFS 实现二分图检测

二分图检测逻辑(6分钟)

二分图检测代码实现(7分钟)

二分图检测代码实现优化(3分钟)
09
图的遍历:广度优先遍历(BFS)

图的 BFS 逻辑(7分钟)

图的 BFS 代码实现(8分钟)

BFS 求解图的联通分量(5分钟)

BFS 求解单源路径(8分钟)

BFS 进行环检测(8分钟)

BFS 检测二分图(7分钟)

单源最短路径问题(7分钟)

单源最短路径代码实现(5分钟)

单源最短路径大小(8分钟)
10
floodfill 算法基础

数组二维转一维(7分钟)

数组一维转二维(6分钟)

二维数组的四联通(8分钟)

二维数组的八联通(4分钟)

保证索引访问合法(5分钟)

最大联通分量的顶点数(6分钟)
11
floodfill 算法

岛屿最大面积问题描述(3分钟)

岛屿最大面积解题思路(3分钟)

建图(12分钟)

基于图求最大联通分量顶点数(6分钟)

DFS 实现 floodfill 算法(10分钟)

DFS 实现 floodfill 算法代码实现(7分钟)

DFS 实现 floodfill 算法代码优化(3分钟)

迭代 DFS 实现 floodfill 算法(6分钟)

BFS 实现 floodfill 算法(6分钟)
12
lc 200 :岛屿数量

leetcode 200 号算法题:岛屿数量(1道)
13
lc 130 : 被围绕的区域

lc 130 : 被围绕的区域(1道)
14
有权图

无向有权图的存储(6分钟)

无向有权图存储代码实现(8分钟)
15
有权图:最小生成树

什么是图的生成树(5分钟)

什么是最小生成树(7分钟)

切分定理(4分钟)

Prim 算法步骤演示(8分钟)

WeightedEdge(3分钟)

Prim 算法实现(12分钟)

Prim 算法实现测试(6分钟)

小顶堆实现 Prim 算法(8分钟)

小顶堆实现 Prim 算法代码实现(9分钟)
16
有权图:最短路径

有权图最短路径问题(6分钟)

Dijkstra 算法原理(12分钟)

Dijkstra 算法原理总结(4分钟)

Dijkstra 算法代码实现(10分钟)

Dijkstra 算法代码测试(5分钟)

Dijkstra 算法优化(7分钟)

Dijkstra 算法求最短路径(5分钟)
17
有向图

什么是有向图(6分钟)

有向无权图的存储(7分钟)

有向有权图的存储(5分钟)

有向图顶点的出度和入度(9分钟)

有向图的 DFS 和 BFS(8分钟)
18
有向图:环检测

环检测逻辑(7分钟)

环检测代码实现(7分钟)

有向无环图(3分钟)
19
有向图:拓扑排序

什么是拓扑排序(7分钟)

BFS 实现拓扑排序逻辑步骤(4分钟)

BFS 实现拓扑排序代码实现(10分钟)

DFS 实现拓扑排序(7分钟)
20
lc 210 :课程表 Ⅱ

leetcode 210 号算法题:课程表 Ⅱ(1道)
21
lc 207 :课程表

leetcode 207 号算法题:课程表(1道)
相关推荐
客服 关于