【问题标题】:Big-O complexity for this loop此循环的大 O 复杂度
【发布时间】:2014-04-21 14:08:20
【问题描述】:

以下循环的大 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 是集合中元素的数量?

【问题讨论】:

    标签: algorithm asymptotic-complexity code-complexity


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

      提示:写一个方程来描述组合的数量作为集合大小的函数。

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-05-19
        • 2019-04-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-04-21
        • 1970-01-01
        相关资源
        最近更新 更多