我很难弄清楚如何解决这个问题......我不是在要求一个明确的答案,只是对采取什么方法进行提醒。到目前为止,我遇到的每一个问题都遇到了问题。
我有一组节点:
nodes = { ('A','B'),
('B','C'),
('C','D'),
('C','E'),
('B','E'),
('C','F')}
作为集合字典:
nodedict = { 'A': {'B'},
'C': {'B', 'E', 'D', 'F'},
'B': {'A', 'C', 'E'},
'E': {'C', 'B'},
'D': {'C'},
'F': {'C'} }
我想要做的是建立一个这样的结构:
为一个'
A
|
B
_________|_________
| |
C E
_____|_____ |
| | | C
D E F ____|____
| |
D F
因此可以找到从 A 出发的所有可能路线。
我一直在使用一个列表来表示分支,然后尝试将 for 循环包装在一个 while 循环中……如果孩子不在列表中,则将每个列表及其子项附加……但我一直卡住了。我有时会很接近,但这是我写明确的 for 循环并确切知道我在寻找什么的时候。
最好先尝试获得一个提示,然后回溯,然后再获得下一个提示...
for x in xs:
...
for a in x:
...
for b in a
但显然我不知道节点'n'有多深......嗯......任何有用的建议都非常感谢!