当前位置:  开发笔记 > 编程语言 > 正文

二进制搜索树优于C++中的向量

如何解决《二进制搜索树优于C++中的向量》经验,为你挑选了1个好方法。

如果vector(按排序顺序)可以支持在log(n)时间内插入,删除和搜索(使用二进制搜索),那么二进制搜索树有什么用?



1> Martin Bonne..:

树的基本优点是向量中的插入和删除不是 O(log(n)) - 它们是O(n).(他们进行log(n)比较,但n移动.)

向量的优点是常数因子可以有利于他们的是巨大的(因为他们往往更加缓存友好,高速缓存未命中可以花费你100倍的性能).

排序的向量赢得了

主要是搜索.

频繁更新,但容器中只有少数元素.

对象具有高效的移动语义

树木赢了

容器中有许多元素的大量更新.

对象移动很昂贵.

......不要忘记哈希容器它是O(1)搜索,以及联合国下令载体+线性搜索(这是为O(n)的一切,但如果足够小,实际上是最快的).

推荐阅读
ERIK又
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有