Поиск в глубину, как выводить содержимое стека? 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)

Не могу разобраться почему из стека не удаляются вершины если у них уже нет смежных вершин.


Ответы (0 шт):