摘要: 转自维基百科红黑树是一种平衡二叉搜索树,它可以在O(log n)时间内做查找,插入和删除,这里的n是树中元素的数目。性质:红黑树是每个节点都带有颜色属性的二叉查找树,颜色为红色或黑色。在二叉查找树强制一般要求以外,对于任何有效的红黑树我们增加了如下的额外要求:性质1. 节点是红色或黑色。性质2. 根... 阅读全文
posted @ 2014-07-26 19:59 合唱团abc 阅读(643) 评论(0) 推荐(0) 编辑
摘要: list使用双向链表来管理元素。与vector、deque的区别:1.list不支持随机存取,在list中随机遍历任意元素,是很缓慢的行为2.任何位置上执行元素的安插和移除都非常快,始终是常数时间内完成,因为无须移动任何其他元素3.安插和删除动作不会造成指向其他元素的各个pointer、refere... 阅读全文
posted @ 2014-07-26 19:22 合唱团abc 阅读(223) 评论(0) 推荐(0) 编辑
摘要: deque双向队列是一种双向开口的连续线性空间,可以高效的在头尾两端插入和删除元素,deque在接口上和vector非常相似。deque的实现比较复杂,内部会维护一个map(注意!不是STL中的map容器)即一小块连续的空间,该空间中每个元素都是指针,指向另一段(较大的)区域,这个区域称为缓冲区,缓... 阅读全文
posted @ 2014-07-26 19:03 合唱团abc 阅读(207) 评论(0) 推荐(0) 编辑
摘要: vector是定义于namespace std内的template:namespace std{ template> class vector;}vector优异性能的秘诀之一,就是配置比其所容纳的元素所需更多的内存。capacity()函数返回vector实际能够容纳的元素数量。如果超... 阅读全文
posted @ 2014-07-26 18:47 合唱团abc 阅读(165) 评论(0) 推荐(0) 编辑