কম্পিউটার

C++ এ কাউন্টিং সর্ট ব্যবহার করে মিডিয়ান এবং মোড


বিবেচনা করুন আমাদের আকার n এর একটি অ্যারে আছে, আমাদের গণনা সাজানোর কৌশল ব্যবহার করে মধ্যমা এবং মোড খুঁজে বের করতে হবে। এই কৌশলটি দরকারী, যখন অ্যারের উপাদানগুলি সীমিত পরিসরে থাকে। ধরুন উপাদানগুলি হল {1, 1, 1, 2, 7, 1}, তাহলে মোড হল 1, এবং মিডিয়ান হল 1.5। আসুন দেখি মিডিয়ান কি এবং মোড কি −

  • সংখ্যার সাজানো তালিকার মধ্যবর্তী সংখ্যা হল মধ্যম
  • মোড হল সেই উপাদান যার সংঘটন তালিকায় সর্বাধিক

মিডিয়ান এবং মোড পেতে, আমাদের এই ধাপগুলি অনুসরণ করতে হবে -

  • ধরুন যে ইনপুট অ্যারের আকার হল n
  • পরবর্তী সূচকে পূর্ববর্তী গণনাগুলিকে যোগ করার আগে গণনা অ্যারে নিন
  • এতে সংরক্ষিত সর্বোচ্চ মানের সূচক হল প্রদত্ত ডেটার মোড।
  • যদি একাধিক সর্বাধিক উপাদান উপস্থিত থাকে, তাহলে আমরা তাদের একটি নিতে পারি
  • মানটিকে মোড নামে আরেকটি পৃথক ভেরিয়েবলে সংরক্ষণ করুন .
  • গণনা সাজানোর স্বাভাবিক প্রক্রিয়াকরণ চালিয়ে যান।
  • বাছাই করা অ্যারেতে, যদি n বিজোড় হয়, তাহলে মধ্যমাটি সাজানো অ্যারের মধ্যম সবচেয়ে উপাদান, এবং যদি n জোড় হয়, তাহলে মধ্যম দুটি উপাদান নিন, তারপর মধ্যম পেতে তাদের গড় বের করুন।<
  • মানটিকে মিডিয়ান নামে আরেকটি পৃথক ভেরিয়েবলে সংরক্ষণ করুন।

উদাহরণ

#include <iostream>
using namespace std;
bool isRepresentedInDDigits(int num, int d, int base) {
   if (d==1 && num < base)
      return true;
   if (d > 1 && num >= base)
      return isRepresentedInDDigits(num/base, --d, base);
      return false;
}
bool checkNumber(int num, int d) {
   // Check for all bases one by one
   for (int base=2; base<=32; base++)
   if (isRepresentedInDDigits(num, d, base))
   return true;
   return false;
}
int main() {
   int num = 8;
   int dig = 2;
   if(checkNumber(num, dig))
      cout << "Can be represented";
   else
      cout << "Can not be represented";
}

আউটপুট

Can be represented

  1. C++ এ ডিভাইড অ্যান্ড কনক্যুয়ার ব্যবহার করে সর্বাধিক যোগফল সাব-অ্যারে

  2. র্যান্ডমাইজেশন ব্যবহার করে দ্রুত সাজানোর জন্য C++ প্রোগ্রাম

  3. গণনা সাজানোর জন্য C++ প্রোগ্রাম

  4. হিপ সর্ট অ্যালগরিদম ব্যবহার করে 10টি উপাদানের একটি অ্যারে সাজানোর জন্য C++ প্রোগ্রাম