算法——大O表示法

定义:一种特殊的表示法,指出了算法的速度有多快。用于表示运行时间如何随列表增长而增加。

场景:例如,假设列表包含N个元素。简单查找需要检查每个元素,因此需要执行N次操作。使用大O表示法,这个运行时间为O(n)。如果使用二分法的话,需要执行logN,使用大O表示法,就是O(logN).

以下从快到慢列出经常会遇到的5种大O运行时间:

O(logN),也叫对数时间,这样的算法包括二分查找。

O(N),也叫线性时间,这样的算法包括简单查找。

O(n*logN),快速排序。

O(N*N),选择排序。

O(N!),旅行商问题的解决方案。

Ps:大O表示法指出了最糟糕情况下的运行时间;大O表示法让你能够比较操作数,它指出了算法运行时间的增速;算法的速度指的并非时间,而是操作数的增速;谈论算法的速度时,我们说的是随着输入的增加,其运行时间将以什么样的速度增加;O(logN)比O(N)快,当需要搜索的元素越多时,前者比后者快得越多。

参考自:算法图解

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 算法就是完成任务的一组指令,任何代码片段都可以说是算法。当然我们这里讨论的算法指是那些特别有趣的,比如速度...
    小猫仔阅读 1,273评论 0 0
  • 定义: 大O表示法是一种特殊的表示法,其用来指出算法的速度有多块 注意:大O表示法指出了最糟糕情况下的运行时间...
    0爱上1阅读 835评论 0 0
  • 料到迟早会来,长潭路的老房子会被卖掉,这里保存着的是爷爷奶奶和我一切的生活痕迹。 虽然奶奶去世了,然而我依旧希望留...
    感性的羊驼阅读 403评论 6 0
  • 古代史诗人诗中写故事有小鸟,新代诗人里看树枝上头有小鸟叫。小鸟之中必有古代史诗人来欣赏它,小鸟之中也有新代诗人来逗它。
    王密亮阅读 138评论 0 0