কম্পিউটার

জিনোম সাজানোর জন্য সি++ প্রোগ্রাম?


এখানে আমরা দেখব কিভাবে জিনোম সর্ট কাজ করে। এটি আরেকটি সাজানোর অ্যালগরিদম। এই পদ্ধতিতে তালিকাটি ইতিমধ্যে সাজানো থাকলে এটি O(n) সময় নেবে। তাই সেরা ক্ষেত্রে সময় জটিলতা হল O(n)। কিন্তু গড় কেস এবং সবচেয়ে খারাপ কেস জটিলতা হল O(n^2)। এখন এই বাছাই কৌশল সম্পর্কে ধারণা পেতে অ্যালগরিদম দেখি।

অ্যালগরিদম

gnomeSort(arr, n)

begin
   index := 0
   while index < n, do
      if index is 0, then
         index := index + 1
      end if
      if arr[index] >= arr[index -1], then
         index := index + 1
      else
         exchange arr[index] and arr[index - 1]
         index := index - 1
      end if
   done
end

উদাহরণ

#include<iostream>
using namespace std;
void gnomeSort(int arr[], int n){
   int index = 0;
   while(index < n){
      if(index == 0) index++;
      if(arr[index] >= arr[index - 1]){ //if the element is greater than previous one
         index++;
      } else {
         swap(arr[index], arr[index - 1]);
         index--;
      }
   }
}
main() {
   int data[] = {54, 74, 98, 154, 98, 32, 20, 13, 35, 40};
   int n = sizeof(data)/sizeof(data[0]);
   cout << "Sorted Sequence ";
   gnomeSort(data, n);
   for(int i = 0; i <n;i++){
      cout << data[i] << " ";
   }
}

আউটপুট

Sorted Sequence 13 20 32 35 40 54 74 98 98 154

  1. দ্বিখণ্ডন পদ্ধতির জন্য C++ প্রোগ্রাম

  2. C++ এ পিরামিডের আয়তনের জন্য প্রোগ্রাম

  3. QuickSort-এর জন্য C++ প্রোগ্রাম?

  4. জিনোম সাজানোর জন্য পাইথন প্রোগ্রাম