关于OJ的时空复杂度

转自:http://blog.csdn.net/yo_bc/article/details/69212860


比赛中自己估算复杂度是否会超时会爆栈,首先要记住,时间复杂度为10^7即1千万左右在1s内可以稳当地跑出来, 10^8跑1s很勉强, 有的题目可能卡过去, 有的就卡不过去。计算时间复杂度就是分析基本语句的执行次数,所以在套模板前应当先想一想算法的时间复杂度并和题目给的数据套上一套,分析一波再去敲~


对于空间复杂度,其实一般就是看用到的数组要开多少。怎么算呢?拿int数组举栗,一个int要4字节即4b,然后1kb能开25个int,然后一般的题目要么给32768kb,要么给65536kb,所以前者可以开790w左右大小的数组,后者可以开1580w左右的数组,long long折半(395w, 790w)。float 4字节,double 8字节,能开多少不言而喻。

你可能感兴趣的:(PAT,A,算法相关)