在Python3中实现DFS算法时的最大递归深度错误

2024-09-28 23:25:47 发布

您现在位置:Python中文网/ 问答频道 /正文

我在看这个关于DFS算法实现的MIT ocw video。我完全理解它,并试图在图的邻接表上实现它。你知道吗

以下是我的代码:

parent={}
def DFSv(adj,s):
  for v in adj[s]:
    if v not in parent:
        parent[v]=s
    DFSv(adj,v)
def DFS(adj):
  for s in adj:
        if s not in parent:
            parent[s]="None"
        DFSv(adj,s)

a={1: [2, 5], 2: [1, 3, 5], 3: [2, 4, 6], 4: [3, 5, 6], 5: [1, 2, 4], 6: [3, 4]}
DFS(a,1,6)

即使使用sys模块增加递归限制,错误也不会消失。你知道吗

图形规格:

vertices = [1, 2, 3, 4, 5, 6]
edges    = [(1, 2), (1, 5), (2, 3), (2, 5), (3, 4), (4, 5), (6, 4)]

Tags: 代码in算法noneforifmitdef