【问题标题】:Big O for number of operations for a decreasing functionBig O 表示递减函数的操作数
【发布时间】:2011-01-25 02:15:09
【问题描述】:

我有一个循环问题,每次循环执行时需要减少操作次数。代码如下:

for (int i = 1; i < n; i++) { ...code that takes at most 100/i operations to execute... }

我需要找到一个描述操作数量的大 O。我认为让我感到困惑的是更大的 n = 更多的操作,但增长更小。

感谢您的帮助!

【问题讨论】:

    标签: loops complexity-theory big-o


    【解决方案1】:

    谐波数 1 + 1/2 + 1/3 + ... + 1/n 为 O(log n)

    另外,如果 n > 100 怎么办?例如:100/12345 操作是否定义良好?

    【讨论】:

    • 我认为它会被四舍五入到 0。我不认为这有什么不同,不是吗?
    • @xxpor:确实如此,因为这样我们可以做得更好,并说它是 O(1) :-)。 (从不超过 100(1 + 1/2 + ... + 1/100))
    猜你喜欢
    • 1970-01-01
    • 2011-01-29
    • 1970-01-01
    • 1970-01-01
    • 2019-07-27
    • 1970-01-01
    • 2011-11-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多