使用这样的函数:
ef simple _ paths (开始,长度,可视=[ ] ) :
if length==0:
是(可视[开始] ) )。
else:
forchildinchildren (开始) :
if child not in visited:
forpathinsimple _ paths (周期,长度- 1,可视[开始] ) :
是yeld(path )
调用可以列出长度为4的所有简单路径
for start in nodes () :
forpathinsimple _ paths (开始,4 ) :
打印路径
在以上示例中,假设nodes (返回图表中所有节点的可迭代性,而children(x ) x )返回节点x的子节点的可迭代性。
在上图中输入simple_paths (正确应用函数后,如下所示:
['5'、'9'、'3'、'1'、'0']
[6、5、9、3、1]
['6'、'5'、'3'、'1'、'0']
['9'、'5'、'3'、'1'、'0']
这证明了这一功能:
不选择尊重有向边(例如,仅选择简单路径) (例如,(6)、(5)、(1)、(3)、(9) ) ) )、(5)、(3)、(1)、(5) )