【发布时间】:2012-04-06 11:49:29
【问题描述】:
作为一个个人复活节项目,我正在尝试在工作中实施一些基于模型的测试。我有一个用 python 实现的图,我需要遍历所有边/做图的所有转换,至少一次。遍历一条边两次或更多次并不重要,但我需要在同一个节点中开始和结束,并返回一系列边/过渡。
更简单的算法 > 最短序列。
我环顾四周,发现了很多算法,但我找不到适合我的一种/一种组合。如果有人能指出我正确的方向或给我一些关于如何做到这一点的提示,那就太好了。
我的图形实现如下所示:
graph = {
A : {'IDLE': 't8', 'B': 't2', 'C': 't4'},
B : {'A': 't3', 'C': 't4', 'IDLE': 't6'},
C : {'A': 't5', 'IDLE': 't7', 'B': 't2'},
IDLE : {'A': 't1'}
}
【问题讨论】:
-
您的图表看起来是有方向的。是否只允许沿着箭头移动?
-
嗯,这就是旅行商问题,不是吗。如果您找到解决方案,请让全世界知道。
-
我们可以假设您的图表是strongly connected吗?
-
@DanielRoseman:实际上是欧拉循环。 TSP 处理访问所有节点,而不是所有边。
-
@Avaris:实际上这不是欧拉循环,因为您可以多次访问边缘。 OP 要求每条边至少访问一次。
标签: python graph-theory traversal model-based-testing