散列表
1. 什么是散列表
根据关键码值(Key value)直接进行访问的数据结构;它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度;这个映射函数叫做散列函数,存放记录的数组叫做散列表。
散列算法的作用是尽可能快地在数据结构中找到一个值。
例子:
使用最常见的散列函数 - 'lose lose’散列函数,方法是简单地将每个键值中的每个字母的ASCII值相加。如下图:
2. 实现一个散列表
class HashTable {
constructor() {
this.table = []
}
// 散列函数
static loseloseHashCode(key) {
let hash = 0
for (let codePoint of key) {
hash += codePoint.charCodeAt()
}
return hash % 37
}
// 修改和增加元素
put(key