为图形构建BFS树的复杂性是多少?

时间:2012-07-09 14:18:06

标签: algorithm time-complexity

我知道BFS需要O(n + m)时间,其中n是节点,m是弧。

在做BFS的同时构建树怎么样?

只要在更糟糕的情况下树完全不平衡,它是否会增加另一个n?

1 个答案:

答案 0 :(得分:3)

不完全确定我关注但是如果通过:

  

是否增加了另一个

您的意思是复杂性为O(n+m+n),请注意O(n+m+n) = O(n+m),因此这里没有真正的问题。

树的构建可以在O(n+m)中完成,因为它可以表示为数组a[1,...,n],其中a[i] = j if and only if node i is connected to node j in the tree(以及根的特殊标记)

因此,在BFS期间,当节点v“发现”节点u时,您只需要执行a[u]=v,这是在恒定时间内完成的,并且完全完成{{ 1}}次,因此总复杂度仍为n

相关问题