Algo Notes: Something Notes

qq_68054 0 0 zip 2024-10-04 22:10:03

leetcode push front数据结构与算法之美笔记

时间复杂度分析

什么是复杂度分析?数据结构和算法解决的是“如何让计算机更快时间,更省空间的解决问题”。因此需要从执行时间占用空间两个概念来描述性能问题,二者统称为“复杂度”。分别用时间复杂度空间复杂度两个概念来描述性能问题。

复杂度描述的是算法执行时间(或者用空间)与数据规模之间的增长关系。

为什么要进行复杂度分析?与性能测试相比,复杂度分析具有:

  • 不依赖执行环境

  • 成本低

  • 效率高

  • 易操作

  • 指导性强

如何进行复杂度分析?

使用大O表示法,算法执行时间与每行代码执行的次数成正比,形式为T(n) = O(f(n)),其中T(n)表示算法执行总时间,f(n)表示每行代码执行的总次数,n表示数据规模。

特点

以时间复杂度为例,由于时间复杂度描述的是算法执行时间与数据规模的增长变化趋势,常量阶、低阶以及系数实际上对这种增长趋势影响较小,所以在时间复杂度分析时可忽略这些项。

复杂度分析法则

  • 单段代码看高频:循环多段

用户评论
请输入评论内容
评分:
暂无评论