美文网首页
算法复杂度分析方法

算法复杂度分析方法

作者: lunaSun | 来源:发表于2019-03-04 15:59 被阅读1次

时间复杂度的全称是渐进时间复杂度,表示算法的执行时间与数据规模之间的增长关系。

三点原则:
1. 只关注循环执行次数最多的一段代码

大 O 这种复杂度表示方法只是表示一种变化趋势。我们通常会忽略掉公式中的常量、低阶、系数,只需要记录一个最大阶的量级就可以了。所以,我们在分析一个算法、一段代码的时间复杂度的时候,也只关注循环执行次数最多的那一段代码就可以了。

2. 加法法则:总复杂度等于量级最大的那段代码的复杂度

代码中有多段循环代码,选取量级最大的那段为标准。

3. 乘法法则:嵌套代码的复杂度等于嵌套内外代码复杂度的乘积`

与加法法则不同,有嵌套的情况,复杂度应为乘积。

间复杂度全称就是渐进空间复杂度(asymptotic space complexity),表示算法的存储空间与数据规模之间的增长关系。

空间复杂度较时间复杂度来说要简单得多,只看要分析的代码分配了占用多少空间的变量即可,常见的空间复杂度就是 O(1)、O(n)、O(n2 ),对数阶的复杂度平时很少见。

相关文章

  • 数据结构与算法学习-复杂度分析

    前言 这一篇笔记主要记录总结了什么是算法复杂度?、为什要做算法复杂度分析?、如何做算法复杂度分析?、常用的复杂度级...

  • 算法复杂度分析与最大子串问题

    算法复杂度分析 算法复杂度基本定义 算法复杂度分析基于以下四条定义: 如果存在常数c与$n_{0}$使$N \ge...

  • 算法

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

  • 数据结构与算法-复杂度分析

    时间、空间复杂度:衡量算法执行小路的指标,数据结构与算法离不开时间、空间复杂度分析,复杂度分析是算法的精髓。 为什...

  • 算法复杂度

    算法复杂度 算法复杂度的目的:分析代码执行的时间成本。我们从五个方面来介绍算法复杂度:时间复杂度、时间复杂度分类、...

  • map:169.求众数(投票算法)

    求众数 哈希Map 复杂度分析 时间复杂度:O(N) 空间复杂度: O(N) 投票算法 复杂度分析

  • 数据结构-复杂度分析

    为什么需要复杂度分析? 复杂度分析实在太重要了。复杂度分析是整个算法学习的精髓,只要掌握了它,数据结构和算法的内容...

  • day09-冒泡排序+优化

    排序算法(SortAlgorithm) 算法时间复杂度总结: 排序方法时间复杂度(平均)时间复杂度(最坏)时间复杂...

  • 时间复杂度和空间复杂度笔记

    复杂度分析笔记 复杂度主要分为时间和空间复杂度 时间复杂度:算法(程序)执行的时间变化趋势 空间复杂度:算法(程序...

  • 算法复杂度分析方法

    时间复杂度的全称是渐进时间复杂度,表示算法的执行时间与数据规模之间的增长关系。 三点原则: 1. 只关注循环执行次...

网友评论

      本文标题:算法复杂度分析方法

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