圆形、无向、未加权图中的最短路径
Shortest path in a circular, undirected, unweighted graph
我有一个循环网络,从连接到最近邻居的每个节点开始。我添加了一定数量的远程连接,而更长的连接变得极不可能。
它可以像这个一样表示
并且它被存储在像这样的2D阵列中
我想创建一个例程,随机选择两个节点并找到它们之间的最短路径。实现这一目标最有效的算法是什么?
有一种众所周知的算法称为Dijkstra算法。我以前听过这个名字,我知道什么是图形。。。
编辑以供澄清:-就Prism和Dijkstra的差异而言:-
Prim的算法为图构造了一个最小生成树,这是一个连接图中所有节点的树,并且在连接所有节点的所有树中具有最小的总成本。然而,MST中任意两个节点之间的路径长度可能不是原始图中这两个节点间的最短路径。
Dijkstra的算法构造了一个从某个源节点开始的最短路径树。最短路径树是连接图中所有节点的树,具有从图中某个起始节点到任何其他节点的任何路径的长度最小化的特性。
所以,若考虑到两个节点之间的最短路径,那个么就选择Dijkstra的。我对其他选择不太了解,但Kruskal和Prim是同一条线上的drwan。
相关文章:
- 内存效率表示最短路径的方法?
- 用于查找网格中最短路径的算法
- 查找最短路径算法
- BFS 打印最短路径
- 使用 Dijkstra 算法跟踪两个节点之间的最短路径
- 使用C++具有两个数字的最短路径算法.(C++)
- 使用迭代深度优先搜索算法的未加权图的最短路径
- 如何仅在 2 个节点之间获取最短路径,给定邻接列表有向图?
- 如何使用贝尔曼-福特算法返回所有具有捆绑重量的最短路径?
- 使用优先级队列查找所有与 Dijkstra 相同的最短路径
- 尝试在图形中查找最短路径时的无限循环
- C++计算有向图中的最短路径
- 使用BFS存储和打印最短路径
- 如何制作由原始图形的最短路径边组成的新图形
- 在有向图中查找第二条最短路径
- 找到有向图C 的最短路径
- 所有对的最短路径长度为无向加权稀疏图
- 加权无向Boost图上的Floyd-Warshall(所有对最短路径)
- 圆形、无向、未加权图中的最短路径
- 最短路径,无左转弯,打印路径