摘要: AVL-tree、RB-tree、AA-tree均可以实现平衡的二叉查找树,虽然相对于一般的二叉搜索树其插入、删除节点的平均时间会比较长,但它们可以避免极验证应付的最坏的情况--树高度不平衡。 平衡二叉查找树所谓的平衡并不是绝对的平衡,而是要求任何一个节点的左右子树高度相差不会超过1,此时仍能够保证 阅读全文
posted @ 2011-12-06 12:08 高性能golang 阅读(7745) 评论(0) 推荐(1) 编辑
摘要: deque相对于vector的两大特点:可在常数时间内对首尾进行插入、删除操作。没有capacity(),不需要reserce(size_type n)。这是因为deque由动态分配的连续空间组合而成,随时可以增加一段新的空间链接起来。它没有必要像vector那样“因旧空间不足而重新分配2倍的空间,然后复制元素,再释放旧空间”。虽然deque也提供随机访问迭代器,但其复杂度不能和vector同日而语,这当然影响了各个运算层面。为提高效率,对deque进行排序时,可先将deque拷贝到vector中,再使用STL的sort算法,最后再复制回deque。deque是由一段一段的定量连续空间构成。一 阅读全文
posted @ 2011-12-06 09:17 高性能golang 阅读(3987) 评论(0) 推荐(1) 编辑