hashMap红黑树是校招面试常见的考点之一,比如经典的试题 “为什么hashMap底层结构用红黑树而不用平衡二叉数呢”。
前两天,我们面试了一个实习生,先问项目的部分,但是这个同学的项目准备的不是很好,我们就说这个水平估计过不了,学生着急了,说这个八股文和hashMap红黑树都准备了很多。
那我紧接着就问了一个红黑树的问题。我说hashMap底层的结构用了红黑树,为什么这个底层结构用红黑树而不用平衡二叉数。
这个学生当时就卡住了,他说这个红黑树查询的快,我说为什么红黑树查询的快,他扯了一堆理由。我说那为什么平衡二叉树查询的比他慢呢,他又卡住了。所以现在很多学生准备校招或者实习的考点,光背是不行的,要重点理解。
因为红黑树,它是数据结构的一部分,它是个动态的查找树而且是个二叉树。我们最简单的动态二叉树是二叉查找树,然后往后走就变成了我们的平衡二叉树,后面又有了新的数据结构红黑树,
红黑树和平衡二叉树在查询效率上没有太大区别,因为他俩都是压缩的。这个树他不是深度,为什么会出现平衡二叉树,因为二叉查找树可能会很深很高,查询效率会很慢,那么平衡二叉数就用平衡因子把它给压缩了。红黑树也是用红节点和黑节点,把这个树的高度把它压缩了,那么它的查询效率就差不多。
为什么不用平衡二叉数而用红黑树呢,因为这个动态树就是节点,数据会不断的增加或者是删除,那你的树要调整,因为树有他的要求,你的高度必须满足,那红黑树的调整效率是比平方二叉树要好。有朋友说那为什么要好,这个点不做解答,因为面试的时候不会去考你红黑树的调整策略,因为那个调整是很复杂的,可能有十多种情况。
所以同学们在准备校招或者实习面试考点的时候,不要死记硬背,一定要深层理解,这样才能有效面对面试官的追问。
#校招##计算机##面试##秋招##我发现了面试通关密码#