আপনার যখন সত্যই বড় ফাইল এবং এতে অনেকগুলি উপাদান রয়েছে তবে সর্বাধিক সাধারণ উপাদানটি খুব সাধারণ - সময় ভগ্নাংশ হয় - আপনি স্থান ও ( কে ) শব্দগুলির সাথে রৈখিক সময়ে এটি খুঁজে পেতে পারেন ( হে ( ) স্বরলিখনের মধ্যে ধ্রুবকটি খুব ছোট, মূলত 2 যদি আপনি হ্যাশিংয়ের মতো সহায়ক জিনিসের জন্য সঞ্চয়স্থান গণনা না করেন)। তদুপরি, এটি বাহ্যিক স্টোরেজ সহ দুর্দান্ত কাজ করে, কারণ ফাইলটি একসাথে একটি উপাদানকে ক্রমানুসারে প্রক্রিয়া করা হয় এবং অ্যালগরিদম কখনই "পিছনে ফিরে দেখায়" না। এটি করার একটি উপায় হ'ল মিশ্রা এবং গ্রিজের একটি ধ্রুপদী অ্যালগরিদমের মাধ্যমে, এই বক্তৃতা নোটগুলি দেখুন> 1 / কেও ( কে )ও ( )। সমস্যাটি এখন ভারী হিটার সমস্যা হিসাবে পরিচিত (ঘন ঘন উপাদানগুলি ভারী হিটকারী হওয়ায়)।
খুব ঘন ঘন উপাদান প্রদর্শিত হয় এমন অনুমান খুব কম সংখ্যক সংখ্যক সময়ের জন্য সময়ের 1 / কে ভগ্নাংশটি দৃ seem় মনে হতে পারে তবে এটি প্রয়োজনীয় উপায়ে! উদাহরণস্বরূপ, আপনার কাছে যদি আপনার ফাইলে ক্রমান্বয়ে অ্যাক্সেস থাকে (এবং যদি ফাইলটি বিশাল এলোমেলো অ্যাক্সেস খুব ব্যয়বহুল হয়), কোনও অ্যালগরিদম যা সর্বদা নিয়মিত সংখ্যায় পাসের সংখ্যায় সবচেয়ে ঘন উপাদান খুঁজে বের করে তা উপাদানগুলির সংখ্যায় স্পেস লিনিয়ার ব্যবহার করবে । সুতরাং আপনি যদি ইনপুট সম্পর্কে কিছু না ধরে থাকেন তবে আপনি হ্যাশ টেবিলটি বীট করতে পারবেন না। খুব ঘন ঘন উপাদান খুব ঘন ঘন এই ধারণাটি সম্ভবত নেতিবাচক ফলাফলগুলির কাছাকাছি আসার সবচেয়ে প্রাকৃতিক উপায়।> 1 / কেট
এখানে জন্য স্কেচ দেওয়া হয়েছে , অর্থাত্ যখন কোনও একক উপাদান থাকে যা অর্ধেকেরও বেশি সময় ঘটে থাকে। এই বিশেষ কেসটি সংখ্যাগরিষ্ঠ ভোটের অ্যালগরিদম হিসাবে পরিচিত এবং এটি বয়ের এবং মুরের কারণে। আমরা একটি একক উপাদান এবং একটি একক গণনা রাখব। গণনাটি 1 এ আরম্ভ করুন এবং ফাইলের প্রথম উপাদানটি সংরক্ষণ করুন। তারপরে ফাইলটি ধারাবাহিকভাবে প্রক্রিয়া করুন:কে = 2
- যদি ফাইলের বর্তমান উপাদানটি সঞ্চিত উপাদানগুলির সমান হয় তবে একটি করে গণনা বাড়ান
- যদি ফাইলের বর্তমান উপাদান স্টোরেজ উপাদান থেকে আলাদা হয় তবে একের সাথে গণনা হ্রাস করুন
- যদি আপডেট গণনা 0 হয় তবে সঞ্চিত উপাদানটিকে "কিক আউট" করুন এবং ফাইলটির বর্তমান উপাদানটি সংরক্ষণ করুন; গণনা 1 এ বাড়িয়ে দিন
- ফাইলের পরবর্তী উপাদানটিতে এগিয়ে যান
এই প্রক্রিয়াটি সম্পর্কে একটু চিন্তাভাবনা আপনাকে বোঝাবে যে যদি সেখানে একটি "সংখ্যাগরিষ্ঠ" উপাদান উপস্থিত থাকে, অর্থাৎ অর্ধেকেরও বেশি সময় উপস্থিত হয়, তবে সেই ফাইলটি পুরো ফাইলটি প্রক্রিয়া করার পরে সঞ্চিত উপাদান হবে be
টকে - 1কে - 1টট
কে - 11 / কেও ( কে )
ট1 / কেকে - 1