Computer >> Máy Tính >  >> Lập trình >> Javascript

Thêm các phần tử vào bảng băm bằng Javascript


Khi thêm các phần tử vào bảng băm, phần quan trọng nhất là giải quyết xung đột. Chúng tôi sẽ sử dụng chuỗi cho cùng một. Bạn có thể đọc các thuật toán khác tại đây:https://en.wikipedia.org/wiki/Hash_table#Collision_resolution

Bây giờ chúng ta hãy nhìn vào việc thực hiện. Chúng tôi sẽ tạo một hàm băm chỉ hoạt động trên các số nguyên để đơn giản hóa việc này. Nhưng một thuật toán phức tạp hơn có thể được sử dụng để băm mọi đối tượng -

Ví dụ

put(key, value) {
   let hashCode = hash(key);

   for(let i = 0; i < this.container[hashCode].length; i ++) {

      // Replace the existing value with the given key
      // if it already exists
      if(this.container[hashCode][i].key === key) {
         this.container[hashCode][i].value = value; return;
      }
   }

   // Push the pair at the end of the array
   this.container[hashCode].push(new this.KVPair(key, value));
}

Bạn có thể kiểm tra điều này bằng cách sử dụng

Ví dụ

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();

Đầu ra

Điều này sẽ cung cấp đầu ra -

0:
1:
2:
3:
4: { 15: 21 }
5:
6:
7:
8: { 30: 1 }
9: { 20: 72 }
10: { 10: 94 } -->{ 21: 6 } -->{ 32: 34 }