Как рассчитать временную сложность этого кода DFS?

#python #graph #depth-first-search

Вопрос:

Я знаю, что временная сложность DFS с использованием матрицы смежности равна O(V E) при условии, что вершины равны V, а ребра равны E. Но как мне получить эту сложность из этого кода?

 from task1 import graph
out = open("output3.txt", "w")

visited = []
def dfs_visit(graph, s):
    for v in graph[s]:
        if v not in visited:
            visited.append(v)
            dfs_visit(graph, v)

def dfs(graph, end):
    for v in [*graph]:
        if v not in visited:
            visited.append(v)
            dfs_visit(graph, v)
    
    out.write("Places: ")

    # This part can be skipped as its for printing the values
    for v in visited:
        if v == end:
            out.write(v)
            break
        out.write(v " ")
    return

# Tester Codes
end = list(graph.keys())[-1]

dfs(graph, end)