美团

vector push_back的复杂度

简单分析如下:

    考虑vector每次内存扩充两倍的情况。

    如果我们插入N个元素, 则会引发lgN次的内存扩充,而每次扩充引起的元素拷贝次数为

                                      2^0,  2^1, 2^2, ..., 2^lgN.

    把所有的拷贝次数相加得到

                    2^0 + 2^1 + 2^2 + ... + 2^lgN = 2 * 2^lgN - 1 约为 2N次

    共拷贝了N次最后一个元素, 所以总的操作大概为3N

    所以, 每个push_back操作分摊3次, 是O(1) 的复杂度。

    md傻了,当时答的是n^2。常数插入是n^2

静态链接,动态链接 , 区别,动态链接怎么做到 运行时 链接的

找时间总结下。(面试前一天刚看的,我吐了

map 底层 , 插入, 查询 复杂度 

查找logn.

如果插入单个元素且无暗示,时间复杂度为 O(logn),其中 n 为容器的大小。

如果插入多个元素,时间复杂度为 O(nlogn).

vector  1.5倍扩容 2 倍扩容

对不起,我开的头,解释了半天还没解释明白, 大概就是1.5倍空间换时间 , 2倍时间换空间

https://blog.csdn.net/bryant_xw/article/details/89524910 贴个大佬的讲解

哈希冲突解决方法 ,unordered_map 底层实现

多线程需要保护哪些资源,为什么,地址区分为哪几个部份。

effective c++ 学到了什么

自闭好几天了,菜的真实

原文地址:https://www.cnblogs.com/DreamKill/p/12573948.html