【问题标题】:How do you calculate tile notation order of growth?你如何计算瓷砖符号的增长顺序?
【发布时间】:2015-09-21 01:15:45
【问题描述】:

我主要了解大 O 表示法,就分析循环和诸如此类的东西来确定各种算法的效率而言,但我的书的练习说“在 Big-O 中给出最坏情况的渐近运行时间,以及波浪符号中最坏情况的增长顺序,作为给定代码片段的 N" 的函数,例如

int a = 1;
while(a<=N) {a*=2};

我的猜测是运行时间为 O(log n),因为 a 呈指数增长,因此会比线性 O(n) 快,但我不确定这与增长顺序或波浪符号有何关系

【问题讨论】:

    标签: algorithm performance runtime time-complexity


    【解决方案1】:

    在波浪符号中,您应该提供一个表达式 f(N)(不要像 big-O 中那样删除常量),以便

    RT(N) / f(N) ----> 1 作为N-->无穷大

    其中 RT(N) 是大 N 值的算法的运行时间。

    在本例中,f(N) = logN/log2。

    【讨论】:

      猜你喜欢
      • 2020-04-29
      • 2013-01-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-06-21
      • 2021-04-29
      • 2019-11-20
      • 2018-05-28
      相关资源
      最近更新 更多