基础笔记-时空复杂度分析

C++一秒可以算1e7或者1e8的次数

由数据范围反推算法复杂度以及算法内容 - AcWing

第七章 时空复杂度分析 笔记 - AcWing

 

 

时间复杂度分析

1.纯循环,看几层循环,就是几次方(有些循环不一定,比如双指针,i循环n次,j其实一共只会循环n次,所以复杂度是O(n))

2.递归,看有递归了几层,计算每一层的时间是多少,相乘

3.

 

 

空间:

 

注意,如果题目规定用64MB,那不能用64MB,最多用到50MB就差不多了,函数调用,函数执行,寄存器这些也要内存的

不过有个细节

比如开了1e18的内存,但是如果你不用到1e18那里的话,是不会爆内存的

但是用到了,就会爆了

还可以用程序的方法计算内存

就比如这样

如果只开大内存不用,一般没事,开了之后用了的话,就爆了

 

递归也要消耗内存,递归几层消耗多少

posted @ 2024-03-02 18:33  cn是大帅哥886  阅读(53)  评论(0)    收藏  举报