哈希unorderedmap
时间: 2023-10-12 10:08:17 浏览: 90
C++中的哈希容器unordered_map使用示例
哈希unordered_map是C++中的一个容器,它是基于哈希表实现的。哈希表是一种用于存储键值对数据的数据结构,它通过将键映射到一个哈希值,并将该哈希值映射到一个桶中来实现快速的访问。unordered_map使用哈希函数来计算键的哈希值,并根据哈希值将键值对存储在桶中。当我们需要查找某个键时,unordered_map会使用相同的哈希函数计算键的哈希值,并在相应的桶中查找。
与普通的map相比,unordered_map在插入、查找和删除操作方面具有更快的速度,因为它使用了哈希表的特性。另外,unordered_map不会自动对元素进行排序,而是按照哈希值的顺序存储元素。这也是unordered_map与map的一个区别。
关于哈希冲突或哈希碰撞的问题,即不同的键通过相同的哈希函数计算出相同的哈希值,unordered_map使用开链法来解决。开链法是指将具有相同哈希值的键值对存储在同一个桶中,并使用链表或其他数据结构将它们连接起来。这样,当发生哈希冲突时,我们可以在同一个桶中进行线性搜索来找到正确的键值对。
综上所述,哈希unordered_map是一种基于哈希表实现的C++容器,它使用哈希函数计算键的哈希值,并将键值对存储在相应的桶中。它具有快速的插入、查找和删除操作,并使用开链法来解决哈希冲突。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* [数据结构(9)-- 哈希表 unordered_map](https://blog.csdn.net/qq_43762191/article/details/113809757)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
- *3* [C++哈希unordered_map和unordered_set](https://blog.csdn.net/qq_54178958/article/details/127615111)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]
阅读全文