首页 > 其他分享 > 任意两点间的最短路径

任意两点间的最短路径

时间:2022-09-05 11:56:48浏览次数:41  
标签:dist int void 路径 pos genPath 两点 任意

任意两点间的最短路径
用floyd算法

void floyd(){
    for(int k=1;k<=N;++k){
        for(int i=1;i<=N;++i){
            for(int j=1;j<=N;++j){
                if( dist[i][j] > dist[i][k] + dist[k][j]){
                    dist[i][j] = dist[i][k] + dist[k][j];
                    pos[i][j] = k;//如果需要记录i,j中间经过哪些点,组成最短路
                }
            }
        }
    }
}
//获取路径
void genPath(int i,int j){
    int k = pos[i][j];
    if ( k == 0 ) return;
    genPath(i,k);
    p.push_back(k);
    genPath(k,j);
}

最小环
最小环即最少三个点组成的一个环,最小。
算法是,寻找i,j,k 三个点,其中,i,j 为最短路径,i,k和k,j 为原始路径 ( 我不知道为什么这样可以找到)

void findMinPath(){
    int minP = INT_MAX;
    for(int k=1;k<=N;++k){
        for(int i=1;i<k;++i){
            for(int j=1;j<i;++j){
                minP = min(minP, dist[i][j] + g[k][i] + g[j][k]);
            }
        }
        for(int i=1;i<=N;++i){
            for(int j=1;j<=N;++j){
                if( dist[i][j] > dist[i][k] + dist[k][j]){
                    dist[i][j] = dist[i][k] + dist[k][j];
                }
            }
        }
    }
}

标签:dist,int,void,路径,pos,genPath,两点,任意
From: https://www.cnblogs.com/kingbuffalo/p/16335959.html

相关文章

  • ASP.NET总结C#中7种获取当前路径的方法
    1.System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName -获取模块的完整路径。 2.System.Environment.CurrentDirectory -获取和设置当前目录(该进程......
  • 【JS】112. 路径总和
    112.路径总和代码DFSvarhasPathSum=function(root,targetSum){//找到没有根了,那么就说明这条路行不通if(!root){returnfalse;}//......
  • windows系统cmd切换盘符路径命令失效
    问题描述:比如当我在C盘想切换到D盘的某个文件夹路径下时   只是输出了那个路径但是并没有真的切换 这时候需要再多操作一步就会成功了  ......
  • 日常开发记录-vscode 编辑器引入路径报错:Already included file name '×××’differ
    方法一:解决方法:vscode编辑行中【查看】--【命令面板】搜索点击【重新加载窗口】即可    方法二:不推荐去掉路径后面的.vue后缀......
  • unigui源码路径
    unigui源码路径$(fmsoft)\uniGUI$(fmsoft)\uniGUI\uIndy$(fmsoft)\uniGUI\Source\Core$(fmsoft)\uniGUI\Source\VCL$(fmsoft)\uniGUI\Source\Components$(fmsoft)\u......
  • IE浏览器获取本地文件真实路径
    IE浏览器默认设置禁用了从浏览器获取本地文件真实路径,目前我在查找资料看到的解决办法有两种第一种:修改浏览器设置,如图所示第二种:<%@pagecontentType="text/html;......
  • LeetCode - 路径和
    LeetCode-路径和问题陈述鉴于根二叉树和整数目标总和,返回真的如果树有一个从根到叶路径,使得沿路径的所有值相加等于目标总和.一个叶子是一个没有子节点......
  • 关于Eclipse中的 Source Folder导致的路径问题
    SourceFolder在eclipse中就是放入class文件的路径,大家都熟悉的src就是SourceFolder。当我们发布程序时,src下面的.java文件都编译成了.class文件放入WEB-INF\classes文件......
  • 【Python】路径相关
    Python自带os.path库相关函数一、判断文件/路径是否存在os.path.isfile()os.path.isdir()os.path.exists()返回值:True/False二、创建文件夹os.makedirs()impor......
  • 124. 二叉树中的最大路径和
    124.二叉树中的最大路径和路径被定义为一条从树中任意节点出发,沿父节点-子节点连接,达到任意节点的序列。同一个节点在一条路径序列中至多出现一次。该路径至少包......