কম্পিউটার

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


কাউন্টিং সর্ট হল একটি স্থিতিশীল বাছাই করার কৌশল, যা ছোট সংখ্যার কী অনুযায়ী বস্তু বাছাই করতে ব্যবহৃত হয়। এটি কীগুলির সংখ্যা গণনা করে যার কী মান একই। এই বাছাই কৌশলটি কার্যকর যখন বিভিন্ন কীগুলির মধ্যে পার্থক্য এত বড় না হয়, অন্যথায় এটি স্থান জটিলতা বাড়াতে পারে৷

সর্ট টেকনিক গণনার জটিলতা

  • সময়ের জটিলতা:O(n+r)

  • স্থান জটিলতা:O(n+r)

ইনপুট − সাজানো না হওয়া ডেটার একটি তালিকা:2 5 6 2 3 10 3 6 7 8

আউটপুট − সাজানোর পর অ্যারে:2 2 3 3 5 6 6 7 8 10

অ্যালগরিদম

countingSort(অ্যারে, আকার)

ইনপুট :ডেটার একটি অ্যারে, এবং অ্যারের মোট সংখ্যা

আউটপুট :সাজানো অ্যারে

 শুরু করুন সর্বাধিক =অ্যারে থেকে সর্বাধিক উপাদান পান। i এর জন্য কাউন্ট অ্যারের আকার [সর্বোচ্চ+1] সংজ্ঞায়িত করুন :=0 থেকে সর্বোচ্চ ডু কাউন্ট[i] =0 // কাউন্ট অ্যারের সমস্ত উপাদানকে i এর জন্য 0 এ সেট করুন :=1 আকারে প্রতিটি সংখ্যার সংখ্যা বৃদ্ধি করে যা i :=1 থেকে সর্বাধিক ডো কাউন্ট[i] =কাউন্ট[i] + গণনা[i+1] // i এর জন্য করা ক্রমবর্ধমান ফ্রিকোয়েন্সি খুঁজুন :=সাইজ থেকে 1 কমতে 1 সংখ্যাটি সংরক্ষণ করুন আউটপুট অ্যারেতে গণনা হ্রাস করা হয়েছে 

উদাহরণ কোড

#include#include namespace ব্যবহার করে std;void display(int *array, int size) { for(int i =1; i<=size; i++) cout < max) max =array[i]; } সর্বোচ্চ রিটার্ন; // অ্যারে থেকে সর্বাধিক উপাদান} void countSort(int *array, int size) { int output[size+1]; int max =getMax(অ্যারে, আকার); int গণনা [সর্বোচ্চ+1]; (int i =0; i<=max; i++) গণনা[i] =0 এর জন্য কাউন্ট অ্যারে (সর্বোচ্চ+1 উপাদান সংখ্যা) তৈরি করুন; //সকল শূন্যের জন্য গণনা অ্যারে শুরু করুন //গণনা অ্যারে সংখ্যা সংখ্যা বৃদ্ধি. for(int i =1; i<=max; i++) count[i] +=count[i-1]; //এর জন্য ক্রমবর্ধমান ফ্রিকোয়েন্সি খুঁজুন (int i =size; i>=1; i--) { output[count[array[i]]] =array[i]; গণনা [অ্যারে[i]] -=1; //একই সংখ্যার জন্য গণনা হ্রাস করুন } for(int i =1; i<=size; i++) { array[i] =output[i]; //স্টোর আউটপুট অ্যারে থেকে মেইন অ্যারে }}int main() { int n; cout <<"উপাদানের সংখ্যা লিখুন:"; cin>> n; int arr[n+1]; //প্রদত্ত সংখ্যক উপাদান সহ একটি অ্যারে তৈরি করুন cout <<"এন্টার উপাদান:" <> arr[i]; } cout <<"বাছাই করার আগে অ্যারে:"; প্রদর্শন (arr, n); countSort(arr, n); cout <<"বাছাই করার পরে অ্যারে:"; প্রদর্শন(arr, n);}

আউটপুট

এলিমেন্টের সংখ্যা লিখুন:10এন্টার উপাদান:2 5 6 2 3 10 3 6 7 8 সাজানোর আগে অ্যারে:2 5 6 2 3 10 3 6 7 8 সাজানোর পরে অ্যারে:2 2 3 3 5 6 6 7 8 10 প্রাক> 
  1. রেডিক্স সাজানোর জন্য C++ প্রোগ্রাম

  2. সমান্তরাল অ্যারে বাস্তবায়নের জন্য C++ প্রোগ্রাম

  3. সাজানো অ্যারে বাস্তবায়নের জন্য C++ প্রোগ্রাম

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