【校招VIP】数据库基础之红黑树

151 阅读2分钟
考点介绍:

学习MySQL数据库,索引是非常重要的一部分,关于索引的常见问题在校招中也是经常会遇到。熟悉数据结构的同学都知道,B+树、平衡二叉树、红黑树都是经典的数据结构。                          

本期分享的数据库基础之红黑树,分为试题、文章以及视频三部分。

答案详情解析和文章内容可扫下方二维码或链接即可查看!

一、考点题目

1.为什么数据库索引不用红黑树而用B+树?

正确答案:红黑树当插入删除元素的时候会进行频繁的变色与旋转(左旋,右旋),来保证红黑树的性质,浪费时间。但是当数据量较小,数据完全可以放入内存中,不需要进行磁盘IO,这时候,红黑树时间复杂度比B+树低。比如TreeSet TreeMap 和HashMap (jdk1.8)就是使用红黑树作为底层数据结构。

2.拉链法导致的链表过深问题为什么不用二叉查找树代替,而选择红黑树?为什么不一直使用红黑树?

正确答案: 之所以选择红黑树是为了解决二叉查找树的缺陷。

二叉查找树在特殊情况下会变成一条线性结构(这就跟原来使用链表结构一样了,造成很深的问题),遍历查找会非常慢。

3.说说你对红黑树的见解?

正确答案: 

1.每个节点非红即黑
2.根节点总是黑色的
3.如果节点是红色的,则它的子节点必须是黑色的(反之不一定)
4.每个叶子节点都是黑色的空节点(NIL节点)
5.从根节点到叶节点或空子节点的每条路径,必须包含相同数目的黑色节点(即相同的黑色高度)

(扫下方海报二维码查看完整版答案)

二、考点文章

1.我以为我对Mysql索引很了解,直到我遇到了阿里的面试官

因为索引是MySQL中比较重点的知识,相信很多人都有一定的了解,尤其是在面试中出现的频率特别高。楼主自认为自己对MySQL的索引相关知识有很多了解,而且因为最近在找工作面试,所以单独复习了很多关于索引的知识。

(扫下方海报二维码查看完整版)

三、考点视频

二叉树叶子结点数=度为2结点数+1

更多资讯可搜索校招VIP小程序查看哦。

PC端链接:xiaozhao.vip/dTopic/deta…

移动端链接:m.xiaozhao.vip/dTopic/deta…