基础算法
文章平均质量分 96
图论数论等基础算法
Ahu_iii
Style is Everything
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
【图论基础】一文读懂SPFA算法:原理、代码、图解与负环判断
本文介绍了SPFA算法及其应用。SPFA是对Bellman-Ford算法的队列优化,通过仅处理距离被更新的顶点来提高效率。文章详细讲解了SPFA的核心原理、实现方法(包括初始化、主循环和结束条件),并提供了C++代码示例和优化技巧(如SLF和LLL)。此外,通过洛谷P3385负环检测的例题,展示了SPFA的实际应用。虽然SPFA最坏时间复杂度为O(nm),但在许多场景下表现优异,是处理带负权边最短路的有效工具。原创 2025-07-29 12:35:48 · 946 阅读 · 0 评论 -
【图论基础】理解图的“闭环”:Tarjan 强连通分量算法全解析
强连通分量(SCC)与Tarjan算法 摘要:本文介绍了强连通分量(SCC)的概念及其在有向图中的重要性,重点讲解了基于DFS的Tarjan算法原理。算法通过维护时间戳(dfn)和回溯值(low)来识别SCC,使用栈跟踪访问路径。文章包含完整的算法模板和详细的步骤演示,最后以洛谷P3387缩点问题为例,展示如何应用Tarjan算法解决实际问题。该算法时间复杂度为O(n+m),适用于图结构分析和环检测等场景。 关键词:强连通分量、Tarjan算法、有向图、DFS、缩点、环检测原创 2025-07-27 20:23:49 · 1261 阅读 · 0 评论 -
【图论基础】Bellman-Ford 算法:负权图的最短路径利器
本文介绍了Bellman-Ford算法,这是一种用于单源最短路径问题的经典算法,能够处理边权可能为负的图。与Dijkstra算法不同,Bellman-Ford通过动态规划式的松弛操作逐步更新最短路径,并具备检测负权环的能力。文章详细阐述了算法原理、松弛操作的核心思想,并通过图表演示逐步展示了算法的执行过程。同时提供了C++实现模板,分析了时间复杂度和空间复杂度。最后以洛谷P3385题为例,给出具体应用场景和解题思路,强调处理多组数据、双向边构造及负环检测的注意事项。该算法适用于有向/无向图、含负权边和稀疏图原创 2025-07-27 00:26:33 · 1258 阅读 · 0 评论 -
【图论基础】深入浅出 Dijkstra 算法:原理、实现与优化
贪心选点:每次都“先跑到”当前最省时的那个还没算明白的节点。松弛边:站在那里,把它通向其他点的路程再算一遍,比原来算的短就更新。不往回走:一旦把某个点确定,就不改它的距离——因为以后没法更短了。最后,希望这篇文章对你学习这个算法有所帮助,如果有任何意见,欢迎在评论区留言!原创 2025-05-19 23:28:15 · 1046 阅读 · 0 评论
分享