Sıralama alqoritmləri-1 — Selection sort(Seçmə ilə sıralama)

Senan Mehdiyev
2 min readJul 9, 2022

--

Sıralama alqoritmləri kompüterimizdə və ya riyazi həllərdə massivi, listi — (riyazi deyişlə hər hansı çoxluğu)-un dəyərlərini, üzvlərini sıralayan alqoritmlərdir. Ən çox tətbiq edilən və geniş yayılmışlara bir-bir toxunaraq nümunələrlə izah edəcəm

Selection Sort(Seçmə ilə sıralama)

Bu alqoritmin işləmə məntiqi hər iterasiya(dövr)-də ən kiçik ədədi taparaq sıra ilə düzür. Əlbəttə tam tərsi olaraq ən kiçik deyil, ən böyüyü hər cəhddə yoxluyub düzməklə də etmək olar. Gəlin nümunəyə diqqət yetirərək daha aydın başa düşməyə çalışaq!

Alqoritm ilk olaraq 1-ci dəyərdən sonuncu dəyərə kimi hər birini yoxluyur və ən kiçiklə 1-ci dəyər yer dəyişdirir(swapping). Bu proses son dəyərə kimi davam edəcək. İkinci addımda 2-ci dəyərdən sonuncu dəyərə kimi yoxluyur və ən kiçiklə 2-ci dəyər yer dəyişdirir. Əgər yoxlama zamanı ən kiçik elə dəyərin özüdürsə heç-bir yerdəyişmə olmur, çünki yerinə keçəcək daha kiçik dəyər yoxdur. Beləcə hər addımda sıra ilə kiçikdən böyüyə tam düzülmüş hala daha da yaxınlaşır. Ən sonda artıq son dəyər də yoxlanışdan keçdikdən sonra çoxluq(list, massiv və b.) sıralanmış şəkildə hazır olur

Selection Sort Algorithm(Seçmə ilə sıralama alqoritmi) işləmə prinsipi
Selection Sort Algorithm(Seçmə ilə sıralama alqoritmi) işləmə prinsipi

Nümunə kod kimi bu alqoritmin python üçün yazdığıma baxa bilərsiz

Selection Sort Algorithm(Seçmə ilə sıralama) in Python
Selection Sort Algorithm(Seçmə ilə sıralama) in Python

Alqoritmlər barədə danışanda “Time Complexity” barədə də məlumat vermək önəmlidir ki, hansının nə qədər zamanda icra olunduğunu, ümumilikdə performans fərqlərini başa düşək(Selection Sort-un TC-ne cedvelde baxa bilersiz). Bu səbəblə sırf başqa məqalədə tam detallı “Big O Notation” haqqında məlumat verəcəm, həmin məqalə “Time Complexity”-nin sadə şəkildə nə olmasından, hesablanma üsuluna kimi və alqoritim seçiminə təsir edən “Space Complexity” kimi önəmli detalları əhatə edəcək, izləmədə qalın! :)

Time Complexity for Selection Sort Algorithm(Seçmə ilə sıralama)
Selection Sort Algorithm(Seçmə ilə sıralama) üçün Time Complexity

Məqaləni bəyəndinizsə və ya hər hansı fikriniz varsa postu bəyənməyiniz və rəy bildirməyinizdən məmnun olarıq. Təşəkkürlər!

--

--

Senan Mehdiyev

Self-motivated, ambitious to work, research, and develop in Data Science/ML/DL, have communicative skills, highly inspired to run with a competitive team