布谷鸟与哈希表
昨天是谷雨。这个季节,降雨量增加,布谷鸟啼鸣,提醒农人开始播种,有诗云:布谷声中雨满篱,催耕不独野人知。荷锄莫道春耘早,正是披蓑叱犊时。
布谷鸟也叫杜鹃鸟,这种鸟的鸣叫声凄厉幽怨,勾起人们很多情思。李商隐有诗句:庄周晓梦迷蝴蝶,望帝春心托杜鹃。说的是古蜀国望帝杜宇国破身死,心有不甘,死后化作杜鹃鸟,年年春天在枝头泣血啼鸣,诉说苦楚。
但实际上布谷鸟却是鸟类世界的害群之马,不折不扣的恶霸。 布谷鸟是托卵寄生的鸟类,它把卵产在其他鸟类的巢穴中就不管了,它的卵孵化时间短,小布谷鸟会把其他鸟类的卵踢出巢穴,这样,其他鸟类就会把布谷鸟的幼鸟当作自己的后代抚养。 成语“鹊巢鸠占”就由此而来。
受布谷鸟的“托卵寄生”行为启发(扯淡的),有人发明了一种布谷鸟哈希算法。哈希表最常用的解决哈希冲突的方法是冲突链表,这种方法的问题是链表长度不可控,最差情况下查找操作的时间复杂度会退化到O(n)。布谷鸟哈希(cuckoo hash)为每个key计算两个哈希值,每个key有两个哈希桶与之对应。插入操作时,在这两个桶中选择一个空的,放入待插入表项。 如果这两个桶都不空,那么就把其中一个桶中原有表项“踢出去”,然后放入待插入表项。 被踢出的表项随后被放到它的另外一个桶中(每个key有两个桶与之对应),如果它的第二个桶也不空,那么就接着再踢,如此往复,直到找到一个空位置。
与冲突链式哈希表相比,布谷鸟哈希的查找开销小,且稳定可预测。但是它的插入开销比较大,因此,它只适用于插入不频繁的场景中。
昨天是谷雨。这个季节,降雨量增加,布谷鸟啼鸣,提醒农人开始播种,有诗云:布谷声中雨满篱,催耕不独野人知。荷锄莫道春耘早,正是披蓑叱犊时。
布谷鸟也叫杜鹃鸟,这种鸟的鸣叫声凄厉幽怨,勾起人们很多情思。李商隐有诗句:庄周晓梦迷蝴蝶,望帝春心托杜鹃。说的是古蜀国望帝杜宇国破身死,心有不甘,死后化作杜鹃鸟,年年春天在枝头泣血啼鸣,诉说苦楚。
但实际上布谷鸟却是鸟类世界的害群之马,不折不扣的恶霸。 布谷鸟是托卵寄生的鸟类,它把卵产在其他鸟类的巢穴中就不管了,它的卵孵化时间短,小布谷鸟会把其他鸟类的卵踢出巢穴,这样,其他鸟类就会把布谷鸟的幼鸟当作自己的后代抚养。 成语“鹊巢鸠占”就由此而来。
受布谷鸟的“托卵寄生”行为启发(扯淡的),有人发明了一种布谷鸟哈希算法。哈希表最常用的解决哈希冲突的方法是冲突链表,这种方法的问题是链表长度不可控,最差情况下查找操作的时间复杂度会退化到O(n)。布谷鸟哈希(cuckoo hash)为每个key计算两个哈希值,每个key有两个哈希桶与之对应。插入操作时,在这两个桶中选择一个空的,放入待插入表项。 如果这两个桶都不空,那么就把其中一个桶中原有表项“踢出去”,然后放入待插入表项。 被踢出的表项随后被放到它的另外一个桶中(每个key有两个桶与之对应),如果它的第二个桶也不空,那么就接着再踢,如此往复,直到找到一个空位置。
与冲突链式哈希表相比,布谷鸟哈希的查找开销小,且稳定可预测。但是它的插入开销比较大,因此,它只适用于插入不频繁的场景中。
读完电子书又超想二刷的我还是决定买纸质书来读,一来觉得纸质书有电子书没有的仪式感,二来觉得它值得我以此态度来收录珍藏,其实更多也是为方便之后三刷、四刷、N刷。。。。。
所以这次就暂且摒弃一直以来对纸质书坚持的非借不能读原则。
扑面而来的油墨味原来也能成为快乐的源泉,
总之,今天也是开心值得的一天。 https://t.cn/R2WxeSx
所以这次就暂且摒弃一直以来对纸质书坚持的非借不能读原则。
扑面而来的油墨味原来也能成为快乐的源泉,
总之,今天也是开心值得的一天。 https://t.cn/R2WxeSx
由@联想会员 携手拯救者联合主办的#联萌会员拯救者生态周边手机壳UI设计征集大赛#第一期,今日上线!系列众创活动,为了让更多优秀设计达人到碗里来[来]
本期主题为「拯救者手机壳」,快来吧,为你的拯救者手机壳设计专属外观,一起为战而生!转+评,5月6日抽5位粉丝送联想天骄智能语音跳绳N1
报名通道: https://t.cn/A66eqTb5
本期主题为「拯救者手机壳」,快来吧,为你的拯救者手机壳设计专属外观,一起为战而生!转+评,5月6日抽5位粉丝送联想天骄智能语音跳绳N1
报名通道: https://t.cn/A66eqTb5
✋热门推荐