为什么HashMap底层采用红黑树,而不用B+树这种数据结构?
考察说明
考察对HashMap底层数据结构选型的理解,以及从适用场景和复杂度角度进行技术选型权衡的能力
回答思路
- 说明红黑树与B+树各自的结构特征:红黑树是二叉平衡树,B+树是多路搜索树
- 分析内存场景下B+树与磁盘场景的差异,并说明B+树的主要优点是减少磁盘I/O
- 说明HashMap哈希冲突链表转红黑树的触发条件(链表长度>=8且数组容量>=64)
- 指出在内存中红黑树操作复杂度O(logN)已足够,B+树的节点分裂合并开销在内存中无优势
- 能对比二者在局部性、范围查询、插入删除上的不同取舍
本题已收录答题指导
本题附完整参考答案与评分标准
登录后可查看结构化答题指导;也可以直接开一场模拟面试,AI 面试官用本题实时追问并给出评分。