校招刷题群
高效刷题 迎战校招
校招精选试题
近年面笔经面经群内分享
Java刷题群 前端刷题群 产品运营群
首页 > 数据结构 > 哈希Hash
题目

有B+Tree/Hash_Map/STL Map三种数据结构。对于内存中数据,查找性能较好的数据结构是(),对于磁盘中数据,查找性能较好的数据结构是()。

A.Hash_Map/B+Tree

B.STL_Map/B+Tree

C.STL_Map/Hash_Map

D.B+Tree/Hash_Map

解答

正确答案是 A

Hash操作能根据散列值直接定位数据的存储地址,设计良好的hash表能在常数级时间下找到需要的数据,但是更适合于内存中的查找。
B+树是一种是一种树状的数据结构,适合做索引,对磁盘数据来说,索引查找是比较高效的
STL_Map的内部实现是一颗红黑树,但是只是一颗在内存中建立二叉树树,不能用于磁盘操作,而其内存查找性能也比不上Hash查找。
因此对于内存中数据,查找性能较好的数据结构是Hash_Map,对于磁盘中数据,查找性能较好的数据结构是B+Tree。

C 4条回复 评论
地瓜土到掉渣

深入浅出

发表于 2022-03-03 22:00:00
0 0
禾下乘凉

这道题很好,mysql的数据结构

发表于 2021-06-24 15:46:02
0 0
假期

Aaaaaaaa

发表于 2021-02-08 23:29:44
0 0
起石沉浮

Hash_Map适合内存中查找,设计的好能在常数级时间下找到需要的数据
B+树是树状数据结构,对磁盘来讲,索引查找比较高效
STL_Map是红黑树,建立在内存中,其查找性能不如Hash查找

发表于 2018-10-11 19:37:11
0 0