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