zoukankan      html  css  js  c++  java
  • [Revisit.SolidMCP] Hash Algorithms

    Hash总是免不了的,那么要关注的不过是选择什么样的Hash算法。高深的算法, Piaoger自然是写不出,但怎么着也能找两个比较帅的,口碑比较好的。

    用Google搜索了一下,然后看了Google Sparsh Hash, HyperTable等几个开源库,似乎也就不外乎那么三四种:

    ----------------------------------------------------------------------------

    >> Paul Hsieh's SuperFastHash

    从这厮的名字看来,那肯定是超级快。

    http://www.azillionmonkeys.com/qed/hash.html

    >> MurmurHash3

    这家伙作者似乎已经被Google收编。

    它的速度似乎很快,在HyperTable中是默认的Hasher。

    http://code.google.com/p/smhasher/

    >> Lookup3

    似乎比较牛X,而且在2007年算法还有更新。

    http://burtleburtle.net/bob/hash/doobs.html

    >> Thomas Wang的Integer Hash

    主要是针对Integer Type,在不少开源库中有应用。

    http://www.cris.com/~Ttwang/tech/inthash.htm

    ----------------------------------------------------------------------------

    话说回来,其实SuperFastHarsh、MurmurHash3和Lookup3其实效率都差不了多少,从HyperTable的代码看来,MurmurHash3号称更快一些。

    在Lookup3页面有对这些Hasher的点评,我们能找到更多的专业点评。

    Material:

    http://blog.clawpaws.net/post/2007/04/22/Good-Hash-Functions

    -Piaoger

  • 相关阅读:
    题目:返回一个整数数组中最大子数组的和。(要求程序必须能处理1000 个元素)
    四则运算三(接受用户输入答案,并判断对错。)
    二维数组
    结对开发(一位数组)
    测试四则运算
    四则运算2
    程序设计思路
    项目计划总结
    小学二年级题目的改进
    二年级题目的改进
  • 原文地址:https://www.cnblogs.com/piaoger/p/2049517.html
Copyright © 2011-2022 走看看