জায়গায় বালতি সাজানোর অ্যালগরিদম আছে?
জায়গায় বালতি সাজানোর অ্যালগরিদম আছে?

ভিডিও: জায়গায় বালতি সাজানোর অ্যালগরিদম আছে?

ভিডিও: জায়গায় বালতি সাজানোর অ্যালগরিদম আছে?
ভিডিও: বাকেট সর্ট অ্যালগরিদম / রেডিক্স সর্ট অ্যালগরিদম | ডেটা স্ট্রাকচারে বালতি সাজান | সরল শিখুন 2024, নভেম্বর
Anonim

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

এই ভাবে, কোন বাছাই অ্যালগরিদম জায়গায় আছে?

অন্য একটি উদাহরণ হিসাবে, অনেক বাছাই অ্যালগরিদম অ্যারেকে জায়গায় সাজানো ক্রমে পুনর্বিন্যাস করে, যার মধ্যে রয়েছে: বুদবুদ সাজানোর , চিরুনি বাছাই, নির্বাচন বাছাই, সন্নিবেশ বাছাই , heapsort, এবং শেল সাজানোর. এই অ্যালগরিদমগুলির শুধুমাত্র কয়েকটি পয়েন্টার প্রয়োজন, তাই তাদের স্থান জটিলতা হল O(log n)। Quicksort বাছাই করা তথ্যের জায়গায় কাজ করে।

পরবর্তীকালে, প্রশ্ন হল, কিভাবে একটি বালতি সাজানোর অ্যালগরিদম কাজ করে? বালতি বাছাই , বা বিন সাজানোর , ইহা একটি বাছাই অ্যালগরিদম যে কাজ করে একটি অ্যারের উপাদানগুলিকে একটি সংখ্যায় বিতরণ করে বালতি . প্রতিটি বালতি তারপর সাজানো স্বতন্ত্রভাবে, হয় একটি ভিন্ন ব্যবহার করে বাছাই অ্যালগরিদম , অথবা recursively প্রয়োগ করে বালতি সাজানোর অ্যালগরিদম . প্রাথমিকভাবে খালি একটি অ্যারে সেট আপ করুন " বালতি ".

সেই অনুযায়ী, আপনি কিভাবে একটি বালতি সাজানোর অ্যালগরিদম বাস্তবায়ন করবেন?

  1. ধরুন, ইনপুট অ্যারে হল: 10 আকারের একটি অ্যারে তৈরি করুন।
  2. অ্যারে থেকে বালতিতে উপাদান সন্নিবেশ করান। উপাদানগুলি বালতির পরিসীমা অনুযায়ী সন্নিবেশ করা হয়।
  3. প্রতিটি বালতির উপাদান স্থিতিশীল বাছাই অ্যালগরিদম ব্যবহার করে সাজানো হয়।
  4. প্রতিটি বালতি থেকে উপাদান জড়ো করা হয়.

বালতি সাজানোর কোথায় ব্যবহার করা হয়?

বালতি বাছাই যখন ইনপুট একটি পরিসরে সমানভাবে বিতরণ করা হয় তখন প্রধানত উপযোগী। উদাহরণস্বরূপ, নিম্নলিখিত সমস্যা বিবেচনা করুন। সাজান ফ্লোটিং পয়েন্ট সংখ্যার একটি বড় সেট যা 0.0 থেকে 1.0 পর্যন্ত পরিসরে এবং একইভাবে সমগ্র পরিসরে বিতরণ করা হয়।

প্রস্তাবিত: