考虑一组k个人。我想检查一下小组中的每个人是否都是与小组中所有其他人的朋友。
为了检查所有人是否都是朋友,我将对每个人运行DFS,检查他们是否与k-1人成为朋友。如果是这样,可以断定他们都是彼此的朋友。
DFS的运行时间为O(V + E)。如果我为每个人执行DFS,运行时间是否仍为O(V + E)?
答案 0 :(得分:1)
DFS的运行时间为O(V + E)。运行时间是否仍为O(V + E), 我是否每个人都做DFS?
否,由于您要执行搜索V次,因此您将有O(V * (V+E))
尽管这不是您想要的,但您可以在O(V)
中使用完整图的属性来执行此操作,即,如果每个节点的度数为V-1
,则图是完整的。请注意,图表也必须简单,但应以您的情况为准