您的位置:首页 > 职场人生

《慕课网玩转算法面试》笔记及习题解答2

2017-07-15 17:25 489 查看

数据规模的概念:

如果想要在1s内解决问题:

O(n^2)的算法大概可以处理10^4的数据

O(n)的算法大概可以处理10^8的数据

O(nlogn)的算法大概可以处理10^7的数据

因此当面试官给定一个数据规模为10^8时,必须使用O(n)或者O(nlogn)的算法

如果规模为1000,那么O(n^2)也可以

如果规模为100,那么O(n^3)也行

空间复杂度

递归调用是有空间代价的,因为要压栈

简单的复杂度计算

可以从循环的层数判断

递归的复杂度计算

1.递归中只有一次递归调用:求递归的深度

2.递归中有多次递归调用:求递归调用的次数

均摊复杂度分析

比如动态数组,每次开辟新数组复杂度都是O(n),但是每次重新开辟数组都需要push_back n次,push_back平均来看还是O(1)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: