使用 Javascript 将元素添加到哈希表
front end technologyweb developmentjavascript
将元素添加到哈希表时,最关键的部分是冲突解决。我们将使用链接来实现这一点。您可以在此处阅读其他算法:https://en.wikipedia.org/wiki/Hash_table#Collision_resolution
现在让我们看看实现。我们将创建一个仅适用于整数的哈希函数以保持简单。但可以使用更复杂的算法来哈希每个对象 −
示例
put(key, value) { let hashCode = hash(key); for(let i = 0; i < this.container[hashCode].length; i ++) { // 用给定的键替换现有值 // 如果已经存在 if(this.container[hashCode][i].key === key) { this.container[hashCode][i].value = value; return; } } // 将对推送到数组末尾 this.container[hashCode].push(new this.KVPair(key, value)); }
您可以使用 进行测试
示例
let ht = new HashTable(); ht.put(10, 94); ht.put(20, 72); ht.put(30, 1); ht.put(21, 6); ht.put(15, 21); ht.put(32, 34); ht.display();
输出
这将给出输出 −
0: 1: 2: 3: 4: { 15: 21 } 5: 6: 7: 8: { 30: 1 } 9: { 20: 72 } 10: { 10: 94 } -->{ 21: 6 } -->{ 32: 34 }