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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Idea激活码最新教程2019.3.5版本,永久有效激活码,亲测可用,记得收藏

    Idea激活码最新教程2019.3.5版本,永久有效激活码,亲测可用,记得收藏Idea 激活码教程永久有效 2019 3 5 激活码教程 Windows 版永久激活 持续更新 Idea 激活码 2019 3 5 成功激活

    2025年5月23日
    2
  • ATA注会考试系统配置

    ATA注会考试系统配置今天跟李老师一起去配置一个考试系统,首先网络环境是这样的:教师机(控制机)接通内外网,考试机只通内网。控制机通过一个侦听程序把所有考试机联系起来,遇到的问题是侦听程序对某些主机不起作用,然后用多余的机器更换了,检查环境要求的时候,需要更新考试机的IE至8.0,还要求各种输入法的安装,于是先配置好一台,然后利用机房主机自带的同传系统进行克隆,最后进行测试。这个考试环境的配置有一…

    2022年7月14日
    30
  • 零基础学Java(2)数据类型与变量

    零基础学Java(2)数据类型与变量前言Java是一种强类型语言。这就意味着必须为每一个变量声明一种类型。在Java中,一共8种基本类型,其中有4种整型、2种浮点型、1种字符串类型char(用于表示Unicode编码的代码单元)和1种

    2022年8月7日
    4
  • ReleaseMutex函数

    ReleaseMutex函数ReleaseMutex函数的功能是释放互斥对象的控制权函数原型BOOLWIANPIReleaseMutex(HANDLEhMutex);返回值BOOL,TRUE表示成功,FALSE表示失败。参数表hMutex:HANDLE,制定一个互斥体的句柄。注释一个线程释放了互斥对象的控制权后,如果其他进程在等待互斥对象置位,则等待的线程可以得到该互斥对象,等待

    2022年6月26日
    30
  • SchedulerFactoryBean 注入

    SchedulerFactoryBean 注入今天在做SpringQuarter动态设置触发时间时,需要在Service中注入org.springframework.scheduling.quartz.SchedulerFactoryBean使用下面的代码可用:localQuartzScheduler通过注解注入@Resource privateSchedulerFactoryBeanlocalQuartzScheduler

    2022年5月24日
    34
  • siamfC「建议收藏」

    siamfC「建议收藏」classSiameseAlexNet(nn.Module):def__init__(self,gpu_id,train=True):super(SiameseAlexNet,self).__init__()self.features=nn.Sequential(nn.Conv2d(3,96,11,2),nn.BatchNorm2d(96),nn.ReLU(inp.

    2022年10月1日
    3

发表回复

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

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