Selection Sort (Seçmə əməliyyatı ilə sıralama) algoritmi
-
Selection Sort — sadə, lakin effektiv olmayan sıralama alqoritmlərindən biridir. Bu alqoritm hər dəfə ən kiçik elementi taparaq onu düzülmüş hissənin əvvəlinə yerləşdirməklə işləyir.
Selection Sort necə işləyir?
Selection Sort alqoritmi massivi iki hissəyə ayırır:
Sıralanmış hissə (başlanğıcda boşdur)
Sıralanmamış hissə (bütün elementlər buradadır)
İşləmə prinsipi belədir:
1. Hər dövrədə (iteration) sıralanmamış hissədə ən kiçik elementi tapırıq.
2. Tapılan bu elementi sıralanmış hissənin əvvəlinə gətiririk.
3. Bu proses bütün massiv tam sıralanana qədər davam edir.
Selection Sort O(n²) zaman mürəkkəbliyinə malikdir, yəni böyük verilənlər üçün səmərəli deyil. Lakin asan başa düşülən və tətbiq edilən bir alqoritmdir.
Selection Sort Alqoritminin Addımları
1️⃣ Xarici dövr (for loop) ilə massivin üzərində gəzilir.
2️⃣ İlk elementi “ən kiçik” qəbul edirik.
3️⃣ Daxili dövrdə (for loop) qalan elementləri yoxlayırıq.
4️⃣ Daha kiçik element tapılarsa, onu yeni “minimum” kimi qəbul edirik.
5️⃣ Əgər yeni minimum tapılarsa, onu əvvəlki minimum ilə yer dəyişdiririk.
6️⃣ Bu prosesi bütün massiv üçün təkrarlayırıq.
Selection Sort alqoritminin JavaScript-də tətbiqi
Aşağıda Selection Sort-un JavaScript kodunu görə bilərsiniz:
const selectionSort = (arr) => { for (let i = 0; i < arr.length; i++) { let lowest = i; for (let j = i + 1; j < arr.length; j++) { if (arr[lowest] > arr[j]) { lowest = j; } } if (i !== lowest) { [arr[i], arr[lowest]] = [arr[lowest], arr[i]]; } } return arr; }
Necə işləyir?
lowest
dəyişəni başlanğıcdai
-nin dəyərinə bərabər edilir.
Daxili
for
dövrü iləi+1
-dən etibarən bütün elementlər yoxlanılır.
Əgər daha kiçik element tapılarsa,
lowest
dəyişənini yeniləyirik.
Dövr başa çatdıqdan sonra, ən kiçik element ilk elementlə yer dəyişdirilir.
Bu proses massivin bütün elementləri üçün təkrarlanır.
Nəticə
Selection Sort alqoritmi asan başa düşülən və tətbiq edilən bir sıralama üsuludur.
Böyük verilənlərdə səmərəli deyil (
O(n²)
zaman mürəkkəbliyi var).
Əsas üstünlüyü onun sadəliyi və az yaddaş istifadəsidir.
Bu alqoritm kiçik massivlər üçün asan və praktik həll ola bilər, lakin böyük verilənlər üçün Merge Sort və ya Quick Sort kimi daha səmərəli alqoritmlərdən istifadə etmək tövsiyə olunur.
İngilis dilində Jenny Selection Sortu bu videoda ən xırda məqamlarına kimi izah etməyə çalışır.
Bilik paylaşdıqca artan bir sərvətdir