0
点赞
收藏
分享

微信扫一扫

复杂度分析(上):如何分析、统计算法的执行效率和资源消耗

魔都魅影梅杜萨 2022-04-13 阅读 64

复杂度分析是整个算法学习的精髓,只要掌握了它,数据结构和算法的内容基本上就掌握了一半

为什么需要复杂度分析?

事后统计法 :把代码跑一遍,通过统计、监控,得到算法执行的时间和占用的内存大小

这种评估算法执行效率的方法是正确的 , 但是,这种统计方法有非常大的局限性。

1. 测试结果非常依赖测试环境

2.测试结果受数据规模的影响很大

不用具体的测试数据来测试,就可以粗略地估计算法的执行效率的方法

大O复杂度表示法

时间复杂度分析

1.只关注循环执行次数最多的一段代码

我们在分析一个算法、一段代码的时间复杂度的时候,也只关注循环执行次数最多的那一段代码就可以了

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

总的时间复杂度等于量级最大的那段代码的时间复杂度

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

几种常见时间复杂度实例分析

在这里插入图片描述

在这里插入图片描述

举报

相关推荐

0 条评论