একটি অ্যারের মধ্যে মধ্যমা উপাদান খোঁজার জন্য স্বাভাবিক সহজ অ্যালগরিদম এর সংখ্যার হল:
- নমুনা থেকে উপাদানগুলি প্রতিস্থাপন সঙ্গে মধ্যে
- সাজান এবং র্যাঙ্ক এটি উপাদান এবং এর
- পরীক্ষা করে দেখুন যে এবং মধ্যমা বিপরীত পক্ষের উপর হয় এবং সেখানে সর্বাধিক আছে উপাদান মধ্যবর্তী এবং কিছু উপযুক্ত ধ্রুবক জন্য । যদি এটি না ঘটে তবে ব্যর্থ হোন।
- অন্যথায়, এবং মধ্যে এর উপাদানগুলি বাছাই করে মধ্যস্থতাটি সন্ধান করুন
এটি লিনিয়ার সময়ে চলে এবং এটি উচ্চ সম্ভাবনার সাথে সফল হয় তা দেখা মুশকিল নয়। (সমস্ত খারাপ ইভেন্টগুলি দ্বিপাক্ষিক প্রত্যাশা থেকে দূরে বড় বিচ্যুতি।)
একই সমস্যার জন্য একটি বিকল্প অ্যালগরিদম, যা দ্রুত বাছাই করা শিক্ষার্থীদের এখানে শেখানো আরও স্বাভাবিক যে এখানে বর্ণিত: এলোমেলোভাবে নির্বাচন
এটি দেখতেও সহজ যে এটির ক্ষেত্রে প্রত্যাশিত চলমান সময় রয়েছে: বলুন যে "বৃত্তাকার" হ'ল পুনরাবৃত্ত কলগুলির ক্রম যা শেষ হয় যখন 1 / 4-3 / 4 বিভাজন দেয় এবং তারপরে প্রত্যাশিত দৈর্ঘ্যের দৈর্ঘ্য দেখা যায় একটি বৃত্তাকার সর্বাধিক ২। (একটি রাউন্ডের প্রথম অঙ্কে, ভাল বিভাজন হওয়ার সম্ভাবনা ১/২ এবং তারপরে আসলে বৃদ্ধি পাওয়ার পরে, কারণ অ্যালগরিদমকে বর্ণনা করা হয়েছিল, তাই বৃত্তাকার দৈর্ঘ্য জ্যামিতিক এলোমেলো পরিবর্তনশীল দ্বারা প্রভাবিত হয়।)
সুতরাং এখন প্রশ্ন:
র্যান্ডমাইজড নির্বাচন উচ্চ সম্ভাবনার সাথে রৈখিক সময়ে চলে তা দেখাতে কি সম্ভব?
আমরা আশা করি আপনি চক্রের এবং প্রতিটি রাউন্ডে অন্তত দৈর্ঘ্য সম্ভাব্যতা ছাড়া সর্বাধিক , তাই একটি ইউনিয়ন আবদ্ধ যে চলমান সময় দেয় সম্ভাব্যতা ।
এটি একরকম অসন্তুষ্টিজনক, তবে এটি কি সত্য?