微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决如何计算此 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 举报,一经查实,本站将立刻删除。