首页 > 其他分享 >【图论】浅谈JohnSon全源最短路

【图论】浅谈JohnSon全源最短路

时间:2023-01-11 23:01:12浏览次数:47  
标签:浅谈 JohnSon 短路 路径 SPFA 全源

前置知识

SPFA、Dijkstra.

引文

先是给一道题目:

给定一个包含 n 个结点和 m 条带权边的有向图,求所有点对间的最短路径长度,一条路径的长度定义为这条路径上所有边的权值和。

看到最短路,你也许会想到最短路;

然而发现它居然会有负边,也就是说可能会有负环,你便可能想到 SPFA 或是 Floyd,

但是时间复杂度一个为 \(O(n^2m)\) ,一个为 \(O(n^3)\) ,都不能很快的通过此题,

这便需要我们用到 \(JohnSon\) 全员最短路算法了。

正文

首先我们可以发现,

设 \(dis(x, y)\) 为 \(x\) 与 \(y\) 之间的最短路,

标签:浅谈,JohnSon,短路,路径,SPFA,全源
From: https://www.cnblogs.com/Sengyi/p/17045141.html

相关文章

  • 【教你学Qt桌面端开发】pt1:浅谈Qt:特色C++主义类库
    还在为头脑简单看不懂代码而发愁吗?还在为思想浅薄只会人云亦云、拾人牙慧、鹦鹉学舌而遭人鄙夷吗?《教你写代码》,从另一维度解读代码,让你成为见解独特的黑马观众。教你学Q......
  • 【大型软件开发】浅谈大型Qt软件开发(一)开发前的准备——在着手开发之前,我们要做些什么
    前言最近我们项目部的核心产品正在进行重构,然后又是年底了,除了开发工作之外项目并不紧急,加上加班时间混不够了....所以就忙里偷闲把整个项目的开发思路聊一下,以供参考。......
  • Python实例浅谈之三Python与C/C++相互调用
    一、问题     Python模块和C/C++的动态库间相互调用在实际的应用中会有所涉及,在此作一总结。二、Python调用C/C++1、Python调用C动态链接库       P......
  • 浅谈容器网络
    分享下Kubernetes社区资深成员与项目维护者「张磊」对于这个话题的思考。你好,我是张磊。今天我和你分享的主题是:浅谈容器网络。在前面讲解容器基础时,我曾经提到过一个......
  • 浅谈PHP设计模式的状态模式
    简介:状态模式,属于行为型的设计模式。当一个对象的内在状态发生改变时,允许改变其行为,这个对象看起来像是改变了其类。适用场景:控制一个对象的状态改变过于复杂时,把状态......
  • Qt浅谈之一:内存泄露(总结)(转)
    一、简介Qt内存管理机制:Qt在内部能够维护对象的层次结构。对于可视元素,这种层次结构就是子组件与父组件的关系;对于非可视元素,则是一个对象与另一个对象的从属关系......
  • 浅谈PHP设计模式的建造者模式
    简介:建造者模式,又称之为生成器模式,属于创建型的设计模式。将一个复杂对象的构建,与它的表示分离,使得同样的构建过程可以创建不同的表示。适用场景:用于创建一些复杂的对象......
  • 前端浅谈 - js的垃圾回收
    1.对于js来说什么是垃圾?    垃圾就是没用了的东西.emmm~~对于js来说,这种说法不是特别准确但是又特别贴切.占着内存但是又不被需要的变量被称为垃圾(有被内涵到).......
  • 浅谈可持久化栈的实现
    可持久化栈看到网上基本没有说得很详细的,所以我来讲一讲。一种好的方法是直接用可持久化数组(线段树)来模拟栈,单次插入/删除时间复杂度\(O(\logn)\),空间复杂度\(O(n\lo......
  • 浅谈西门子Teamcenter和MES的关系
    Teamcenter是西门子工业软件里的主打产品,主要用来实施企业产品设计数据管理、物料清单管理和工艺规划管理,也就是常说的PDM、BOM和TCM(或者CAPP)。而Teamcenter能够在行业占......