floyed 算法

floyed 算法/**floyed是用动态规划解决完全最短路的算法,一次调用即可得到任意两个点间的最短路径复杂度为O(n^3),适用于稠密图,顶点数一般在100以内适用结构简单,易于编写floyed算法还可解决传递闭包,判断图是否为连通图在解题时候一般不会只考floyed而是利用floyed得到的结果,进行下一步解题就像二分算法一样,提一

大家好,又见面了,我是你们的朋友全栈君。

/**
    floyed 是用动态规划解决完全最短路的算法,一次调用即可得到任意两个点间的最短路径
    复杂度为O(n^3),适用于稠密图,顶点数一般在100 以内适用

    结构简单,易于编写

    floyed算法还可解决传递闭包,判断图是否为连通图

    在解题时候一般不会只考 floyed 而是利用floyed 得到的结果,进行下一步解题
    就像二分算法一样,提一下竞赛必考二分枚举
*/

const int inf = 0x3f3f3f3f;
const int M = 100;

int map[M][M]; //初始化map[][] = inf;

void addEdge(int u, int v, int w) {
    map[u][v] = w;
    map[v][u] = w; //floyed 也可以解决有向图
}

void floyed(int nv) {
    int i, j, k;
    for (i=1; i<=nv; i++)
        for (j=1; j<=nv; j++)
            for (k=1; k<=nv; k++)
                map[i][j] = min(map[i][j], map[i][k]+map[k][j]);

}

/**
    注意:连接矩阵添边都应该注意是否有重边,floyed 算法既可以解决有向图又可以解决
    无向图,但是不能解决带负权回路的图
*/

收藏于 2011-11-18
来自于百度空间

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/149044.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • matlab中importdata无法打开文件_importdata无法打开文件

    matlab中importdata无法打开文件_importdata无法打开文件最近使用importdata函数不能读取全部数据,数据集315行,但是读取了197行,那就是197-198之间有问题,百度之后有了思路。由于没有找到具体的证据,所以这里说一下解决思路。import可以导入很多文件类型,.dat文件应该默认的是ASCII码,在编码处看到(我用的notepad++)使用的UTF-8编码,修改为使用ANSI编码,看一下结果UTF-8编码ANSI编码果然有问题,删除就可以了。这个数据是直接从网页端复制的,所以应该是哪里出了问题。…

    2025年6月3日
    3
  • kivy小程序——计算器

    kivy小程序——计算器fromkivy appimportApp coreimportwi uix widgetimport propertiesim langimportBu core windowimport size 500 700Builder load string

    2025年8月25日
    2
  • java静态全局变量和全局变量的区别_java静态全局变量

    java静态全局变量和全局变量的区别_java静态全局变量Java的面向对象的代码结构会使在多个位置引用变量更加困难。有时也很难确定给定变量应属于哪个类,尤其是当它是一个广泛使用的值(例如数据库连接器或数学常数)时。Java全局变量怎么定义?在许多语言中,当遇到这样的问题时,我们可以声明一个全局变量。但是,不幸的是,Java从技术上不允许在全局范围内创建变量。在本文中,我们将介绍如何在Java中模拟和使用全局变量。什么是全局变量?全局变量是可以从任何范围访问的变量。许多编程语言都具有用于声明全局变量的特殊语法,例如,Python使我们可以使

    2022年8月21日
    6
  • 关于测试url传值的问题

    关于测试url传值的问题

    2021年6月8日
    120
  • tkmybatis详细教程(一篇就明白)

    tkmybatis是对底层sql进行了抽象封装,不需要考虑sql怎么写,只需要按照逻辑思维,遵循tkmybatis的语法即可实现数据库操作。本文适合对springboot项目结构有一定了解的读者。本文的项目基础是一个demo项目(多模块的)。1.配置1、添加tkmybatis的依赖<dependency><groupId>tk.mybatis</groupId>

    2022年4月1日
    310
  • 主机号「建议收藏」

    主机号「建议收藏」用于识别该网络中的主机。IP地址分为五类,A类保留给政府机构,B类分配给中等规模的公司,C类分配给任何需要的人,D类用于组播,E类用于实验,各类可容纳的地址数目不同。A、B、C三类IP地址的特征:

    2022年8月4日
    6

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号