作者whkuo (害羞)
看板ck47th320
标题Re: [问题] Hash function?
时间Mon Mar 22 17:10:02 2004
就演算法常用的方式来僭越说明一下,
hash function常常是在discrete的定义域,值域,做个mapping的动作。
通常的要求是,
1、尽量让值域里的每个值出现的机率一致,
2、分布看起来尽量乱,定义域里相近的输入,不一定会对应到值域里相近的输出
用处有
1、讯息确认码,
如果讯息在中途有一点点的传输错误,hash出来的值就会差很多,
可以用检查hash值确定是否有传输错误
2、资料结构有用来做较快速的cache search,
举例来说,
有十万笔资料,hash值有一百种,
好的hash function能让每个hash值都有接近一千笔资料对应到,
要搜寻特定一笔资料时,
去针对那笔资料对应的hash值下面一千笔资料的list去找就好了。
3、有时密码学会用到
因为分布看起来很乱,也是种one way function
以上纯就修演算法课时的印象所言,
难免会有不严谨,疏漏之处。
※ 引述《genie2 (资格考in 20 days)》之铭言:
: ※ 引述《changkh (月光华华)》之铭言:
: : 你说的是资料结构的hash吗?
: : 我只记得应用上是给一个值,透过一个function会得到一个索引,
: : 用来搜寻用的。
: 嗯……其实我也不太知道我问的是哪边的hash
: 就是常常在paper里都会出现 "Map X to Y by a hash function...."
: 这种句子
: 其实凯挥讲的跟我心里想的差不多
: 但是这跟广义的"function"到底差在哪?
: function也是把一个值map到另一个值啊!为什麽要特别取hash function这个名字
: 到底有什麽特性,我实在搞不懂
--
t
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.96.120.12