有没有一种工具或已知的算法可以计算出在一个图的节点之间传输信息的最短序列-例如图3oc?
示例:threeC
时间0:A=A;B=B;C=C;D=D
时间1:A=ABCD;B=B;C=C;D=D
时间2:A=abcd;B=bacd;C=cabd;D=dabc
我研究过petri网,我想它应该是一个有方向和多个边的有色网然而,我很不确定,如果我在正确的轨道上。
它将不得不工作的连通未标记图多达5节(其中有21个)。我想知道-更好的证明-在所有5个节点中分配abcd的最短方式(对于所有21个图)。
那么,有没有适合这个问题的算法或研究领域呢?
谢谢你的帮助。

最佳答案

如果我理解正确的话,问题实际上是找到从起始顶点到父顶点的最短路径这正是Dijkstra能做得很好的地方基本上,您只为Dijkstra分配一个开始节点,并让它运行,直到它访问了所有节点。
Dijkstra会留下输出所需的信息。
如果输出是单值,告诉最大最短路径,你可以简单地跟踪距离,并打印算法终止时的最高距离。如果要求同时输出路径,那么dijkstra将需要存储它从顶点到顶点另一端最短路径所用的边的信息(如果所有路径都需要输出,那么一个顶点可能有多个相等的入口,要求所有源的边都标记为用于路径)。
http://en.wikipedia.org/wiki/Dijkstra's_algorithm

关于algorithm - 哪种算法返回最短序列以在图的节点之间交换信息?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23643910/

10-11 20:55