Максимальная ошибка глубины рекурсии при реализации алгоритма DFS в Python3 - PullRequest
0 голосов
/ 01 ноября 2018

Я смотрел это MIT ocw видео о реализации алгоритма DFS. Я прекрасно это понял и попытался реализовать в списке смежности графа.

Вот мой код:

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)]
...