গতিশীল নিখুঁত হ্যাশিংয়ের তুলনায় কোকিল হ্যাশিংয়ের সুবিধা কী কী?


12

গতিশীল নিখুঁত হ্যাশ টেবিল এবং কোকিল হ্যাশ টেবিল দুটি পৃথক ডেটা স্ট্রাকচার যা সবচেয়ে খারাপ ক্ষেত্রে O (1) লুক্কুট এবং প্রত্যাশিত হে (1) -সময়ের সন্নিবেশ এবং মুছে ফেলা সমর্থন করে। উভয়ের জন্য ও (এন) সহায়ক স্থান এবং তাদের ক্রিয়াকলাপের জন্য হ্যাশ ফাংশনগুলির পরিবারগুলিতে অ্যাক্সেস প্রয়োজন।

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

এই নির্দিষ্ট ডেটা স্ট্রাকচারগুলির মধ্যে একটির অন্যটির তুলনায় স্পষ্ট সুবিধা রয়েছে এমন কোনও নির্দিষ্ট প্রসঙ্গ রয়েছে? নাকি এগুলি বেশিরভাগই বিনিময়যোগ্য?


আমি নিশ্চিত নই যে এই কৌশলগুলি বাস্তবে বাস্তবে ব্যবহৃত হয়েছে কিনা। সাধারণত এই ধরণের ডেটা স্ট্রাকচার যা সেরা অ্যাসেম্পটোটিক সীমা সরবরাহ করে সেগুলি মূলত গবেষণার আগ্রহের কারণ তারা সাধারণত নোটেশনে একটি বৃহত ধ্রুবক লুকায়িত থাকে । অনুশীলনে আপনি সম্ভবত আরও বড় ধ্রুবকযুক্ত আরও জটিল চেয়ে খুব ছোট ধ্রুবক সহ একটি সহজ, কৌশল কার্যকর করতে পছন্দ করতে পারেন । OO(logn)O(1)
টম ভ্যান ডার জ্যান্ডেন

@ টমভান্ডারজ্যান্ডেন এটি অবশ্যই সত্য। আমি অন্যের তুলনায় একটি পদ্ধতির তাত্ত্বিক সুবিধাগুলিতেও আগ্রহী - প্রতিটি পদ্ধতির একে অপরের উপর দিয়ে যাওয়ার মতো কোনও সুন্দর তাত্ত্বিক বৈশিষ্ট্য রয়েছে কি?
টেম্পলেটটিফাইফ

@templatetypedef, আমি আপনাকে প্রশ্নটিতে এটি যুক্ত করতে উত্সাহিত করি, তবে। লোকেরা আপনার প্রশ্নটি বুঝতে মন্তব্যগুলি পড়তে হবে না - মন্তব্যগুলি ট্রানজিটরি এবং যে কোনও সময় অদৃশ্য হয়ে যেতে পারে।
ডিডাব্লিউ

হ্যাঁ, এই কৌশলগুলি বাস্তবে অনুশীলনে ব্যবহৃত হয়, সাধারণত কুলঙ্গিত অঞ্চলে।
ছদ্ম

1
কোকিল হ্যাশিং এর একটি সুবিধা হ'ল এটি বোঝা এবং বাস্তবায়ন করা সহজ। এছাড়াও, ইমো, গতিশীল নিখুঁত হ্যাশিংয়ের চেয়ে বিশ্লেষণ করা অনেক সহজ।
এ.স্কুলজ

উত্তর:


3

ডায়াজফেল্বিংগার এট আল অর্থে গতিময় নিখুঁত হ্যাশিং। কেবলমাত্র 2-স্বতন্ত্র হ্যাশিংয়ের প্রয়োজন । কোকিল হ্যাশ টেবিলগুলির জন্য সরল হ্যাশিংয়ের কিছু ফলাফল পাওয়া যায় যেমন বাঁকানো ট্যাবুলেশন হ্যাশিং এবং "স্প্যাশীড এবং এফিশিয়েন্ট এবং দক্ষ হ্যাশ ফ্যামিলিস সাফিস ফর কোকিল হ্যাশিং অ্যা স্ট্যাশ", কিছুটা হলেও আসল গতিশীল পারফেক্ট হ্যাশিং আরও দৃust়।


ও.পি. এর সুস্পষ্ট মন্তব্যটি দেখুন: "আমি অন্যের থেকে এক পদ্ধতির তাত্ত্বিক সুবিধাগুলিতেও আগ্রহী - প্রতিটি পদ্ধতির একে অপরের তুলনায় এমন কোনও দুর্দান্ত তাত্ত্বিক বৈশিষ্ট্য কি রয়েছে?"
jbapple

3

কোকিল হ্যাশিং-এ, অনুসন্ধানগুলি সমান্তরালভাবে সম্পাদন করা যেতে পারে, তবে ডায়েটফেল্বিংগার এট আল-এর মূল গতিশীল নিখুঁত হ্যাশিং স্কিমে, লিকপুকে দুটি চেইনযুক্ত মেমরি অ্যাক্সেসের প্রয়োজন হয়, যেখানে দ্বিতীয় অ্যাক্সেস প্রথম থেকে প্রাপ্ত তথ্য ব্যবহার করে।


1

প্রতিটি স্লটকে একাধিক আইটেম ধরে রাখার সুযোগ দিয়ে কোকিল হ্যাশিংয়ের স্থান দক্ষতা বৃদ্ধি করা তুলনামূলকভাবে সহজ। 4 মাপের স্লটের জন্য, স্থান দক্ষতা 95% এর মতো। এর অর্থ এটি হ'ল আইটেমগুলি itemsোকানো যেতে পারে যতক্ষণ না টেবিলের 95% স্পেস আইটেম ধরে রাখতে ব্যবহৃত হয়, কেবল আইটেমগুলি যেতে পারে এমন জায়গাগুলি নয়।

অন্যদিকে, ডায়েটফেল্বিংগার এট আল-তে সীমানা। গতিশীল নিখুঁত হ্যাশিংয়ের কাগজগুলি কেবল প্রমাণ করে যে সারণি 3% এর বেশি পূর্ণ না হওয়া পর্যন্ত সন্নিবেশ অপারেশনগুলি এগিয়ে যেতে পারে।


আপনি আপনার দুটি উত্তর একত্রিত করতে চাইতে পারেন want :-)
টেমপ্লেট

0

কোকিল হ্যাশিং যে কোনও সময়ে ও মেমরি ব্লক ব্যবহার করে এবং খুব কমই মেমরিটি ফ্রি বা পুনরায় প্রকাশ করতে হবে। ডায়াজফেল্বিংগার অর্থে গতিশীল নিখুঁত হ্যাশিং মেমরি ব্লক ব্যবহার করে এবং অভ্যন্তরীণ এবং বাহ্যিক উভয় খণ্ডগুলিতে আরও স্থান ব্যবহার করবে। এটি এড়ানোর উপায় রয়েছে তবে তারা অ্যালগরিদমে জটিলতা যুক্ত করে।O(1)O(n)

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.