syhsyh9696
V2EX  ›  编程

求最短路

  •  
  •   syhsyh9696 · Dec 24, 2015 · 4013 views
    This topic created in 3971 days ago, the information mentioned may be changed or developed.
    我有一个矩阵,里面储存着两个节点之间距离的长度,假设不可达,如何求两点之间的最短路径?
    11 replies  •  2015-12-24 13:50:35 +08:00
    algas
    algas
    Dec 24, 2015
    1
    假设不可达,是说没有办法从一个节点到另一个节点吗?
    zrp1994
    zrp1994
    Dec 24, 2015
    2
    分支限界法树搜索求最短旅行商?
    lijun20020229
    lijun20020229
    Dec 24, 2015
    3
    旅行商是遍历并回到原点,最短路是寻找两点之间的最短路径。
    没看出这个有什么特殊的地方,用常规算法不行么?
    wendellup
    wendellup
    Dec 24, 2015
    4
    不可达是啥意思
    syhsyh9696
    syhsyh9696
    OP
    Dec 24, 2015
    5
    不可达是不能直接到达
    zrp1994
    zrp1994
    Dec 24, 2015
    6
    @syhsyh9696 不能到达的节点之间代价设为正无穷,用树搜索很容易就求出来了
    TheCure
    TheCure
    Dec 24, 2015
    7
    这个感觉很常规啊,dijkstra 算法不行吗
    长度为负数可以用 floyd
    algas
    algas
    Dec 24, 2015
    8
    根据矩阵,选择距离当前节点为 1 的节点{j},遍历所有{j}选择到目标节点距离最短的节点作为路径上的下一个节点,依次迭代到目标节点。
    h4x3rotab
    h4x3rotab
    Dec 24, 2015 via iPhone
    9
    那必须是 Dijkstra 和 Floyd 啊,搜索慢死了
    juxingzhutou
    juxingzhutou
    Dec 24, 2015
    10
    这不就是算法导论里面的单源最短路和两点最短路两章吗,去找找这两章的内容就是了,相当完整,基本涵盖了可能的场景。
    syhsyh9696
    syhsyh9696
    OP
    Dec 24, 2015
    11
    谢谢大家我去翻书
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   677 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 73ms · UTC 21:02 · PVG 05:02 · LAX 13:02 · JFK 16:02
    ♥ Do have faith in what you're doing.