哈希表
哈希表相关的一些笔记 哈希表哈希表是根据关键码的值来直接进行访问的数据结构。 哈希表中关键码就是数组的索引下标,然后通过下标直接访问数组中的元素,可以快速判断一个元素是否出现在集合里。 哈希函数把数据映射为索引,对数值取模保证一定映射到哈希表。 哈希碰撞映射到同一下标的解决方法。 拉链法:发生冲突的元素储存在链表中。 线性探测法:要保证空间比数据大,向下找空置位置放置冲突元素。 常用的哈希结构 数组 集合set:不可更改数值 set:红黑树实现,有序,数值不重复 multiset:红黑树实现,有序,数值可重复 unordered_set:哈希表实现,无序,数值不可重复 使用集合解决哈希问题时优先用unordered_set,需要有序则用set,有序且重复用multiset 映射map map:红黑树实现,key有序不可重复不可修改 multimap:红黑树实现,key有序可重复不可修改 unodered_map:哈希表实现,key无序不可重复不可修改 判断一个元素是否出现过的场景应该使用哈希法。