Поиск в глубину, как выводить содержимое стека? Python
Необходимо написать алгоритм обхода графа поиском в глубину, выводить текущая вершина, DFS номер, содержание стека, не могу разобраться как реализовать стек.
def dfs(v):
global Edges, number,stack
visited[v] == True
stack.add(v)
number+=1
print('Вершина: ',v,'DFS-номер: ',number, "Stack",stack)
for key in Edges[v]:
if visited[key] == False:
dfs(key)
elif visited[key] == True:
stack.remove(key)
stack = set()
number = 0
Vertex = 0
Vertexs = []
Edge = 0
f = open("Text.txt", 'r')
with f:
Vertexs = [ line.split() for line in f ]
Vertex = Vertexs[0][0]
Edge = Vertexs[0][1]
del Vertexs[0]
print("Ребра графу: ",Vertexs)
Edges = {}
for i in range(int(Vertex)):
Edges[i+1] = []
for i in range(int(Vertex)):
for elem in Vertexs:
if int(elem[0]) == i+1:
Edges[i+1].append(int(elem[1]))
print("Список суміжніх вершин: ", Edges)
visited = [False] * (int(Vertex)+1)
dfs(1)
Не могу разобраться почему из стека не удаляются вершины если у них уже нет смежных вершин.