解决方法
表达它的最简单的方法(在我看来)是通过使用数组列表的dict:
graph = {} graph[node_id] = [other_node_id for other_node_id in neighbors(node_id)]
def df(node): if visited(node): pass # found a cycle here,do something with it visit(node) [df(node_id) for node_id in graph[node]]
免责声明:这其实是草图; neighbors(),visited()和visit()只是用于表示算法应该如何的模拟器.