【发布时间】:2013-06-03 18:01:38
【问题描述】:
如果我们知道或不知道它们之间的路径长度,如何跟踪给定图中两个节点之间的路径一次?(通过考虑邻接矩阵)
在邻接矩阵和广度优先搜索之间找到哪条路径是有效的?
请给出算法步骤。
在此先感谢您, 卡马拉。
【问题讨论】:
标签: graph path adjacency-matrix
如果我们知道或不知道它们之间的路径长度,如何跟踪给定图中两个节点之间的路径一次?(通过考虑邻接矩阵)
在邻接矩阵和广度优先搜索之间找到哪条路径是有效的?
请给出算法步骤。
在此先感谢您, 卡马拉。
【问题讨论】:
标签: graph path adjacency-matrix
实际上,答案取决于您正在寻找什么样的路径。
如果您正在寻找最短路径,那么您可以尝试实现Dijkstra's algorithm,它的运行速度也非常快。
如果你只是想找到一条路径,不管它有多长,那么BFS 是一个不错的解决方案,因为它会在“最浅”的地方找到它,尽管它不能保证它是最短的一个。
您的其他选项是DFS,它将首先搜索最深的路径和Bellman-Ford,它也会给出最短路径,但在比 Dijkstra 更一般的情况下,它会更慢。
如果您想要所有可能的路径,那么可以重新实现这些算法中的任何一个来执行图形的标记,从而获得所有可能的路径。
【讨论】: