কম্পিউটার টিউটোরিয়াল

জাভাস্ক্রিপ্টে হ্যাশ টেবিলে উপাদান যোগ করা


হ্যাশ টেবিলে উপাদান যোগ করার সময় সবচেয়ে গুরুত্বপূর্ণ অংশ হলো কলিশন রেজোলিউশন। আমরা এর জন্য চেইনিং ব্যবহার করব। অন্যান্য অ্যালগরিদম সম্পর্কে আপনি এখানে পড়তে পারেন: 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 }

  1. জাভাস্ক্রিপ্টে PriorityQueue-এ Dequeue (Remove) অপারেশন

  2. জাভাস্ক্রিপ্টে লিংকড লিস্টে এলিমেন্ট যোগ করা (Insert)

  3. জাভাস্ক্রিপ্টে হ্যাশ টেবিল ডেটা স্ট্রাকচার

  4. জাভাস্ক্রিপ্ট ইমপোর্টে {} ব্রেসের ব্যবহার