1、hash_map底层采用哈希表存储
---hash_map(vector、 list、 pair)
| | |
桶(bucket) 处理冲突(开链) 键值对
STL map底层采用红黑树(RB-Tree)实现
ps:二叉树---》二叉排序树---》AVL树---》B树---》红黑树
2、hash_map需要hash函数、等于函数;map只需要比较函数
实际中,根据查找速度、数据量、内存大小等因素考虑选择情形
本文对比了hash_map和STL map的数据结构实现:hash_map使用哈希表,通过桶(bucket)处理冲突,适用于键值对存储;而STL map则基于红黑树实现。此外,hash_map还需要hash函数和等于函数的支持,而map仅需比较函数。选择使用哪种结构取决于具体的应用场景。
1、hash_map底层采用哈希表存储
---hash_map(vector、 list、 pair)
| | |
桶(bucket) 处理冲突(开链) 键值对
STL map底层采用红黑树(RB-Tree)实现
ps:二叉树---》二叉排序树---》AVL树---》B树---》红黑树
2、hash_map需要hash函数、等于函数;map只需要比较函数
实际中,根据查找速度、数据量、内存大小等因素考虑选择情形
711
2202

被折叠的 条评论
为什么被折叠?