大O表示法

作者: 呀比是只鱼 | 来源:发表于2020-11-23 11:45 被阅读0次

时间复杂度

衡量一个算法可以从占用的空间和时间来评价其是否是一个更好的算法。这里主要从时间方面衡量。时间复杂度,可以看成是程序执行过程中所需要的运行步骤的计量,与用哪种语言无关。赋值语句包括了表达式计算和变量存储两个基本资源,程序设计中包含了3种控制流语句和赋值语句,而控制流语句仅作为组织语句,并没有实施处理。因此赋值语句的执行次数可以作为衡量算法时间的选择。

1. 问题规模是什么?

影响算法执行时间的主要因素。算法分析的目标是找出问题规模会怎么样影响一个算法的执行时间

2. 数量级函数

O(f(n)):f(n)为T(n)中主导的部分

基本操作数量函数T(n)的具体数值不重要,重要的是起决定因素的主导部分。用动态的眼光看,当问题规模增加时,T(n)中起主导部分的贡献超过其他部分的贡献。

例子:

T(n)=n+1, 对应 O(n)

T(5n^2+3n+1), 对应 O(n^2)

仅保留最高阶项,去掉所有的系数

3.影响算法运行的时间

某些具体数据源也会影响算法运行的时间,杂乱无章的数据vs排序好的数据,在运行时差异很大。

分为好、最差平均情况,平均代表了主流。

分析算法时看主流,而不被某几个特定的运行状况迷惑。

4.常见的大O数量级函数

f(n): 1log(n)nn*log(n)n^2n^32^n

相关文章

  • 大O表示法

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

  • 大O表示法

    算法的速度指的并非时间,而是操作数的增速。 谈论算法的速度时,我们说的是随着输入的增加,其运行时间将以什么样的速度...

  • 大O表示法

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

  • 大O表示法

    时间复杂度 衡量一个算法可以从占用的空间和时间来评价其是否是一个更好的算法。这里主要从时间方面衡量。时间复杂度,可...

  • 大 O 表示法

    大 O 表示法是一种特殊的表示法,指出了算法的速度有多快。 在我们的日常工作中,基本都是使用其他人编写好的算法,基...

  • 大O表示法

    概念 一般用大O表示法来描述复杂度,它表示的是数据规模n 对应的复杂度。 举个例子: 解析: O(1)O(1)表示...

  • 大O表示法

    一、简介 表示时间的大O符号,是用来描述算法效率的语言和度量单位。大O表示法分析了算法的运行时间如何随列表的增长而...

  • 算法复杂度

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

  • 算法学习——复杂度

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

  • 【大O表示法】常见的大O表示法有哪些?

    两个概念 时间复杂度:估算程序执行的次数 空间复杂度:估算程序所占用的存储空间 我们在描述算法复杂度时,常用O(1...

网友评论

    本文标题:大O表示法

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