面试问为什么hashMap用红黑树,不用平衡二叉树?

hashMap红黑树是校招面试常见的考点之一,比如经典的试题 “为什么hashMap底层结构用红黑树而不用平衡二叉数呢”。

前两天,我们面试了一个实习生,先问项目的部分,但是这个同学的项目准备的不是很好,我们就说这个水平估计过不了,学生着急了,说这个八股文和hashMap红黑树都准备了很多。

那我紧接着就问了一个红黑树的问题。我说hashMap底层的结构用了红黑树,为什么这个底层结构用红黑树而不用平衡二叉数。

这个学生当时就卡住了,他说这个红黑树查询的快,我说为什么红黑树查询的快,他扯了一堆理由。我说那为什么平衡二叉树查询的比他慢呢,他又卡住了。所以现在很多学生准备校招或者实习的考点,光背是不行的,要重点理解。

因为红黑树,它是数据结构的一部分,它是个动态的查找树而且是个二叉树。我们最简单的动态二叉树是二叉查找树,然后往后走就变成了我们的平衡二叉树,后面又有了新的数据结构红黑树,

红黑树和平衡二叉树在查询效率上没有太大区别,因为他俩都是压缩的。这个树他不是深度,为什么会出现平衡二叉树,因为二叉查找树可能会很深很高,查询效率会很慢,那么平衡二叉数就用平衡因子把它给压缩了。红黑树也是用红节点和黑节点,把这个树的高度把它压缩了,那么它的查询效率就差不多。

为什么不用平衡二叉数而用红黑树呢,因为这个动态树就是节点,数据会不断的增加或者是删除,那你的树要调整,因为树有他的要求,你的高度必须满足,那红黑树的调整效率是比平方二叉树要好。有朋友说那为什么要好,这个点不做解答,因为面试的时候不会去考你红黑树的调整策略,因为那个调整是很复杂的,可能有十多种情况。

所以同学们在准备校招或者实习面试考点的时候,不要死记硬背,一定要深层理解,这样才能有效面对面试官的追问。

#校招##计算机##面试##秋招##我发现了面试通关密码#
全部评论
有人专门测过,在处理大数据量的时候,平衡二叉树和红黑树效率几乎差不多,他俩区别在于,红黑树在不平衡时调整树节点的效率和操作比AVL要更好设计和实现
40 回复 分享
发布于 2023-07-20 20:01 北京
我印象中avl要求调整后不能差超过一级,红黑树则是在两倍以内都是可以的,红黑树最多不超过三次的旋转即可恢复平衡,而avl是不保证的
19 回复 分享
发布于 2023-07-22 16:29 四川
HashMap使用红黑树是因为红黑树相对于平衡二叉树有更好的性能表现。 首先,红黑树的平衡性能比平衡二叉树更好。红黑树的平衡性能是通过对节点进行颜色标记和旋转操作来实现的,而平衡二叉树只能通过旋转操作来实现平衡。因此,红黑树的平衡性能更好,可以更快地进行插入、删除和查找操作。 其次,红黑树的空间利用率比平衡二叉树更高。红黑树的节点结构比平衡二叉树的节点结构更紧凑,因此在存储大量数据时,红黑树的空间利用率更高。 最后,红黑树的实现比平衡二叉树更简单。红黑树的实现比平衡二叉树的实现更简单,因为红黑树的平衡性能是通过颜色标记和旋转操作来实现的,而平衡二叉树需要更复杂的平衡算法来实现平衡。 因此,HashMap使用红黑树来实现内部的数据结构,以提高性能和空间利用率。
17 回复 分享
发布于 2023-07-25 17:44 广东
这和你实际工作,有什么关系
15 回复 分享
发布于 2023-07-25 18:50 陕西
我只能说面试问红黑树的都是***😁
13 回复 分享
发布于 2023-09-04 11:21 四川
没毛病,希望牛客多点这种帖子。
10 回复 分享
发布于 2023-07-20 20:27 广东
插入和删除的效率吧,AVL可能会进行很多次旋转,红黑树最多三次就可以。而且红黑树虽然复杂一点,但时间复杂度和AVL差别不大
4 回复 分享
发布于 2023-08-11 17:24 浙江
m
1 回复 分享
发布于 2023-07-24 21:46 湖南
你怎么知道我408刚复习完数据结构
1 回复 分享
发布于 2023-07-29 10:36 江西
很棒!
点赞 回复 分享
发布于 2023-07-21 00:05 上海
m
点赞 回复 分享
发布于 2023-07-22 08:40 陕西
m
点赞 回复 分享
发布于 2023-07-22 12:18 上海
m
点赞 回复 分享
发布于 2023-07-22 17:02 浙江
m
点赞 回复 分享
发布于 2023-07-25 10:13 广东
没看懂,那应该咋答
点赞 回复 分享
发布于 2023-07-25 10:25 重庆
m
点赞 回复 分享
发布于 2023-07-25 10:41 黑龙江
m
点赞 回复 分享
发布于 2023-07-25 11:28 陕西
m
点赞 回复 分享
发布于 2023-07-25 11:45 湖北
虽然但是,红黑树不就是平衡二叉树的一种吗?你的平衡二叉树可能是指的AVL?
点赞 回复 分享
发布于 2023-07-26 17:10 台湾
点赞 回复 分享
发布于 2023-07-27 22:08 辽宁

相关推荐

点赞 评论 收藏
分享
会员标识
02-20 16:28
已编辑
牛客运营
从03年的“北大毕业生卖猪肉”到前段时间上热搜的“北大博士入职城管”,这些年“下沉式就业”现象频繁牵动着大家的视野和目光吧,很吸睛?我觉得并不是,如果你说985大学生XXX,那可能成不了焦点,如果说是北大清华毕业生去当城管,卖猪肉,大家都会讨论一番,无论是谁都知道北大清华的过人之处。但是呢近些年的确有很多985、211名校毕业生选择到基层就业或回老家创业,会不会觉得大财小用?老家的哥哥,因为当时学的专业不是很好,但好在学校不错,一路本硕连读,毕业之后在上海打拼了2年,也攒了一些小钱,随后回村选择科学养鸡,买了很大一块地开始科学方法的养鸡、卖鸡蛋,村里的老人都会议论纷纷,白瞎了家里供你读书,又回...
下午吃泡馍:不是每一个脱下长衫的人在下沉市场重获新生,并不是每一个养猪养鸡的高学历人才都会成功。现实是很多人的“长衫”就是自己为数不多甚至唯一的底牌了,拼尽全力拿到一个不错的学历,这时候主流媒体告诉对方脱下长衫也可以活的精彩,其实真的挺难过的。强者恒强,但是弱者是人群的底色。 本质上是整个市场的问题,没有足够多的增长点,没有足够多的岗位,自上而下没有积极向上的氛围。外企撤出,供应链缺失...在发展的过程中总有阵痛,现阶段可能就是我们承受阵痛的过程。之前在牛客看到一个小伙伴说:时代的一粒灰尘,落在谁的身上,都将是无法承受之重!深有感触。
点赞 评论 收藏
分享
评论
102
408
分享

创作者周榜

更多
牛客网
牛客企业服务