对数增长

时间:2012-12-03 08:55:46

标签: performance logarithm

  

可能重复:
  Plain English explanation of Big O

关于logarithmic growth的维基百科文章是一个存根。我在stackoverflow上读到的许多答案都说明了使用0基于对数函数的过程或函数的效率(我假设[见下文]它是0 [零]而不是O [字母如M,N,O,P,Q],但如果错误,请更正我的假设)和nN

有人可以更好地解释有关常见计算解释的对数解释吗?也许就时间(以秒为单位)(毫秒也欢迎,只是试图在实际生活时间差异中概念化......),尺寸和/或重量方面?

我经常看到以下内容:(请随意添加其他内容)

  • O(1)
  • O(N)

我的假设是基于代码块外的0 [零]没有斜线,而inside a code block a 0 does have a slash through it

1 个答案:

答案 0 :(得分:1)

这意味着执行时间(或其他资源)是数据量的某种功能。让我们说你要花5分钟炸掉10个气球。如果功能是O(1),那么炸毁50个气球也需要5分钟。如果它是O(n),则炸掉50个气球需要25分钟。

O(log n)意味着随着事物的扩大,管理更大的n变得更容易(它遵循对数增长)。假设你想在f(n)项目的目录中找到一个地址。假设搜索100个条目的目录需要6.64秒。 [6.64 = log_2(100)]然后搜索200个条目可能只需7.64秒。这是对数增长。