自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(5)
  • 收藏
  • 关注

原创 从Bellman-Ford到SPFA:探索最短路径算法的优化之路

引言:为什么需要最短路径算法?在交通导航、网络路由、游戏AI等领域,我们常常需要找到两点之间的最短路径。例如,快递如何规划路线才能最快送达?游戏中NPC如何绕过障碍物接近玩家?这些问题都离不开单源最短路径算法。**Bellman-Ford算法**是这类问题的经典解法,而**SPFA**(Shortest Path Faster Algorithm)则是它的高效优化版本。本文将从基础到进阶,带你一步步理解这两个算法的原理与实现。

2025-03-08 09:30:00 1469

原创 从基础到优化:深入理解Dijkstra最短路径算法

通过这两个版本的代码对比,我们能看到算法优化的典型思路:用数据结构换取时间效率。Dijkstra算法的核心思想从未改变,但通过引入优先队列,我们让算法焕发了新的生命力。先手写基础版,理解每个变量的含义用纸笔模拟小规模图的运行过程尝试修改代码处理无向图或输出路径最后挑战优先队列优化版正如计算机科学家Edsger Dijkstra所说:「程序测试可以证明存在错误,但永远无法证明没有错误。」在掌握算法后,不妨尝试构造各种测试用例,在实践中深化理解。

2025-03-07 09:30:00 1665

原创 理解Floyd算法:动态规划求解任意两点最短路径

Floyd算法以简洁的代码和清晰的逻辑,成为解决全源最短路径问题的经典方法。虽然其时间复杂度较高,但在小规模图或需要频繁查询任意两点距离的场景中依然不可替代。理解其动态规划思想,不仅能帮助我们掌握算法本质,还能为后续学习图论算法(如Johnson算法)打下坚实基础。尝试运行代码,输入你的图数据,感受Floyd算法的强大之处吧!🚀下一篇预告如何用Dijkstra算法优化单源最短路径?敬请期待!

2025-03-06 19:59:02 975

原创 链式前向星:邻接表的优化实现与代码详解

链式前向星适合处理稀疏图,尤其是需要频繁遍历邻接边的场景(如DFS/BFS、最短路径算法)。其简洁的实现和高效的空间利用率,使其成为竞赛和工程中的常用选择。希望本文能帮助你理解链式前向星的实现细节。完整代码与测试案例已附上,欢迎在评论区讨论优化与改进方案!

2025-03-04 21:27:25 597

原创 KMP算法代码

遍历模式串长度的迭代器大于模式串长度,说明在主串中已经匹配到了模式串。对比字符串时从第一个位置(此时的第一个位置定义从。同样是因为第一次对比不相等的情况。所以下面从第二个位置开始寻找。是因为第一次对比不相等的情况。遍历的迭代器不超过字符串长度。的目标串没有最长前后缀。位置前的子串开始检查。

2025-03-03 22:27:19 311

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除