没啥不好,现代一点的内存容器库就经常用B树了,比如C++的absl就有btree_map,rust标准库用BTreeMap。
B树在一个块内是线性操作的过程,跨块操作才是对数时间。理论上二叉平衡树需要的都是对数操作数量,总操作数量少;但现代处理器因为缓存的因素,B树的存储局部性更好,实际效率可能更好。
【 在 hgoldfish 的大作中提到: 】
: 二叉树一般用平衡的 AVL 树和红黑树对吧。
:
: 那么,相对于这两种树,B+ 树有啥缺点呢?为啥日常编程中,只有在涉及磁盘存储的时候才比较经常看到 B 树?内存里面使用 B 树有什么不好吗?
: ...................
--
FROM 113.201.200.*