散列算法

王朝百科·作者佚名  2009-10-25  
宽屏版  字体: |||超大  

用来产生一些数据片段(例如消息或会话项)的散列值的算法。好的散列算法具有在输入数据中的更改可以更改结果散列值中每个比特的特性;因此,散列对于检测在诸如消息等大型信息对象中的任何变化很有用。此外,好的散列算法使得构造两个独立的有相同散列的输入不能通过计算方法实现。典型的散列算法包括 MD2、MD4、MD5 和 SHA-1。散列算法也被称为散列函数。散列算法的算法就是争取一个萝卜一个坑的原则

比如说有5个数 12,25,30,45,50,这几个数有个规律,就是十位数都不相同,

如果我设置一个散列函数f(value)=value/10;平常的时候,我们查找50,要比较

5次(其他算法可能不同),这里用散列算法只需要1次,就是解散列函数,key=50/10

=5,要找的数就在第5个位子.但是上面问题还是很多的,比如说查找55呢?就会出

错<因为55解散列函数之后,也是在第5个位子>,还有等等等问题,很显然这个是我

散列函数没设置好,当你把散列函数设置好了后,由于数据的庞大,冲突很有可能

产生,那么就需要我们来处理冲突了,所以写散列算法就是设置好的散列函数和

处理冲突的过程.这里散列算法涉及的查找就跟查找的数量无关,跟冲突率有直接

的关系

 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
© 2005- 王朝百科 版权所有