美文网首页
计算机程序空间/时间复杂度大 O 表示法

计算机程序空间/时间复杂度大 O 表示法

作者: rightchen | 来源:发表于2019-03-31 16:50 被阅读0次

在平时开发当中,衡量一个程序设计执行的效率通常用大O函数表示法,下面依次从复杂度由低到高叙述下

O(1),最低复杂度。表示时间/空间的复杂度为固定的,与数据量大小没有关系。例如哈希算法,无论多少数据,通过一次计算便可以计算出对应的值,查找的复杂度为O(1)。一般情况下,只要算法中不存在循环语句、递归语句,即使有成千上万行代码,它的执行复杂度也为O(1),因为执行的时间是固定的。

O(logn),表示数据量增大n倍后,执行的时间/空间增大logn倍。这里的log是以2为底的,比如,当数据增大256倍时,耗时只增大8倍。例如二分查找,256个数中最多8次便可以找到对应的数字。log也可以用3或者10为底,表示的复杂度依然为O(logn)。

O(nlogn),如果理解了上面的O(logn),如果我们执行了n遍的O(logn),那么复杂度就可以表示为O(nlogn)
O(n),表示时间/空间的复杂度随着数据量的增大而增大。例如遍历算法,遍历执行一个数组,或者遍历一个文件夹,他的执行时间/复杂度都随着数据量的增大而增大。

O(m➕n)、O(m✖️n),表示时间/空间复杂度取决于m、n两个数据量的值

O(n^2),表示时间/空间的复杂度随着数据量的增大,复杂度也呈现出数据量的平方倍。例如执行一个冒泡排序算法。程序执行了数组长度*数组长度的执行复杂度变化。

O(n^3),表示时间/空间的复杂度随着数据量的增大,呈现出数据量的立方倍的增大

相关文章

  • 复杂度

    算法优劣 时间复杂度估算程序指令的的执行次数(执行时间) 空间复杂度估算所需占用的空间 大O表示法(Big O) ...

  • 排序算法

    复杂度 常用大O表示法展示算法的时间复杂度和空间复杂度。大O时间复杂度表示代码执行时间随数据规模变化的趋势。下面是...

  • 《数据结构与算法之美》02——复杂度分析

    大O复杂度表示法 大O复杂度表示法,表示代码执行时间随数据规模增长的变化趋势,也叫作渐进时间复杂度,简称时间复杂度...

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

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

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

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

  • 计算机程序空间/时间复杂度大 O 表示法

    在平时开发当中,衡量一个程序设计执行的效率通常用大O函数表示法,下面依次从复杂度由低到高叙述下 O(1),最低复杂...

  • 2022-09-23

    算法过程描述 动图演示 复杂度 用大O表示法,忽略常量、低阶和常数系数。 时间复杂度为:O(n²)空间复杂度为:并...

  • 算法界的小学生--打好基础(数据结构和算法)

    一, 算法的大O表示法 我们在平时看到算法的时候,总会连带看到时间复杂度,空间复杂度之类的概念,对于O(n),O(...

  • 复杂度分析

    为什么需要复杂度分析? 大O复杂度表示法 时间复杂度分析 常见复杂度量级 复杂度量级简单说明 空间复杂度 时间复杂...

  • 算法学习——复杂度

    一、大O表示法(Big O) 一般用大 O 表示法来描述复杂度,它表示的是数据规模 n 对应的复杂度。 忽略常数、...

网友评论

      本文标题:计算机程序空间/时间复杂度大 O 表示法

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