acwing算法基础之搜索与图论--最短路问题

目录

  • [1 基础知识](#1 基础知识)
  • [2 模板](#2 模板)
  • [3 工程化](#3 工程化)

1 基础知识

假设有n个结点,m条边(边的长度或者权重不一致),最短路问题的分类及求解方法如下:

1 单源最短路问题 ,例如求结点1到结点n的最短距离。

1.1 所有边的权重都是正的。

  • 朴素版dijkstra算法,时间复杂度为O(n^2)。时间复杂度与边数无关,适合于稠密图。它是基于贪心实现的。
  • 堆优化版dijkstra算法,时间复杂度为O(mlogn)。适合于稀疏图。它是基于贪心实现的。

1.2 存在负权边。

  • bellman-ford算法,时间复杂度为O(nm)。它是基于离散数学中的一些知识实现的。
  • spfa算法,一般情况下,时间复杂度为O(m);最坏情况下,时间复杂度为O(nm)。

2 多源最短路问题,例如求n个结点中两两结点的最短距离。

  • floyd算法,时间复杂度为O(n^3)。它是基于动态规划实现的。

2 模板

待补充。。。

3 工程化

待补充。。。

相关推荐
我搞slam10 分钟前
有效的括号--leetcode
linux·算法·leetcode
ゞ 正在缓冲99%…2 小时前
leetcode1312.让字符串成为回文串的最少插入次数
数据结构·算法·leetcode·动态规划·记忆化搜索
七夜zippoe2 小时前
Rust `std::iter` 深度解析:`Iterator` Trait、适配器与性能
开发语言·算法·rust
寂静山林2 小时前
UVa 1464 Traffic Real Time Query System
算法
laocooon5238578862 小时前
寻找使a×b=c成立的最小进制数(2-16进制)
数据结构·算法
YY_TJJ2 小时前
算法题——图论
算法·深度优先·图论
默默的流星雨3 小时前
TARJAN相关
c++·算法·深度优先·图论
JJJJ_iii3 小时前
【机器学习11】决策树进阶、随机森林、XGBoost、模型对比
人工智能·python·神经网络·算法·决策树·随机森林·机器学习
loong_XL4 小时前
AC自动机算法-字符串搜索算法:敏感词检测
开发语言·算法·c#
Xの哲學5 小时前
Linux Netlink全面解析:从原理到实践
linux·网络·算法·架构·边缘计算