检查紧密连接的组件时DFS的运行时间

时间:2019-04-07 16:19:42

标签: algorithm performance time-complexity depth-first-search

考虑一组k个人。我想检查一下小组中的每个人是否都是与小组中所有其他人的朋友。

为了检查所有人是否都是朋友,我将对每个人运行DFS,检查他们是否与k-1人成为朋友。如果是这样,可以断定他们都是彼此的朋友。

DFS的运行时间为O(V + E)。如果我为每个人执行DFS,运行时间是否仍为O(V + E)?

1 个答案:

答案 0 :(得分:1)

  

DFS的运行时间为O(V + E)。运行时间是否仍为O(V + E),   我是否每个人都做DFS?

否,由于您要执行搜索V次,因此您将有O(V * (V+E))

尽管这不是您想要的,但您可以在O(V)中使用完整图的属性来执行此操作,即,如果每个节点的度数为V-1,则图是完整的。请注意,图表也必须简单,但应以您的情况为准