<strong>Sıralama:</strong>

Elementləri artan və ya azalan qaydada düzmək Sıralama adlanır. Çeşidləmə texnikası geniş şəkildə ikiyə bölünür.

  1. Daxili çeşidləmə və
  2. Xarici Sıralama.

1. Daxili Sıralama: Sıralanacaqbütün qeydlər əsas yaddaşdadır.

2. Xarici Sıralama: Əsas yaddaşda yerinə yetirilməyən və diskdə və ya lentdə edilməli olan bəzi növlər. Bu növ çeşidləmə Xarici Sıralama olaraq bilinir.

Səmərəlilik: Sıralama alqoritmlərinin əsas problemlərindən biri onun səmərəliliyidir. Qeydləri səmərəli şəkildə sıralaya bilsək, bu sıralama alqoritminə dəyər qatar. Adətən alqoritmin vaxtın mürəkkəbliyi baxımından səmərəliliyini ifadə edirik. Zaman mürəkkəbliyi böyük-oh işarəsi baxımından verilir.

Ümumiyyətlə, müxtəlif alqoritmlər üçün O (n2) və O (n log n) zaman mürəkkəbliyi mövcuddur. Tez sıralama ən sürətli alqoritmdir və baloncuk sıralaması ən yavaşdır.

Sıralama metodu - - - - - - - - - - - - - - -Effektivlik

Baloncuk çeşidi/Seçim çeşidi/Daxil sıralama - - - - 0 (n2)

Tez / Birləşdir - - - - - - - - - - - - - - - 0 (n giriş n)

Daxil Sıralama Alqoritmi:

Əlavə Sıralaması:Əlavə sıralaması, əlinizdəki oyun kartlarını necə sıraladığınıza bənzəyən sadə bir sıralama alqoritmidir. Array faktiki olaraq sıralanmış və sıralanmamış bir hissəyə bölünür. Sıralanmamış hissənin dəyərləri seçilir və sıralanmış hissədə düzgün mövqedə yerləşdirilir.

Alqoritm

n ölçülü bir sıra artan sıraya görə sıralamaq üçün:

1: array [1] -dən arr [n] -ə qədər təkrarlayın.

2: Mövcud elementi (açarı) sələfi ilə müqayisə edin.

3: Əsas element sələfindən daha kiçikdirsə, onu əvvəlki elementlərlə müqayisə edin. Əvəz edilmiş element üçün yer açmaq üçün daha böyük elementləri bir mövqe yuxarı hərəkət etdirin.

InsertionSort -un vaxt mürəkkəbliyi

Ən Yaxşı Vəziyyət:O (n)#Means serialı artıq sıralanmışdır.

Orta Vəziyyət:O (n²)#Təsadüfi ədədləri olan massiv deməkdir.

Ən Pis Vəziyyət: O (n²)#Azalan sıraya malik sıra deməkdir.

Misal:

Aşağıdakı ədədləri Əlavə sıralama mexanizmindən istifadə edərək sıralayaq,

12, 11, 13, 5, 15

İ = 1 (dizinin ikinci elementi) 4 -ə (serialın son elementi) döngə edək.

i = 1. 11 12 -dən kiçik olduğundan, 12 -ni hərəkət etdirin və 11 -i 12 -dən əvvəl

11, 12, 13, 5, 15 -ə daxil edin

i = 2. 13 öz mövqeyində qalacaq, çünki A [0..I-1] dəki bütün elementlər 13

11, 12, 13, 5, 15- dən kiçikdir

i = 3. 5 əvvələ keçəcək və 11 -dən 13 -ə qədər olan bütün digər elementlər indiki mövqelərindən bir mövqe irəli gedəcəklər.

5, 11, 12, 13, 15

i = 4. 15, 5 -ci mövqedə olacaq, çünki bütün elementlər 15 -dən kiçikdir.

5, 11, 12, 13,15

İcra

Çıxış:

Seçim Sıralama Alqoritmi

Seçim Sıralaması:Seçim sıralama alqoritmi, sıralanmamış hissədən minimum elementi (artan əmri nəzərə alaraq) dəfələrlə taparaq başında qoyaraq bir sıra sıralayır. Alqoritm müəyyən bir cərgədə iki alt cərgəni saxlayır.

1) Artıq sıralanmış alt sıra.

2) Qalan subarray sıralanmamışdır.

Seçim növünün hər bir iterasiyasında, çeşidlənməmiş subarraydan minimum element (artan əmr nəzərə alınmaqla) seçilir və sıralanmış alt sıraya köçürülür.

InsertionSort -un vaxt mürəkkəbliyi

Ən Yaxşı Vəziyyət:O (n²) #Vasitələr massivi artıq sıralanmışdır.

Orta Vəziyyət:O (n²)#Təsadüfi ədədləri olan massiv deməkdir.

Ən Pis Vəziyyət: O (n²)#Azalan sıraya malik sıra deməkdir.

Aşağıdakı nümunə yuxarıdakı addımları izah edir:

İcra:

Çıxış:

Sürətli Sıralama Alqoritmi:

Sürətli Sıralama:Bu ən yaxşı çeşidli texnikadır. QuickSort, Böl və Fəth alqoritmidir. Pivot olaraq bir element seçir və verilən massivi seçilmiş pivot ətrafında bölür. QuickSort -un fərqli yollarla pivot seçən bir çox fərqli versiyası var.

  1. Həmişə pivot olaraq birinci elementi seçin.
  2. Həmişə pivot olaraq son elementi seçin
  3. Pivot olaraq təsadüfi bir element seçin.
  4. Pivot olaraq medianı seçin.

Zaman mürəkkəbliyi:

Ən Yaxşı Vəziyyət: O (nlogn)#Means serialı artıq sıralanmışdır.

Orta Vəziyyət: O (nlogn)#Təsadüfi ədədləri olan massiv deməkdir.

Ən Pis Vəziyyət: O (n^2)#Azalan sıraya malik massiv deməkdir.

Alqoritm:

  1. Aşağıdakı tətbiq olunan kodda ilk element pivot olaraq qəbul edilir.
  2. Sonra pivotdan bir tərəfə və pivotdan daha böyük olan bütün elementləri digər tərəfə köçürməliyik.
  3. Elementləri>pivotu və elementləri

İcra:

Çıxış:

Birləşdirmə Alqoritmi:

Birləşdirmə Sıralaması:Ən yaxşı çeşidləmə texnikasından biridir. Əgər n dəyər böyükdürsə, böl və qalib gəlmə yanaşmasını izləyir.

QuickSort kimi, Merge Sort da Böl və Fəth alqoritmidir. Giriş dizisini iki yarıya bölür, özünü iki yarıya çağırır və sonra iki sıralanmış yarını birləşdirir. Merge () funksiyasıiki yarıyı birləşdirmək üçün istifadə olunur.

Zaman mürəkkəbliyi:

Ən Yaxşı Vəziyyət: O (nlogn)#Means serialı artıq sıralanmışdır.

Orta Vəziyyət: O (nlogn)#Təsadüfi ədədləri olan massiv deməkdir.

Ən pis hal: O (nlogn)#Azalan sıraya malik serial deməkdir.

Alqoritm:

Misal:

16,75,19,12,33,2,310,45,54 elementlərindən ibarət bir sıra götürək

İcra:

Çıxış:

Baloncuk Sıralaması:

Bubble sort adlı tanınmış bir alqoritmi anlamaq asandır. Yəqin ki, bu, ən az səmərəlidir. Baloncuk sıralamasının altında yatan əsas fikir, bir neçə dəfə soldan sağa keçməkdir. Hər keçid, sıradakı hər bir elementi öz varisi ilə müqayisə etməkdən və düzgün qaydada olmadıqda iki elementi dəyişdirməkdən ibarətdir. Hər keçidin sonunda siyahının ən böyük elementinin son mövqeyinə keçirildiyini müşahidə edə bilərik.