红黑树效率如此之高,MySQL为何不采用?

本文介绍了MySQL中索引的作用,特别是二叉查找树(如普通二叉树和红黑树)在数据结构中的应用,以及它们如何影响查询效率。重点讨论了不平衡二叉树的问题,强调了红黑树在保持平衡以提高效率的角色。同时,文章也提到了Java中红黑树的应用,如HashMap和面试技巧,鼓励持续学习和高效规划技术路线。
摘要由CSDN通过智能技术生成

==================

索引:索引是帮忙MySQL高效获取的排好序数据结构

索引数据结构:

  • 二叉树

  • 红黑树

  • Hash表

  • B-Tree

1.二叉查找树(Binary Search Trees)

============================

左节点比父节点要小,右节点比父节点要大。他的高度决定的查找效率。

平衡二叉查找树:

非正常的倾斜二叉查找树:

如果某一列数据遇到像‘倾斜二叉查找树’,那么这个二叉树索引,其实就蜕化成了“链表”,查询此列数据还是全表扫描的方式,就失去了加索引的意义。

树在插入的时候非常有可能导致倾斜,不同的插入顺序会导致树的高度不一样,而树的高度直接影响了树的查找效率。不平衡的二叉查找树自然查找效率更低。

2.红黑树(Red-Black Trees)

======================

本质还是一个二叉树,但是他叫做二叉平衡树。解决二叉树一边倒的可能性。平衡树在插入和删除的时候,会通过旋转操作将树的左右节点达到平衡。

Java中的HashMap和TreeSet,Java8中HashMap的实现因为用红黑树代替链表(链表长度>8)时。

红黑树规则定义:

1.任何一个节点都有颜色,红色或黑色

2.根节点是黑色的

总结:心得体会

既然选择这个行业,选择了做一个程序员,也就明白只有不断学习,积累实战经验才有资格往上走,拿高薪,为自己,为父母,为以后的家能有一定的经济保障。

学习时间都是自己挤出来的,短时间或许很难看到效果,一旦坚持下来了,必然会有所改变。不如好好想想自己为什么想进入这个行业,给自己内心一个答案。

面试大厂,最重要的就是夯实的基础,不然面试官随便一问你就凉了;其次会问一些技术原理,还会看你对知识掌握的广度,最重要的还是你的思路,这是面试官比较看重的。

最后,上面这些大厂面试真题都是非常好的学习资料,通过这些面试真题能够看看自己对技术知识掌握的大概情况,从而能够给自己定一个学习方向。包括上面分享到的学习指南,你都可以从学习指南里理顺学习路线,避免低效学习。

大厂Java架构核心笔记(适合中高级程序员阅读):

的学习指南,你都可以从学习指南里理顺学习路线,避免低效学习。

大厂Java架构核心笔记(适合中高级程序员阅读):

[外链图片转存中…(img-Ux6CRVmH-1714780831699)]

本文已被CODING开源项目:【一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码】收录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值