11问答网
所有问题
c++ 中 set数据结构和hashset数据结构的查询效率
如题所述
举报该问题
推荐答案 推荐于2018-05-04
在STL中,set是以红黑树(RB-tree)作为底层数据结构的,hash_set是以Hash table(哈希表)作为底层数据结构的。set可以在时间复杂度为O(logN)情况下插入、删除和查找数据。hash_set操作的时间复杂度则比较复杂,这取决于哈希函数和哈希表的负载情况。
一般来说,查询的数据量越大,hash_set的性能优势越明显。
温馨提示:答案为网友推荐,仅供参考
当前网址:
http://11.wendadaohang.com/zd/SSv2vF82S.html
其他回答
第1个回答 2012-07-14
hashset 不是标准c++里面的,set查询是o(log(n)),要是hash的话理想上是o(1),不过要看冲突,这个效率是不稳定的。
相似回答
原创
set
是什么意思?
答:
Set
一般指的是一个无序的、不可重复的
集合
。集合内不包含相同的元素,也没有顺序的概念。在计算机科学中,
set
是一种常用的
数据结构
,它支持快速
的查找
、插入和删除操作。在编程中,set也常用于去重、排序和查找等场景。set可以用于各种需要对一组数据进行去重,排序或查找操作的场景。例如,我们可以用set...
大家正在搜
hashset数据结构
hashset底层数据结构
hashset和treeset
redis set数据结构
redis set底层数据结构
set的底层数据结构
hashset hashmap
list的数据结构
set数据结构
相关问题
C++中set的插入和查找 与二分查找对比 效率如何
以数组为例说明数据结构在程序设计中的作用?(c++)
在java中HashSet的底层数据结构是什么,有什么特点
treeset底层数据结构是什么?如何保证元素的唯一性的呢
TreeSet和HashSet的区别?? 最近学到数据结构,...
set和list有什么区别
java中set和list的区别