美文网首页
算法复杂的度的基本概念和结论

算法复杂的度的基本概念和结论

作者: 该用户已趴倒 | 来源:发表于2020-05-20 19:36 被阅读0次

复杂度

复杂度是对一段代码消耗的资源的评估,包括空间和时间上。

  • 时间复杂度与代码结构设计高度相关
  • 空间复杂度与选用的数据结构高度相关

复杂度的函数表示

如果我们用 f(n) 来表示一个函数或者一段功能代码的话,那么用 O(f(n)) 来表示这段代码的复杂度

  • O(n) 表示的就是复杂度和计算实例的个数线性相关
  • O(lgn) 表示就是复杂度和计算实例的个数对数相关

复杂度与具体的常量系数无关

例如 O(2n) 与 O(n) 表示的是相同的复杂度 O(2n) = O(n + n) = O(n) + O(n)

O(2n) 表示的仅仅是一段复杂度为 O(n) 的代码先后执行两次

多项式的复杂度相加时,选用高的作为结果

例如 O(n²) + O(n) = O(n² + n) = O(n²)

因为随着变化率的增大,2阶多项式部分的变化率要远大于1阶

O(1) 表示一个特别的复杂度

与输入的 n 无关,使用算法使用有限可数的资源

减少时间复杂度的方法论

  1. 暴力解法。在不考虑时间和空间的约束下,完成功能。
  2. 剔除冗余。审查代码,将其中无效的计算和存储剔除。(递归,二分,排序,动态规划)
  3. 时空转换。设计合理的数据结构,完成时间复杂度向空间复杂度的转移。(针对问题进行细分,选择合适的数据结构)

相关文章

  • 算法复杂的度的基本概念和结论

    复杂度 复杂度是对一段代码消耗的资源的评估,包括空间和时间上。 时间复杂度与代码结构设计高度相关 空间复杂度与选用...

  • 数据结构学习大纲

    第一章 绪论 数据结构基本概念数据结构基本概念算法的基本概念算法的时间复杂度与空间复杂度分析基础时间复杂度分析空间...

  • JavaScript排序算法

    1:基本概念 时间复杂度:算法执行所耗费的时间。 这个复杂度直接和样本的个数有关,复杂度反映了算法的性能,一般来说...

  • 算法复杂度基本知识

    1.基本概念.时间复杂度: 当前算法所消耗的时间。空间复杂度: 当前算法所消耗的空间。评价一个算法的好坏主要看这个...

  • 算法(二)--插入排序

    在说插入排序之前我想和大家说一下,算法的一些基本概念,如下: 时间复杂度指的是一个算法执行所耗费的时间 空间复杂度...

  • 算法基础知识

    算法的复杂度 算法的复杂度: 算法的时间复杂度和空间复杂度合称为算法的复杂度,一般不特别说明,讨论的时间复杂度均是...

  • 算法相关

    算法复杂度相关概念:漫画:什么是时间复杂度?算法的时间复杂度和空间复杂度详解算法题库:力扣 一、排序算法 排序算法...

  • 算法复杂度

    算法的复杂度是以什么来度量的? 算法的复杂度是以时间复杂度和空间复杂度来计算的。 ①算法的时间复杂度 ...

  • 算法

    重拾算法:算法效率分析(一)(空间复杂度和时间复杂度) 详解算法的各种复杂度的差别有多大(带图) 算法复杂度 选择...

  • 算法性能分析

    对于数据结构的基本概念我们不做叙述,本节重点讨论算法效率的度量。 性能分析的角度 一般我们从时间复杂度和空间复杂度...

网友评论

      本文标题:算法复杂的度的基本概念和结论

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