V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
ariera
V2EX  ›  算法

广度遍历算法探测两个节点之间的联通性并打印路径

  •  
  •   ariera · 14 天前 · 201 次点击

    有这么一堆有方向的图, 好比说有向图是这样子的:

    A,B B,C A,D E,F G,Z X,A X,Y A,E E,R C,E E,F E,B

    现在需求是:输入起始节点和最终节点,可以返回一下连通性结果,如果是通的,并输出连通的路径(无需最短,如果有多条就输出多条)。根据网络搜索发现大致上应该是图的广度优先遍历算法,但在网上找了很多 Python 代码示例,都是输入一个起始节点,输出可能的最终节点,使用的还是现成包,改不动。

    1. 好比说最终调用函数 FindLine(A, C) 就会尝试查找 A 开始 B 结果的这种路径。 最终会输出 A->B->C A->E->C

    例外: A->E->C->E->C(这种环一下子的就不必了吧。。)

    1. 好比说最终调用函数 FindLine(A, Z) 那就是到不了,不通的

    希望大神能给个 Demo ,指点一二。

    目前尚无回复
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1671 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 16:45 · PVG 00:45 · LAX 09:45 · JFK 12:45
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.