Я смотрел это 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)]