77问答网
所有问题
c++ 中 set数据结构和hashset数据结构的查询效率
如题所述
举报该问题
推荐答案 推荐于2018-05-04
在STL中,set是以红黑树(RB-tree)作为底层数据结构的,hash_set是以Hash table(哈希表)作为底层数据结构的。set可以在时间复杂度为O(logN)情况下插入、删除和查找数据。hash_set操作的时间复杂度则比较复杂,这取决于哈希函数和哈希表的负载情况。
一般来说,查询的数据量越大,hash_set的性能优势越明显。
温馨提示:答案为网友推荐,仅供参考
当前网址:
http://77.wendadaohang.com/zd/WW3I3G8IW.html
其他回答
第1个回答 2012-07-14
hashset 不是标准c++里面的,set查询是o(log(n)),要是hash的话理想上是o(1),不过要看冲突,这个效率是不稳定的。
相似回答
Java
中
List、
Set
、Map接口之间
的
区别和联系
答:
区别在于容器中每个位置保存的元素个数.Collection每个位置只能保存一个元素,包括List和Set.其中List以进入的顺序保存一组元素; 而
Set中的
元素不能重复.ArrayList是一种List,
HashSet
是一种Set,将元素添加入任意Collection都可以使用add() 方法.Map保存的是健值对.使用put()为Map添加元素,它需要一个健和一个值作参数...
原创
set
是什么意思?
答:
Set
一般指的是一个无序的、不可重复的
集合
。集合内不包含相同的元素,也没有顺序的概念。在计算机科学中,
set
是一种常用的
数据结构
,它支持快速
的查找
、插入和删除操作。在编程中,set也常用于去重、排序和查找等场景。set可以用于各种需要对一组数据进行去重,排序或查找操作的场景。例如,我们可以用set...
SET
<Object>和list<OBject>区别
答:
如果要根据业务的话 如果你有5000个人员需要查找,那么
hashSet
就能够体现出效率来了。主要就业务就体现在
查询效率
上。还有最主要的是你要区分它们两
有什么
不同,根据不同需求运用不同对象。
Java
中Set
、List、Map
集合
类(接口)
的
特点及区别。分别有哪些常用实现...
答:
Set:检索元素效率低下,删除和插入效率高,插入和删除不会引起元素位置改变
;List:和数组类似,List可以动态增长,查找元素效率高,插入删除元素效率低,因为会引起其他元素位置改变;Map:适合储存键值对的数据。Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、...
c++中
有
hash
table,hashmap arrylist linkedlist 吗
答:
c++
没有hashmap,但是boost库和c++11有unordered_map,底层是哈希表,相当于java的HashMap。是个key-value存储
的数据结构
,key不能重复,key是无序的。c++有
set
,相当于java的TreeSet,底层是红黑树。是个元素集合,元素不能重复,元素是有序的。(multiset可以有重复元素,元素是有序的)c++没有
HashSet
...
c++
问题,题目如图所示
答:
用 hashmap<hashset<char>> 作为
数据结构
, 然后, 添加删除什么的就在hashmap
里面的hashset
加一个A 比如说
Java 容器详解:使用与案例
答:
一、Java容器概览Collection:
数据集合
的基石 Set TreeSet:基于红黑树,支持有序操作,但查找速度略慢于HashSet。 HashSet:基于哈希表,快速查找,但元素顺序不可预测。 LinkedHashSet:集合了
HashSet的查找
速度,同时保持插入顺序。 List ArrayList:动态数组,随机访问高效,如Vector但...
大家正在搜
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的区别