美文网首页
Python不同的复杂度的族和比较

Python不同的复杂度的族和比较

作者: 13351 | 来源:发表于2019-04-02 21:36 被阅读0次

概念

我们只需要考虑当问题规模无穷大的时候的程序复杂度就行了,那么什么是渐进复杂度呢?
本章将会看到各种复杂度的定义,如图所示


各种复杂度

包括
常数复杂度、对数复杂度、线性复杂度、对数线性复杂度、多项式复杂度、指数复杂度,这几种

特别注意

人们有时候特别容易搞混多项式复杂度和指数复杂度
最后这两者的复杂度,区别在于,多项式复杂度当中,指数是常数,所以不同的多项式算法像
2c 和3c 都是底数在变,所以是渐进于某个

而指数复杂度,如 c2 和c3 都是指数在变,所以是渐进于某个常数的n次幂
n代表问题规模的大小

请注意,该列表从上到下基本上是从算法复杂度递增的方向来描述的
如此,我们应该尽可能使用列表当中考前的简单算法

对数算法

每次将问题一分为二,实际上是一个特别好的对数算法,我们前面在用二分法查找平方根的时候用到的就是这样的对数复杂度的方法。实际上,我们在二分查找列表当中的元素时也是用的这个方法

对数复杂度

在这个题里面,因为只有i的位数影响算法复杂度,而不是i的实际大小,所以取对数就可以的到i的位数大小,故这是一个对数复杂度的问题

线性算法

由于我们只关心最大的复杂度

由于我们只关心最大的复杂度,在这个题当中,于循环中查找也就变成了线性的复杂度

相关文章

  • Python不同的复杂度的族和比较

    概念 我们只需要考虑当问题规模无穷大的时候的程序复杂度就行了,那么什么是渐进复杂度呢?本章将会看到各种复杂度的定义...

  • Python VS C++,你应该学习哪一个?

    Python和C++经常被拿来比较,因为它俩在语法、复杂度、使用等等方面都不相同。Python作为高级语言,代码更...

  • Python语言进阶

    Python语言进阶 数据结构和算法 算法:解决问题的方法和步骤 评价算法的好坏:渐近时间复杂度和渐近空间复杂度。...

  • 【Python 100天从新手到大师】Python语言进阶

    Python语言进阶 数据结构和算法算法:解决问题的方法和步骤评价算法的好坏:渐近时间复杂度和渐近空间复杂度。渐近...

  • 安装Anaconda遇到的那些坑

    Anaconda的安装 序 Python易用,但用好却不易,其中比较头疼的就是包管理和Python不同版本的问题,...

  • 3.1 Pandas 基本介绍

    学习资料: 相关代码 Numpy 和 Pandas 有什么不同 如果用 python 的列表和字典来作比较, 那么...

  • PYTHON环境的安装

    Python易用,但用好却不易,其中比较头疼的就是包管理和Python不同版本的问题,特别是当你使用Windows...

  • Python和R语言,到底哪种语言最适合机器学习?

    在本文中,我们将讨论Python和R语言,以及它们之间的优缺点。 让我们在不同的标准下逐一比较Python和R语言...

  • pandas_基本介绍

    Numpy 和 Pandas 有什么不同?如果用 python 的列表和字典来作比较, 那么可以说 Numpy 是...

  • Pandas 基本介绍

    Numpy 和 Pandas 有什么不同 如果用 python 的列表和字典来作比较, 那么可以说 Numpy 是...

网友评论

      本文标题:Python不同的复杂度的族和比较

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