【发布时间】:2019-07-06 18:22:24
【问题描述】:
我的图表中的计算周期有问题。 我想要
graph = {('S','A'): ('2','2'), ('A','S'): ('2','2'), ('S','B'): ('3','5'),
('B','S'): ('3','5'), ('S','C'): ('3','6'), ('C','S'): ('3','6'),
('B','D'): ('4','5'), ('D','B'): ('4','5'), ('A','C'): ('2','2'),
('D','C'): ('3','4'), ('C','D'): ('3','4'), ('T','C'): ('5','8'),
('C','T'): ('8','5'), ('T','D'): ('4','7'), ('D','T'): ('4','7')}
print(graph)
{('S', 'A'): ('2', '2'), ('S', 'C'): ('3', '6'), ('T', 'C'): ('5', '8'), ('A', 'S'): ('2', '2'), ('D', 'T'): ('4', '7'), ('C', 'D'): ('3', '4'), ('D', 'B'): ('4', '5'), ('S', 'B'): ('3', '5'), ('C', 'T'): ('8', '5'), ('C', 'S'): ('3', '6'), ('B', 'S'): ('3', '5'), ('T', 'D'): ('4', '7'), ('B', 'D'): ('4', '5'), ('D', 'C'): ('3', '4'), ('A', 'C'): ('2', '2')}
我想扩大图表但不存在循环。例如:
vs = 'S'
vt = 'T'
('S', 'A'): ('2', '2'), ('S', 'B'): ('3', 5'), ('S', 'C'): ('3', '6')-
展开:
('S', 'A', 'C') : ('S', 'A') + ('A', 'C') = ('2', '2') + ('2', '2') =
('4', '4')('S', 'B', 'D') : ('S', 'B') + ('B', 'D') = ('3', '5') + ('4', '5') = ('7', '10')('S', 'C', 'A') : not expand('S', 'C', 'S') : not expand('S', 'C', 'T') : ('S', 'C') + ('C', 'T') = ('3', '6') + ('5', '8') = ('8', '14')('S', 'C', 'D') : ('S', 'C') + ('C', 'D') = ('3', '6') + ('3', '4') = ('6', '10')
-
输出(预期):
('S', 'A', 'C') : ('4', '4')('S', 'B', 'D') : ('7', '10')('S', 'C', 'A') : not expand('S', 'C', 'S') : not expand('S', 'C', 'T') : ('8', '14')-
('S', 'C', 'D') : ('6', '10')
你能帮我解决上面的问题吗?非常感谢。。
【问题讨论】:
标签: python dictionary graph expand