美文网首页
算法——大O表示法

算法——大O表示法

作者: bravelion | 来源:发表于2018-04-15 15:51 被阅读0次

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

场景:例如,假设列表包含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)快,当需要搜索的元素越多时,前者比后者快得越多。

参考自:算法图解

相关文章

  • 读书笔记:图解算法

    读书笔记:图解算法 算法简介 二分查找 O(log n) 大O表示法 大O表示法 让你能够比较操作数,它指出了算法...

  • 算法复杂度

    一、大O表示法 算法的时间复杂度通常用大O符号表述 大O表示法 : ,n为算法所需要执行的操作数 该表示法的操作数...

  • 大O表示法

    大O表示法 是一种特殊的表示法,指出了算法的速度有多快。大O表示法指出了算法有多快。例如,假设列表包含n 个元素。...

  • 简单的时间复杂度计算法则

    简单算法时间复杂度计算 大O表示法 像前面用O( )来体现算法时间复杂度的记法,我们称之为大O表示法。 算法复杂度...

  • 【python】二分法和选择排序法的实现

    一、大O表示法 学算法就绕不开大O表示法,大O法可以告诉我们算法的时间和空间复杂度。 我们先聊点简单的,请你从1数...

  • 算法——大O表示法

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

  • 【从0到1学算法】大O表示法

    一般我们在选择算法时,都是想要选择效率最高的算法。那算法的效率,用什么表示?没错!就是用大O表示法。 PS: 大O...

  • 时间复杂度了解一下

    大O表示法是用来表示算法的性能和复杂度的,也表示算法占用cpu的情况。 通常有以下几种表示: 1、O(1)复杂度 ...

  • 算法基础之大O表示法

    定义: 大O表示法是一种特殊的表示法,其用来指出算法的速度有多块 注意:大O表示法指出了最糟糕情况下的运行时间...

  • 大O表示法

    讨论算法必提到O(),不太懂,尝试理解一下。 大O表示法 描述算法的性能和复杂度。常用O表示。一般考虑为cpu时间...

网友评论

      本文标题:算法——大O表示法

      本文链接:https://www.haomeiwen.com/subject/lewdkftx.html