这个循环的大O复杂性

时间:2014-04-21 14:08:20

标签: algorithm asymptotic-complexity code-complexity

以下循环的大O复杂性是什么:

for each vertex u ∈ C do
        for each vertex v ∈ C and v > u do

我在这里做的是想象下面的集{1,2,3,4}循环执行这个数字的2个元素的所有组合的函数,(1,2),(1, 3),(1,4),(2,3),(2,4),(3,4)。

是否=(n ^ 2)其中n是集合中元素的数量?

2 个答案:

答案 0 :(得分:2)

是的,这是O(n^2),假设执行的函数当然是O(1),并且迭代器平均每次迭代也是O(1)(这通常是一个有效的假设)。

请注意,即使您进一步优化它,您也会处理Choose(n,2)元素和Choose(n,2)=n(n-1)/2,它们仍然在O(n^2)

答案 1 :(得分:1)

提示:写一个方程式,描述组合数量与集合大小的函数关系。

删除任何低阶项并忽略高阶项中的任何常数乘数。