• 最短路径算法(Dijkstra算法、Floyd-Warshall算法)


    最短路径算法具体的形式包括:

    确定起点的最短路径问题:即已知起始结点,求最短路径的问题。适合使用Dijkstra算法

    确定终点的最短路径问题:即已知终结结点,求最短路径的问题。在无向图中,该问题与确定起点的问题完全等同;在有向图中,该问题等同于把所有路径方向反转的确定起点的问题。

    确定起点终点的最短路径问题:即已知起点和终点,求两结点之间的最短路径。

    全局最短路径问题:求图中所有的最短路径。Floyd-Warshall算法

    dijkstra算法思想:
    开始时,S={u},T=V-{u}; 对T中所有顶点x,如果u到x存在边,置d(u,x)=c(u,x); 否则d(u,x)=无穷大。
    循环:对T中所有顶点x,寻找d(u,x)最小的顶点t,即:d(u,t)=min{d(u,x)|x属于T},则d(u,t)就是顶点t到顶点u的最短路径距离。同时,顶点t也是集合T中所有顶点距离u最近的顶点。把顶点t从T中删除,把它并入S。然后对T中与t相邻接的所有顶点x,用下面的公式更新d(u,x)的值:d(u,x)=min{d(u,x), d(u,t) +c(t,x)}。
    继续“循环”,一直到T空为止。
     
    Floyd-Warshall算法和dijkstra算法思想类似:都是通过绕行中间节点找到端到端的最短路径,不再描述。
  • 相关阅读:
    docker 安装部署 mysql(配置文件启动)
    mac Charles抓包
    docker 安装部署 redis(配置文件启动)
    安装mysql5.6
    Linux命令
    git命令汇总
    Java程序占用的内存可能会大于Xmx
    排序
    二分查找
    Elasticsearch核心技术(一):Elasticsearch环境搭建
  • 原文地址:https://www.cnblogs.com/mmcmmc/p/3878716.html
Copyright © 2020-2023  润新知