个人简单笔记。
目录
什么是哈希桶呢?这是一个解决哈希数据结构的一种解决方法,在STL中的unorder_map与unorder_set的底层结构就是使用它来实现的。
闭散列
首先我们知道,哈希映射表是依据数组下标数据的。
这时候然后如果来了映射值数据为0的数据,检测发现0位置已经被30占用,需要线性探测后面的空位置,就存入数据,这就叫做哈希冲突。
这样看似非常方便,但是有一个非常不好的地方那就是将其他位置给占用了,这样如果存储了其他数据连带一片的冲突产生:让我们看下图。
我们1将下标1的位置占用了,那么11、21、31使用了依次占用后面空间位置。进入进数据
映射1的数据他们的连带将2,3,4下标位置映射给占用了,导致22、3、14第一次映射位置就发生哈希冲突,并且这3个数据也占用了下标5、6、7位置,造成一大片哈希冲突,极其影响