首页 > 试题广场 >

比较B+TreeHash_MapSTL Map三种数据结

[单选题]
有B+Tree/Hash_Map/STL Map三种数据结构。对于内存中数据,查找性能较好的数据结构是(),对于磁盘中数据,查找性能较好的数据结构是()。
  • Hash_Map/B+Tree
  • STL_Map/B+Tree
  • STL_Map/Hash_Map
  • B+Tree/Hash_Map
a
发表于 2023-09-21 21:43:28 回复(0)
答案:A
Hash操作能根据散列值直接定位数据的存储地址,设计良好的hash表能在常数级时间下找到需要的数据,但是更适合于内存中的查找。
B+树是一种是一种树状的数据结构,适合做索引,对磁盘数据来说,索引查找是比较高效的
STL_Map的内部实现是一颗红黑树,但是只是一颗在内存中建立二叉树树,不能用于磁盘操作,而其内存查找性能也比不上Hash查找。
因此对于内存中数据,查找性能较好的数据结构是Hash_Map,对于磁盘中数据,查找性能较好的数据结构是B+Tree。
编辑于 2015-01-30 12:07:10 回复(2)
Hash_Map适合内存中查找,设计的好能在常数级时间下找到需要的数据
B+树是树状数据结构,对磁盘来讲,索引查找比较高效
STL_Map是红黑树,建立在内存中,其查找性能不如Hash查找
发表于 2017-06-17 17:55:10 回复(0)
STL_Map 有啥用呢
发表于 2021-04-28 10:51:18 回复(0)
 Hash操作能根据散列值直接定位数据的存储地址,设计良好的hash表能在常数级时间下找到需要的数据,但是更适合于内存中的查找。
      B+树是一种是一种树状的数据结构,适合做索引,对磁盘数据来说,索引查找是比较高效的
      STL_Map的内部实现是一颗红黑树,但是只是一颗在内存中建立二叉树树,不能用于磁盘操作,而其内存查找性能也比不上Hash查找。
      因此对于内存中数据,查找性能较好的数据结构是Hash_Map,对于磁盘中数据,查找性能较好的数据结构是B+Tree
发表于 2021-03-07 21:18:49 回复(0)
Hash操作能根据散列值直接定位数据的存储地址,设计良好的hash表能在常数级时间下找到需要的数据,但是更适合于内存中的查找。
B+树是一种是一种树状的数据结构,适合做索引,对磁盘数据来说,索引查找是比较高效的
STL_Map的内部实现是一颗红黑树,但是只是一颗在内存中建立二叉树树,不能用于磁盘操作,而其内存查找性能也比不上Hash查找。
因此对于内存中数据,查找性能较好的数据结构是Hash_Map,对于磁盘中数据,查找性能较好的数据结构是B+Tree。
发表于 2016-09-11 16:56:53 回复(0)