我们得到了一个多重图G =(V,E)的邻接表,并需要找到一种O(V + E)算法来计算等效(简单的)无向图的邻接表。
我在另一篇文章中找到了以下解决方案(它是问题部分,因此我重新发布):“[H]拥有一个大小为|V|的数组,以标记至少在adj [u]中被遇到一次的顶点,从而防止重复。在遍历每个adj [u]之前重置数组。”
请原谅我的无知,但我不确定这是O(| V | + | E |)的方法。重置长度为| V |的数组| V |次的成本是多少?
谢谢。
我在另一篇文章中找到了以下解决方案(它是问题部分,因此我重新发布):“[H]拥有一个大小为|V|的数组,以标记至少在adj [u]中被遇到一次的顶点,从而防止重复。在遍历每个adj [u]之前重置数组。”
请原谅我的无知,但我不确定这是O(| V | + | E |)的方法。重置长度为| V |的数组| V |次的成本是多少?
谢谢。
O(1)
。在这种情况下,仅重新分配数组就足以满足运行时要求。 - user4668606