如何计算此 DFS 代码的时间复杂度?

问题描述

我知道使用邻接矩阵的 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)

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)