update 215

This commit is contained in:
ShusenTang 2020-02-09 11:34:47 +08:00
parent f00785706f
commit 0c2438e7c4

View File

@ -21,7 +21,8 @@ nth_element(vc.begin(), vc.begin()+5, vc.end(), cmp); // 没有返回值
时间复杂度平均O(n)最坏O(n^2)空间复杂度O(1)
> 可以先将nums顺序随机打乱这样就不会出现最坏时间复杂度的情况。
> * 平均时间复杂度粗略证明假设每次都是对半划分那么第一次划分我们需要遍历约n个数第二次需要遍历约n/2个数... 所以总的遍历次数大概就是 n + n/2 + n/4 + n/8 + ...用一个等比序列求和可得上式的极限n很大时为2n。所以这个**平均时间复杂度是与k具体多少无关的例如当k=n/2时还是这个复杂度即求中位数的平均复杂度也是O(n)。**
> * 可以先将nums顺序随机打乱这样就不会出现最坏时间复杂度的情况。
## 思路二、堆