博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
散列表-----散列函数
阅读量:7074 次
发布时间:2019-06-28

本文共 423 字,大约阅读时间需要 1 分钟。

var djb2HashCode = function (key) {    var hash = 5381;    for (var i = 0; i < key.length; i ++) {        hash = hash * 33 + key.charCodeAt(i)    }    return hash % 1013;}复制代码

有时散列函数会发生冲突,即为某些属性名编码时,会得到相同的返回值,这是由于不同字符对应的ASCII的值不同,所以可能出现的偶然性,采用此方法可减少冲突的次数,另外也可以使用分离链接活着线性探查的方式

线性链接

就是将键值相同的几个数据编写成链表,把这个链表放入该键值(position)中

线性探查

就是当添加元素时发现相同的键值(position)已被占用,那么就把这个数据放到该键值(position)+1的位置,如果position+1的位置也存在值,那么就放到position+2的位置

转载地址:http://hluml.baihongyu.com/

你可能感兴趣的文章