Java 中的高级算法(图形算法)
广度优先搜索、深度优先搜索、最短路径、套利、强连通分量和最大流
讲师:Holczer Balazs
双语IT资源独家Udemy付费课程,独家中英文字幕,配套资料齐全!
用不到1/10的价格,即可享受同样的高品质课程,且可以完全拥有,随时随地都可以任意观看和分享。
您将学到什么
- 了解数据结构的应用
- 了解图形和图论的基本原理
- 高效实现高级算法(图算法)
- 学习图的遍历,例如广度优先搜索和深度优先搜索
- 了解拓扑排序和循环检测
- 了解最短路径算法(Dijkstra 算法和 Bellman-Ford 算法)
- 了解生成树
- 了解强连通分量
- 了解哈密顿循环和欧拉循环
- 了解最大流(最大流最小割定理)
探索相关主题
要求
- 互联网连接
- 数据结构基础知识
描述
本课程涉及高级算法(图形算法),重点关注图形遍历、最短路径问题、生成树和最大流问题以及从 Google Web Crawler 到利用股票市场套利情况的大量应用。
第 1 部分 – 图论基础:
-
什么是G(V,E)图
-
邻接矩阵表示
-
邻接表表示
第 2 节 – 图遍历(广度优先搜索)
-
什么是广度优先搜索?
-
如何在搜索引擎中使用 BFS 进行 WebCrawling?
第 3 节 – 图遍历(深度优先搜索)
-
什么是深度优先搜索?
-
如何使用递归实现DFS
-
DFS 的应用,例如拓扑排序和循环检测
-
使用 DFS 找到走出迷宫的路
第 4 节 – 拓扑排序
-
什么是拓扑排序(拓扑排序)
-
有向无环图(DAG)
-
DAG最短路径和最长路径
-
关键路径方法和项目管理
第 5 节 – 循环检测
-
图中的循环是什么?
-
前向边缘和后向边缘
-
循环检测算法(带有 DFS 的 Tarjan 算法)
第 6 节 – Dijkstra 最短路径算法
-
G(V,E) 图中的最短路径是什么
-
Dijkstra最短路径算法
第 7 节 – Bellman-Ford 最短路径算法
-
Bellman-Ford算法
-
如何处理负面循环
-
寻找外汇套利机会
第 8 节:生成树(Kruskal 和 Prim 算法)
-
什么是生成树?
-
联合查找数据结构
-
Kruskal算法
-
Prim算法
第 9 节 – 强连通分量 (SCC)
-
什么是强连通分量
-
Kosaraju 算法
-
Tarjan算法
第 10 节 – 最大流问题
-
著名的最大流问题
-
如何将大多数难题简化为最大流问题
-
Ford-Fulkerson算法
-
二分匹配问题
第 9 节 – 旅行商问题和汉密尔顿循环:
-
旅行商问题(TSP)
-
如何处理 NP 难题
-
什么是元启发式
第 10 节 – 欧拉路径
-
欧拉路径和欧拉回路
-
Hierholzer算法与中国邮递员问题
第 11 节 – 算法分析
-
如何测量算法的运行时间
-
使用大O (ordo)、大Ω (omega) 和大θ (theta) 符号进行运行时间分析
-
复杂性类
-
多项式(P)和非确定性多项式(NP)算法
-
O(1)、O(logN)、O(N) 和其他几个运行时间复杂度
本课程大约需要11 个小时才能完成,但我强烈建议你多练习几遍这些算法,以便更好地掌握。你可以在最后一节课下载整个课程的源代码。
如果你对算法相关的高级主题感兴趣,那么绝对应该选这门课程。这些方法可以应用于很多领域:从软件工程到科学研究。
感谢您参加课程,让我们开始吧!
本课程适合哪些人:
- 本课程适合从科学家到软件开发人员的所有人,他们希望更接近算法思维
如果你有能力,请务必支持课程的原创作者,这是他们应得的报酬!
本站收取的费用,仅用来维持网站正常运行的必要支出,从本站下载任何内容,说明你已经知晓并同意此条款。