কম্পিউটার

ডেটা স্ট্রাকচারে ওপেন অ্যাড্রেসিং সহ হ্যাশিং


এই বিভাগে আমরা ওপেন অ্যাড্রেসিং দ্বারা হ্যাশিং কী তা দেখব। ওপেন অ্যাড্রেসিং হল সংঘর্ষের রেজোলিউশনের আরেকটি কৌশল। চেইনিংয়ের বিপরীতে, এটি কিছু অন্যান্য ডেটা-কাঠামোতে উপাদান সন্নিবেশিত করে না। এটি হ্যাশ টেবিলে ডেটা সন্নিবেশ করায়। হ্যাশ টেবিলের আকার কী সংখ্যার চেয়ে বড় হওয়া উচিত।

ওপেন অ্যাড্রেসিং কৌশলগুলির জন্য তিনটি ভিন্ন জনপ্রিয় পদ্ধতি রয়েছে। এই পদ্ধতিগুলি হল −

  • লিনিয়ার প্রোবিং

  • চতুর্মুখী অনুসন্ধান

  • ডাবল হ্যাশিং

এই কৌশলটিতে, আমরা অন্যান্য হ্যাশ কৌশলগুলির মতো একটি হ্যাশ ফাংশন ব্যবহার করি। যদি জায়গাটি বিনামূল্যে হয়, তাহলে সেই অবস্থানে উপাদানটি সন্নিবেশ করুন। এখন যদি সেই জায়গাটি মুক্ত না হয় তবে আমরা কিছু সমীকরণ ব্যবহার করে আরেকটি মুক্ত উপাদান খুঁজে পাব। রৈখিক অনুসন্ধানের জন্য, আমরা কিছু রৈখিক সমীকরণ ব্যবহার করব, দ্বিঘাত অনুসন্ধানের জন্য, আমরা কিছু দ্বিঘাত সমীকরণ ব্যবহার করব।

ডাবল হ্যাশিং-এ, যখন সংঘর্ষ হয়, তখন আমরা আরেকটি হ্যাশ ফাংশন ব্যবহার করব, তারপর সেই অবস্থানে রাখব। সেই হ্যাশ ফাংশনটিকে সেকেন্ডারি হ্যাশ ফাংশন বলা হয়। এটি সরাসরি ব্যবহার করা হবে না, যদি কোন সংঘর্ষ না হয়।


  1. ডেটা স্ট্রাকচারে ফিবোনাচি হিপস

  2. ডেটা স্ট্রাকচারে ডাবল হ্যাশিং

  3. ডেটা স্ট্রাকচারে চেইনিংয়ের সাথে হ্যাশিং

  4. অর্ধেক ডাটা স্ট্রাকচার