美团
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++ 学到了什么
自闭好几天了,菜的真实
我身后空无一人,我怎敢倒下