知之可否

Be yourself; everyone else is already taken.​

轻松搞定面试中的红黑树问题

http://blog.csdn.net/silangquan/article/details/18655795    连续两次面试都问到了红黑树,关键两次都没有答好,这次就完整地来学习整理一下。 没有学习过红黑树的同学请参考: > Chapter 13 R...

2016-06-03 20:00:41

阅读数:4890

评论数:0

stl中list的sort算法实现

STL中有一个std::sort算法,但它是不支持std::list的,因为list不提供RandomIterator的支持,但list自己提供了sort算法,把list的元素按从小到大的方式来排序,代码长度到不长,但真是难以读懂,后来扣持了一下午终于搞明白了,贴个总结上来。 list::s...

2016-06-02 16:55:04

阅读数:342

评论数:0

正确释放Vector的内存

本文来自文章作者(@_羊仔)的投稿(原文)。 今天在看微博的时候, 有人提出了一个对于Vector内存泄露的疑问( Link)。 博主采用 Vector存储一些数据,但是发现在执行 clear() 之后内存并没有释放,于是怀疑产生了内存泄露。随后有人回复: “vector 的 clear 不...

2016-06-02 16:04:19

阅读数:5098

评论数:0

STL面试题

1.说说std::vector的底层(存储)机制。 vector就是一个动态数组,里面有一个指针指向一片连续的内存空间,当空间不够装下数据时,会自动申请另一片更大的空间(一般是增加当前容量的50%或100%),然后把原来的数据拷贝过去,接着释放原来的那片空间;当释放或者删除里面的数据时,其存储...

2016-06-02 15:32:36

阅读数:340

评论数:0

从 std::list 中 size() 的时间复杂度引出的讨论...

很奇怪的,或者说是一个不应成为问题的问题... std::list 的 size() 方法时间复杂度是多少?第一感觉应该是 O(1) 没错吧,多一个变量用于储存链表长度应该是很轻易的事情。于是有了下面这段代码: #include #include #include using n...

2016-05-19 09:47:35

阅读数:1364

评论数:0

STL系列之一 deque双向队列

deque双向队列是一种双向开口的连续线性空间,可以高效的在头尾两端插入和删除元素,deque在接口上和vector非常相似,下面列出deque的常用成员函数:   deque的实现比较复杂,内部会维护一个map(注意!不是STL中的map容器)即一小块连续的空间,该空间中每个...

2016-05-05 09:56:57

阅读数:330

评论数:0

数据结构:hash_map原理

这是一节让你深入理解hash_map的介绍,如果你只是想囫囵吞枣,不想理解其原理,你倒是可以略过这一节,但我还是建议你看看,多了解一些没有坏处。 hash_map基于hash table(哈希表)。 哈希表最大的优点,就是把数据的存储和查找消耗的时间大大降低,几乎可以看成是常数时间;而代价仅仅是...

2016-04-14 16:30:17

阅读数:1799

评论数:0

C++中map、set、hash_map、hash_set、unordered_map、unordered_set通俗辨析

一、hash_map、unordered_map 这两个的内部结构都是采用哈希表来实现。区别在哪里?unordered_map在C++11的时候被引入标准库了,而hash_map没有,所以建议还是使用unordered_map比较好。 哈希表的好处是什么?查询平均时间是O(1)。顾名思义,un...

2016-04-14 16:29:26

阅读数:1082

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭