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

35 天前
 ariera

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

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 ,指点一二。

382 次点击
所在节点    算法
0 条回复

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1042403

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX