问题描述
我正在尝试对有向图中的循环实施非递归检查。许多涵盖此内容的 Python 资源都是递归的。
这是我当前的代码
{ "edges": [[1,3],[2,3,4],[0],[],5],[]]}
def cycleInGraph(edges):
visited = [False for node in edges]
onStack = [False for node in edges]
for node in range(len(edges)):
if visited[node]:
continue
return checkCycle(node,edges,visited,onStack)
def checkCycle(node,onStack):
stack = [node]
while len(stack):
current = stack.pop()
if visited[current]:
continue
visited[current] = True
onStack[current] = True
children = edges[current]
for child in children:
if not visited[child]:
stack.append(child)
elif onStack[child]:
return True
return False
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)