根据O标记如何判断一个功能是否比另一个功能快?

林嘉

我对如何确定一种功能比另一种功能快还是慢有疑问。如果教授使用O(1)和O(n)的例子,我知道O(1)更快,但是我真的只知道通过记住简单的函数运行时间顺序...但是如果给出更复杂的例子,我不明白如何找到更快的功能。

例如,假设我要比较n ^ logn和n ^(logn)^ 2和n ^(sqrt(n))。如何比较这些功能,并能够确定运行时间最快和最慢的时间(big-O表示法)?有没有每次我都可以遵循的分步过程,以便在比较函数运行时间时可以使用?

这是我对以上示例的看法。我知道n ^ 2比n ^ 3快。所以我想比较每个函数的n ^ ____。因此,如果我分别插入n = 1000000,则logn将具有最小的值,logn ^ 2将具有第二个值,而logn ^ sqrt(n)将具有最大的值。这是否意味着最小值(n ^ logn)将是最快的,最大值(n ^ sqrt(n))将是最慢的?1. n ^ logn(最快)2. n ^ logn ^ 2 3. n ^ sqrt(n)(最慢)

Codenheim

通常将Big O写为N的函数(常数为O(1)的情况除外)。

因此,只需将任何N个(3或4个值,或者最好是足够的值以查看曲线)插入要比较和计算的两个函数即可。如果可以,请绘制它们的图形。

但是您不必这样做,您应该对Big O的函数类有基本的了解。如果无法计算,您仍然应该知道O(log N)大于O(1)等等。O符号表示最坏的情况。因此,如果您熟悉最常用的功能,通常比较起来很容易。

这是否意味着最小值(n ^ logn)将是最快的,最大值(n ^ sqrt(n))将是最慢的?1. n ^ logn(最快)2. n ^ logn ^ 2 3. n ^ sqrt(n)(最慢)

出于比较目的,是的。O表示法用于比较最坏情况,复杂度或算法类别,因此您仅假设比较中所有候选对象都出现最坏情况。您无法从O标记中分辨出最佳,典型或平均性能。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何定义输出另一个功能的功能?

来自分类Dev

是否可以从另一个功能“返回”一个功能?

来自分类Dev

是否可以在另一个功能中具有一个功能

来自分类Dev

如何查找特定功能是否正在另一个功能中使用

来自分类Dev

如何查找特定功能是否在另一个功能中使用

来自分类Dev

如何将一个功能整合到另一个功能中?

来自分类Dev

如何在执行另一个功能时执行一个功能?

来自分类Dev

如何从一个功能获得价值到另一个功能?

来自分类Dev

如何判断一个物体是否在另一个物体的距离之内?

来自分类Dev

如何判断一个类是否继承自另一个类?

来自分类Dev

如何停止使用另一个功能

来自分类Dev

如何内联另一个翻译单元的功能?

来自分类Dev

如何从另一个类访问功能

来自分类Dev

如何根据功能从另一个列表创建列表?

来自分类Dev

用原型扩展另一个功能的功能

来自分类Dev

从jQuery中的另一个功能停止功能

来自分类Dev

如果另一个功能完成,则执行功能

来自分类Dev

在另一个功能中请求功能响应

来自分类Dev

功能中另一个功能参数

来自分类Dev

猴子根据模块内部的另一个功能修补模块功能

来自分类Dev

如何从另一个本地调用一个功能应用程序?

来自分类Dev

如何从一个组件清除另一个组件的间隔功能?

来自分类Dev

如何根据另一个功能参数的精简类型来推断/精简功能参数类型?

来自分类Dev

使用javascript测试是否单击/触发了一个功能,然后禁用了另一个功能。

来自分类Dev

是否有可能在另一个功能中有一个功能

来自分类Dev

是否可以从OpenFlipper中的另一个插件调用另一个插件的功能?

来自分类Dev

在定义第一个功能之前,在另一个功能中使用一个功能

来自分类Dev

R:检查功能是否已作为另一个功能的参数提供的正确方法

来自分类Dev

用另一个功能替换一个功能进行测试

Related 相关文章

  1. 1

    如何定义输出另一个功能的功能?

  2. 2

    是否可以从另一个功能“返回”一个功能?

  3. 3

    是否可以在另一个功能中具有一个功能

  4. 4

    如何查找特定功能是否正在另一个功能中使用

  5. 5

    如何查找特定功能是否在另一个功能中使用

  6. 6

    如何将一个功能整合到另一个功能中?

  7. 7

    如何在执行另一个功能时执行一个功能?

  8. 8

    如何从一个功能获得价值到另一个功能?

  9. 9

    如何判断一个物体是否在另一个物体的距离之内?

  10. 10

    如何判断一个类是否继承自另一个类?

  11. 11

    如何停止使用另一个功能

  12. 12

    如何内联另一个翻译单元的功能?

  13. 13

    如何从另一个类访问功能

  14. 14

    如何根据功能从另一个列表创建列表?

  15. 15

    用原型扩展另一个功能的功能

  16. 16

    从jQuery中的另一个功能停止功能

  17. 17

    如果另一个功能完成,则执行功能

  18. 18

    在另一个功能中请求功能响应

  19. 19

    功能中另一个功能参数

  20. 20

    猴子根据模块内部的另一个功能修补模块功能

  21. 21

    如何从另一个本地调用一个功能应用程序?

  22. 22

    如何从一个组件清除另一个组件的间隔功能?

  23. 23

    如何根据另一个功能参数的精简类型来推断/精简功能参数类型?

  24. 24

    使用javascript测试是否单击/触发了一个功能,然后禁用了另一个功能。

  25. 25

    是否有可能在另一个功能中有一个功能

  26. 26

    是否可以从OpenFlipper中的另一个插件调用另一个插件的功能?

  27. 27

    在定义第一个功能之前,在另一个功能中使用一个功能

  28. 28

    R:检查功能是否已作为另一个功能的参数提供的正确方法

  29. 29

    用另一个功能替换一个功能进行测试

热门标签

归档