Θ(deg(u))是什么意思?

时间:2011-07-25 18:48:47

标签: big-o analysis adjacency-list

我以前从未听过这个,或者我用其他方式听过这个? 上下文是对于邻接列表,列出与 u 相邻的所有顶点的时间是Θ(deg(u))
 同样,确定(u,v)∈E是否为O(deg(u))的时间。
如果邻接列表的实现是一个数组,那么我认为在数组中找到 u 是恒定的时间。
 如果所有相邻顶点都链接到 u ,那么我相信它需要O(n)时间来列出或找到所有顶点,其中n是相邻顶点的数量。
 这基本上是Θ(deg(u))的含义吗?

2 个答案:

答案 0 :(得分:5)

Θ(deg(u)) = u度的大-Theta =时间是由顶点的程度紧密限定的(从上方和下方限定)。在图的邻接列表表示的情况下,顶点u的程度是|adj[u]|的列表大小u

因此,通过邻接列表迭代u的相邻顶点紧密绑定到u附近的顶点数量(算法事实有时听起来多余,不是吗?)

Big-O和Big-Theta之间的区别在于Big-O是上限,而Big-Theta表示从上到下的紧密界限。也就是说,相同的表达式用作边界,但具有不同的系数m和x0。请参阅维基百科上的the family of Bachmann-Landau notations

答案 1 :(得分:2)

我非常确定deg(u)表示“u的程度”,即包含u的边数。在邻接列表表示中,该数字也将是u的邻接列表的大小,因此迭代它需要Θ(|list|),即Θ(deg(u))