
哈希
文章平均质量分 70
DayDay upup
这个作者很懒,什么都没留下…
展开
-
哈希思想的经典应用(位图,哈希切割)
分别计算每个哈希值对应的比特位置存储的是否为零,只要有一个为零,代表该元素一定不在哈希表中,否则可能在哈希表中。所谓位图,就是用每一位来存放某种状态,适用于海量数据,数据无重复的场景。在该问题中,我们可以取40亿个比特位,每个比特位表示一个数,如果该数出现则标记为1,未出现则标记为0。给40亿个不重复的无符号整数,没排过序。将每一个log中的IP通过哈希函数映射成一个整数%100,分到100不同的小文件,在进行计数。我们采取类似位图的思想,将一个字符串通过相同的方式映射成一个整数,再将对应的下表,标位1。原创 2022-09-20 17:37:07 · 467 阅读 · 0 评论 -
哈希表(c++)
最好的情况是:每个哈希桶中刚好挂一个节点,再继续插入元素时,每一次都会发生哈希冲突,因此,在元素个数刚好等于桶的个数时,可以给哈希表增容。如果构造一种存储结构,通过某种函数(hashFunc)使元素的存储位置与它的关键码之间能够建立一一映射的关系,那么在查找时通过该函数可以很快找到该元素。对元素的关键码进行同样的计算,把求得的函数值当做元素的存储位置,在结构中按此位置取元素比较,若关键码相等,则搜索成功。1.桶的个数是一定的,随着元素的不断插入,每个桶中元素的个数不断增多,极端情况下,原创 2022-09-13 20:28:15 · 465 阅读 · 0 评论