摘要: 简介: 一棵AVL树有如下必要条件: 条件一:它必须是二叉查找树。(左<根<右) 条件二:每个节点的左子树和右子树的高度差至多为1。 AVL相关概念: 平衡因子:将二叉树上节点的左子树高度减去右子树高度的值称为该节点的平衡因子BF(Balance Factor)。 对于平衡二叉树,BF的取值范围为[ 阅读全文
posted @ 2018-05-08 16:30 小雪SS 阅读(876) 评论(0) 推荐(0) 编辑
摘要: 红黑树简介: 所谓红黑树,就是平衡的扩充二叉搜索树,红黑树与AVL都是BST的平衡版本,相比AVL的完全平衡,红黑树只要求局部平衡,因此当向红黑树中插入和删除节点时,需要的调整比AVL要少,统计性能要好于AVL树,C++ STL中的map、set、multimap和multiset都应用了红黑树的变 阅读全文
posted @ 2018-05-08 14:27 小雪SS 阅读(190) 评论(0) 推荐(0) 编辑
摘要: 内存池出现原因:内存碎片 首先我们需要明确, 内存池的目的到底是什么? 首先你要知道的是, 我们每次使用new T来初始化类型T的时候, 其实发生了两步操作, 既然内存分配耗时, 那我们很容易想到的就是一次性分配一大块内存, 然后在用户需要的时候再划分其中一部分给用户, 这样的话, 一次分配, 多次 阅读全文
posted @ 2018-05-08 11:00 小雪SS 阅读(5641) 评论(0) 推荐(1) 编辑