কম্পিউটার টিউটোরিয়াল

ইনসারশন সোর্ট (Insertion Sort)

ইনসারশন সোর্ট কার্ড সোর্টিং টেকনিকের মতো। আমরা ডেটাসেট থেকে একটা এলিমেন্ট পিক করি এবং বাকি এলিমেন্টগুলো শিফট করে সেটার জন্য জায়গা বানাই, তারপর পিক করা এলিমেন্টটি সঠিক জায়গায় ইনসার্ট করি।

ইনসারশন সোর্টের জটিলতা

  • টাইম কমপ্লেক্সিটি: বেস্ট কেস O(n), এভারেজ ও ওয়ার্স্ট কেস O(n²)
  • স্পেস কমপ্লেক্সিটি: O(1)

ইনপুট এবং আউটপুট

Input: The unsorted list: 9 45 23 71 80 55
Output: Array before Sorting: 9 45 23 71 80 55
        Array after Sorting: 9 23 45 55 71 80

অ্যালগরিদম

insertionSort(array, size)
Input: ডেটার অ্যারে, মোট এলিমেন্ট
Output: সর্ট করা অ্যারে

Begin
    for i := 1 to size-1 do
        key := array[i]
        j := i
        while j > 0 AND array[j-1] > key do
            array[j] := array[j-1]
            j := j - 1
        done
        array[j] := key
    done
End

C++ উদাহরণ

#include <iostream>
using namespace std;

void display(int *array, int size) {
    for(int i = 0; i < size; i++) cout << array[i] << " ";
    cout << endl;
}

void insertionSort(int *array, int size) {
    int key, j;
    for(int i = 1; i < size; i++) {
        key = array[i];
        j = i;
        while(j > 0 && array[j-1] > key) {
            array[j] = array[j-1];
            j--;
        }
        array[j] = key;
    }
}

int main() {
    int n; cout << "Enter the number of elements: "; cin >> n;
    int arr[n];
    cout << "Enter elements:" << endl;
    for(int i = 0; i < n; i++) cin >> arr[i];
    cout << "Array before Sorting: "; display(arr, n);
    insertionSort(arr, n);
    cout << "Array after Sorting: "; display(arr, n);
}

আউটপুট

Enter the number of elements: 6
Enter elements: 9 45 23 71 80 55
Array before Sorting: 9 45 23 71 80 55
Array after Sorting: 9 23 45 55 71 80
  1. জাভাস্ক্রিপ্টে Array.prototype.sort() মেথড

  2. পাইথনে ইনসারশন সর্ট প্রোগ্রাম

  3. পাইথন প্রোগ্রাম: ইনসারশন সোর্ট অ্যালগরিদম

  4. রুবি দিয়ে ইন্সারশন সর্টিং দক্ষতা অর্জন: ধাপে ধাপে গাইড