
红黑树和B树的区别---2019年面试题
N1314N
有志者事竟成
展开
-
B树面试相关知识
数据库索引的实现通常使用B树及其变种B+树,下面进行B-/+Tree结构的数据库索引的性能分析:(1)B树索引结构:数据库系统的设计者巧妙利用了磁盘预读原理,将B树的一个节点的大小设为等于一个页,这样每个节点只需要一次I/O就可以完全载入。为了达到这个目的,在实际实现B-Tree还需要使用如下技巧:每次新建节点时,直接申请一个页的空间,这样就保证一个节点物理上也存储在一个页;B-Tree中一...原创 2019-05-25 15:56:51 · 512 阅读 · 0 评论 -
请你说一下哈夫曼编码
参考回答:哈夫曼编码是哈夫曼树的一种应用,广泛用于数据文件压缩。哈夫曼编码算法用字符在文件中出现的频率来建立使用0,1表示个字符的最优表示方式,其具体算法如下:(1) 哈夫曼算法以自底向上的方式构造表示最优前缀码的二叉树T。(2) 算法以|C|个叶结点开始,执行|C|-1次的“合并”运算后产生最终所要求的树T。(3) 假设编码字符集中每一字符c的频率是f(c)。以f为键值的优先队列Q用...原创 2019-07-01 09:23:13 · 473 阅读 · 0 评论 -
请你回答一下map底层为什么用红黑树实现
参考回答:1、红黑树:红黑树是一种二叉查找树,但在每个节点增加一个存储位表示节点的颜色,可以是红或黑(非红即黑)。通过对任何一条从根到叶子的路径上各个节点着色的方式的限制,红黑树确保没有一条路径会比其它路径长出两倍,因此,红黑树是一种弱平衡二叉树,相对于要求严格的AVL树来说,它的旋转次数少,所以对于搜索,插入,删除操作较多的情况下,通常使用红黑树。性质:1. 每个节点非红即黑...原创 2019-07-01 09:27:12 · 5904 阅读 · 0 评论 -
请你说一说红黑树的性质还有左右旋转
参考回答:考察点:算法公司:京东,阿里巴巴1)平衡二叉树(AVL树):红黑树是在AVL树的基础上提出来的。平衡二叉树又称为AVL树,是一种特殊的二叉排序树。其左右子树都是平衡二叉树,且左右子树高度之差的绝对值不超过1。AVL树中所有结点为根的树的左右子树高度之差的绝对值不超过1。将二叉树上结点的左子树深度减去右子树深度的值称为平衡因子BF,那么平衡二叉树上的所有结点的平衡因子...原创 2019-07-01 09:52:17 · 1231 阅读 · 0 评论 -
请你实现二叉树的层序遍历并输出
参考回答:void layerTrace(BTreeNode *T){if(T== nullptr)return;BTreeNode *p=T;queue<BTreeNode*>q;q.push(p);while(!q.empty()){p=q.front();q.pop();cout<<<<p->data;if(p->lef...原创 2019-07-01 09:53:58 · 929 阅读 · 0 评论 -
红黑树(RBTree)原理及实现全解
https://blog.youkuaiyun.com/tanrui519521/article/details/80980135(感谢博主)原创 2019-07-06 09:17:37 · 948 阅读 · 0 评论