Daxil etmə çeşidləmə alqoritmindən istifadə edərək verilmiş çeşidlənməmiş massivi sırala.
Input: 9,5,1,6,11,8,4 {}
Çıxış: 1,4,5,6,8,9,11 {}
Mündəricat
nəzəriyyə
- Yerləşdirmə Sıralama, biz insanlar bir sıra nömrəli obyektləri (əvvəlki kartlar) sıraladığımız kimi nömrələri də eyni şəkildə sıralayır.
- Sayı çeşidlənməmiş massivdən (sağ alt sıra) sıralanmış massivdəki mövqeyə (sol subarray) götürülür ki, sol alt sıra sıralanmış qalsın.
- Bu artan yanaşma əsaslı bir üsuldur.
Insertion Sort alqoritmi
- Sıralanmamış bir sıra içərisindəki ilk elementi seçin / qeyd edin, sıralanmış massivdə düzgün mövqeyə keçirin.
- İşarəni sıralanmamış bir sıra içərisindəki növbəti elementə keçir.
C ++ Proqramı
#include <iostream> using namespace std; void insertSort(int arr[],int n) { int i,j,save; for(int i=1;i<n;i++) { j = i-1; save = arr[i]; // look for correct position of arr[i] while(j>=0 && arr[j] > save) { // shifting array elements towards the right arr[j+1] = arr[j]; j--; } // place arr[i] at the correct position arr[j+1] = save; } } int main() { int arr[] = {9,5,1,6,11,8,4}; int n = sizeof(arr)/sizeof(arr[0]); insertSort(arr,n); for(int i=0;i<n;i++) cout<<arr[i]<<" "; return 0; }
Buraxılış
1 4 5 6 8 9 11
Java Proqramı
class iSort { static void insertSort(int arr[]) { int n = arr.length; int i,j,save; for(i=1;i<n;i++) { j = i-1; save = arr[i]; // look for correct position of arr[i] while(j >= 0 && arr[j] > save) { // shifting array elements towards the right arr[j+1] = arr[j]; j--; } // place arr[i] at the correct position arr[j+1] = save; } } public static void main(String args[]) { int arr[] = {9,5,1,6,11,8,4}; insertSort(arr); for(int i=0;i<arr.length;i++) System.out.print(arr[i] +" "); } }
Buraxılış
1 4 5 6 8 9 11
Mürəkkəblik təhlili
- Zamanın mürəkkəbliyi: T (n) = O (n2)
- O (n2) bir sıra tərs sıralanan vaxt və O (n) sıra sıralanan zaman.
- Kosmik Mürəkkəblik: A (n) = O (1)
Əlavə məlumat
- Insertion Sort yerində çeşidləmə alqoritmidir.
- Bu sabit bir təbiətdir.
- Insertion Sort giriş massivi demək olar ki, çeşidləndikdə faydalıdır, yalnız bir neçə element natamam böyük massivin yerində yerləşdirilir.
- Sıralanacaq massivin ölçüsü daha kiçik olduqda da faydalıdır.