散列码就是通过一种不可逆的散列(Hash)算法,对一个数据进行计算,获得一个“唯一”的值。这个值可以对这个数据进行标识,在查找数据的时候,可以通过这个值来快速定位数据,从而有效减少开销。
由于散列长度是有限和固定的,因此在数据极多的情况下散列值会出现重复,用术语讲就是“碰撞”。这个时候就需要其它方法来消除这种碰撞,比如再散列、拉链算法等。
举个例子,设计一个散列算法,这个算法是把比划数相加。
“知道”的散列值就是20,
“你好”的散列值就是13。(我数对没有? :))
由于散列长度是有限和固定的,因此在数据极多的情况下散列值会出现重复,用术语讲就是“碰撞”。这个时候就需要其它方法来消除这种碰撞,比如再散列、拉链算法等。
举个例子,设计一个散列算法,这个算法是把比划数相加。
“知道”的散列值就是20,
“你好”的散列值就是13。(我数对没有? :))
本文介绍散列码的基本概念,包括其在数据查找中的应用、碰撞原理及解决方法,通过实例展示了如何使用散列算法为数据提供唯一标识。
2225

被折叠的 条评论
为什么被折叠?



