对于磁盘来说,有两个重要的指标:尽可能减少IO次数,最大化插入删除性能。
这方面B树要比二叉树好很多。
如果仅仅在内存中,我更喜欢二叉树。
【 在 milksea 的大作中提到: 】
: 功能基本上等价,性能都是对数时间增删改查,常系数看具体情况。
: 大多数场景,一般人没机会写底层容器库吧,提供啥用啥就是了。有多个库可选的可以实测。
: B树的优势是比二叉树省不少内存,而且内存连续块对缓存友好,按照宣传是在现代处理器上比二叉树性能还好。不过在C++中因为迭代器有效性之类问题,不可能在现有标准下用它实现std::map。
: ...................
--来自微水木3.5.10
--
FROM 183.193.18.*