Selection Sort Algoritm

Anar Məmmədov
4 min readNov 21, 2020

--

Seçməli Sıralama Alqoritması

Sıralama alqoritması nədir, necə işləyir və mahiyyəti nədən ibarətdir? Gəlin ilk öncə Selection Sort sıralama alqoritmasına keçid etməmişdən qabaq, sıralama alqoritmasının nə olduğunu anlamağa çalışaq.

Sıralama Alqoritması nədir?

Sıralama alqoritmaları kompüter elmləri sahəsində vacib əhəmiyyət kəsb edir. Sıralama alqoritmaları vasitəsilə hər hansı bir proqramda şəkillər, text fayllar, videolar, həcminə, ən təzə və ya ən köhnə xüsusiyyətlərinə görə sıralanırlar. Məsələn excell proqramında insanların adlarına görə, adlar eynidirsə soyadlarına görə sıralayır. Sıralama dedik də bu nəzərdə tutulur və həmin proqramların hamısında sıralama varsa, o sıralamalar sıralama alqoritması ilə işləyir. Ümumilikdə proqramlaşdırılmada sıralama alqoritması dedikdə bu nəzərdə tutulur. Bu məqalə də biz sıralama alqoritma prinsipini massivlər üzərində öyrənəcəyik və öyrəndiyiniz bu alqoritma çox rahat şəkildə beynivizdə yerləşəcəkdir.

Selection Sort(Seçməli Sıralama)

Selection Sort sıralama alqoritmalarından biridir. Dağınıq şəkil də olan elementləri sıralama xüsusiyyətinə malikdir. Lakin Selection Sort alqoritması çox da sürətli sıralama alqoritması sayılmır. Bizim bu gün Selection Sort alqoritması hər zamanki kimi massivlər üzərində tətbiq ediləcəkdir.

Fərz eləyin ki, sizin proqramınızda bir massiviniz vardır və o massivin içərisində elementlər vardır. Fərz eləyin ki, bu massivin elementləri aşağıdakı şəkildəki kimidir:

Şəkil-1.

Gəlin bu azalandan-artana doğru Selection Sort alqoritması üzərində tətbiq edək.

Selection Sort(Seçməli Sıralama) sıralama necə işləyir?

Selection Sort alqoritması hərdəfə minumumu tapmaqla sıralayır. Bu alqoritmaya minumum metodda deyirlər. Minumum metod deyilməsinə səbəb hərdəfə minumumu taparaq sıralama baş verir. Massivin əvvəlindən başlayır hərdəfə minumumu taparaq onu əvvələ gətirir, yəni yerləri dəyişdirilir. Məsələn birinci götürülür massivin ilk elementiilk elementə nəzərən hansı element massivdə minumumdursa, əvvəl götürülmüş minumumla yerləri dəyişdirilir.

Fərz eləyin ki, proqramınızda qarışığ elementlər olan massiv vardır.

Şəkil-2.
  1. Bunu gəlin azalandan-artana doğru sıralamasına baxaq. Necə sıralaya bilərik azalandan-artana doğru? Bu alqoritmada belə bir yanaşma vardır ki, massivin ilk elementi minumum olaraq götürülür. Götürülən birinci element minumum kimi qeyd olunur və daha sonra isə ona nəzərən massivdə hansı element minimumdursa yerləri dəyişdirilir. Bu proses belə baş verəcəkdir.
Şəkil-3.

Gördüyümüz kimi, ilk başlanğıcda təsadüfü olaraq massivin ilk elementi massivin mimumum elementi kimi qeyd olunmuşdu, lakin Selection Sort alqoritmasının işləməsindən sonra isə vəziyyət dəyişərək bu hala gətirib çıxartdı, deməli massivin ilk elementi minumum deyilmiş, biz artıq bilə-bilərik ki, massivin artıq ilk elementi massivin minumum elementidir.

2. 2-ci baş verəcək proses:Daha sonra isə, massivin növbəti elementi minumum kimi qeyd olunur və ona nəzərən massivdə hansı element minumumdursa tapılıb yerləri dəyişdirilir. Lakin şəkildən də görə bilərik ki, 3-ə nəzərən heç bir minumum element olmadığına görə 3 olduğu kimi yerində qalacaqdır, bu proses aşağıdakı şəkildəki kimi baş verəcəkdir.

Şəkil-4.

3. Daha sonra isə növbəti elementə nəzərən minumum tapılacaqdır və eyni qayda ilə işləyəcəkdir. Bu proses aşağıdakı şəkildəki kimi olacaqdır.

Şəkil-5.

Nəhayət sonda bu proses bu məntiqnən işləyə-işləyə hər bir element ardıcıllıq ilə öz yerlərini tapacaqdır. Bizim burada şəkillər vasitəsi ilə öyrənməyimizə səbəb orada baş verən proseslərin vizual olaraq beynimizdə canlanmasıdır.

Selection Sort(Seçməli Sıralama) Alqoritmasının kod tərəfindən yazılması.

Şəkil-6

Algoritmanın kod şəklində yazılış linki: https://pastebin.com/vU6hPDB9

Algoritmanın video dərsliyi: https://www.youtube.com/watch?v=DHLPjWZ5adM

Note:Bu kod C proqramlaşdırılma Dilində yazılmışdır, ona görə başa düşmüyə bilərsiniz.

--

--

Anar Məmmədov
Anar Məmmədov

Written by Anar Məmmədov

Java Backend Developer wondering RDBMS and processing of structure any technology that is related backend.

No responses yet