পারফেক্ট হ্যাশিংয়ের সংজ্ঞা
পারফেক্ট হ্যাশিং হলো হ্যাশিংয়ের একটি মডেল যেখানে n সংখ্যক এলিমেন্ট সমান আকারের একটি হ্যাশ টেবিলে সংরক্ষণ করা যায় এবং কনস্ট্যান্ট টাইমে লুকআপ সম্পন্ন করা যায়। এটি específিকভাবে ফ্রেডম্যান, কমলোস এবং সেমেরেডি (১৯৮৪) দ্বারা উদ্ভাবিত ও আলোচিত হয়েছে এবং তাই এটিকে "FKS হ্যাশিং" নামে ডাকা হয়।
স্ট্যাটিক হ্যাশিংয়ের সংজ্ঞা
স্ট্যাটিক হ্যাশিং হ্যাশিং সমস্যার আরেকটি রূপ যা ব্যবহারকারীদের একটি চূড়ান্ত ডিকশনারি সেটে লুকআপ সম্পন্ন করতে দেয় (অর্থাৎ ডিকশনারির সকল অবজেক্ট চূড়ান্ত এবং অপরিবর্তনীয়)।
অ্যাপ্লিকেশন
যেহেতু স্ট্যাটিক হ্যাশিং ডেটাবেস, তার অবজেক্ট এবং রেফারেন্স একই रहने की ആবশ্যকতা পরিপালন করে, তাই এর অ্যাপ্লিকেশন সীমিত। যেসব ডেটাবেসে বিরল পরিবর্তন হয় সেগুলোও উপযোগী কারণ সেগুলোকে কেবল বিরল সময়ে পুরো ডেটাবেসের পূর্ণ রি-হ্যাশিং করতে হবে। এই হ্যাশিং স্কিমের বিভিন্ন উদাহরণ অন্তর্ভুক্ত করে নির্দিষ্ট ভাষার শব্দ ও সংজ্ঞার সেট, কোনো সংস্থার কর্মীদের গুরুত্বপূর্ণ ডেটার সেট ইত্যাদি।
অনুপ্রবেশ
স্ট্যাটিক কেসে, আমাদের একটি সেট দেওয়া থাকে যার মোট p এন্ট্রি রয়েছে, প্রতিটি একটি অনন্য কী সাথে যুক্ত। ফ্রেডম্যান, কমলোস এবং সেমেরেডি s = 2(p-1) বালতি আকারের একটি ফার্স্ট-লেভেল হ্যাশ টেবিল নির্বাচন করেন। নির্মাণের জন্য, p এন্ট্রি টপ-লেভেল হ্যাশিং ফাংশন দ্বারা q বালতিতে বিভক্ত হয়, যেখানে q = 2(p-1)۔ তারপর প্রতিটি r এন্ট্রি থাকা বালতির জন্য, একটি সেকেন্ড-লেভেল টেবিল r² স্লটস সহ বরাদ্দ করা হয়, এবং এর হ্যাশ ফাংশন একটি ইউনিভার্সাল হ্যাশ ফাংশন সেট থেকে র্যান্ডমলি নির্বাচিত হয় যাতে এটি কলিশন-ফ্রি হয় এবং হ্যাশ টেবিলের পাশাপাশি সংরক্ষিত হয়। যদি র্যান্ডমলি নির্বাচিত হ্যাশ ফাংশন কলিশনসহ টেবিল তৈরি করে, তবে একটি নতুন হ্যাশ ফাংশন র্যান্ডমলি নির্বাচিত করা হয় যতক্ষণ না একটি কলিশন-ফ্রি টেবিল নিশ্চিত করা যায়। শেষে, কলিশন-ফ্রি হ্যাশ দিয়ে r এন্ট্রি সেকেন্ড-লেভেল টেবিলে হ্যাশ করা হয়।