Seçim Sıralaması Nasıl Kullanılır

Seçim Sıralaması Nasıl Kullanılır

Seçimli sıralama, bir liste öğesini seçen ve ardından onun yerini başka bir öğeyle değiştiren bir sıralama tekniğidir. En büyük öğeyi seçer ve ardından onu listenin en yüksek dizinindeki bir öğeyle değiştirir.





Algoritma, liste sıralanana kadar bunu tekrar tekrar yapar. Seçimli sıralamanın nasıl çalıştığından tam olarak emin değilseniz doğru yere geldiniz. Aşağıda size bir örnek göstererek daha derinlemesine açıklayacağız.





Seçim Sıralaması: Yakından Bakış

Diyelim ki listeniz var: [39, 82, 2, 51, 30, 42, 7]. Listeyi seçim sıralamasını kullanarak sıralamak için önce listedeki en yüksek sayıyı bulmanız gerekir.





Verilen liste ile bu sayı 82'dir. 82'yi en yüksek dizindeki (yani 7) sayı ile değiştirin.

İlk geçişten sonra yeni liste sırası şöyle olacaktır: [39, 7, 2, 51, 30, 42, 82]. Algoritma tüm listeden her geçtiğinde buna 'geçti' denir.



Sıralama işlemi sırasında listenin sıralanmış bir alt liste ve sıralanmamış bir alt liste tuttuğuna dikkat edin.

yüzde 100 Windows 10'da çalışan sabit sürücü

İlgili: Big-O Notasyonu Nedir?





Orijinal liste, sıralanmış bir sıfır öğe listesi ve tüm öğelerin sıralanmamış bir listesi ile başlar. Ardından, ilk geçişten sonra, yalnızca 82 numaralı sıralanmış bir listeye sahiptir.

İkinci geçişte, sıralanmamış alt listedeki en yüksek sayı 51 olacaktır. Bu sayı, aşağıdaki yeni liste sırasını vermek için 42 ile değiştirilecektir:





iphone konuşma nasıl kaydedilir

[39, 7, 2, 42, 30, 51, 82].

Tüm liste sıralanana kadar işlem tekrarlanır. Aşağıdaki şekil tüm süreci özetlemektedir:

Koyu siyah sayılar o andaki en yüksek liste değerini gösterir. Yeşil olanlar sıralanmış alt listeyi gösterir.

Algoritma Analizi

Bu algoritmanın karmaşıklığını (Big-O notasyonunu kullanarak) elde etmek için aşağıdaki adımları izleyin:

İlk geçişte (n-1) karşılaştırmaları yapılır. İkinci geçişte, (n-2). Üçüncü geçişte, (n-3) ve sadece bir karşılaştırma yapan (n-1)'inci geçişe kadar böyle devam eder.

Karşılaştırmaları aşağıdaki gibi özetlemek şunları verir:

(n-1)+ (n-1)+ (n-1)+...+1 = ((n-1)n)/2.

Bu nedenle seçim sıralaması O(n2).

Kod Uygulaması

Kod, Python ve Java kullanarak seçim sıralaması yapmak için kullanabileceğiniz işlevleri gösterir.

Python:

def selectionSort(mylist):
for x in range(len(mylist) - 1, 0, -1):
max_idx = 0
for posn in range(1, x + 1):
if mylist[posn] > mylist[max_idx]:
max_idx = posn
temp = mylist[x]
mylist[x] = mylist[max_idx]
mylist[max_idx] = temp

Java:

void selectionSort(int my_array[]){
for (int x = 0; x {
int index = x;
for (int y = x + 1; y if (my_array[y] index = y; // find lowest index
}
}
int temp = my_array[index]; // temp is a temporary storage
my_array[index] = my_array[x];
my_array[x] = temp;
}}

Seçim Sıralamasından Birleştirme Sıralamasına Geçiş

Yukarıdaki algoritma analizinin gösterdiği gibi, seçim sıralama algoritması O(n2). Üstel bir karmaşıklığa sahiptir ve bu nedenle çok büyük veri kümeleri için verimsizdir.

Windows 10 100 disk kullanım sistemi

Kullanılacak çok daha iyi bir algoritma, O(nlogn) karmaşıklığına sahip birleştirme sıralaması olacaktır. Ve artık seçimle sıralamanın nasıl çalıştığını biliyorsunuz, sıralama algoritmaları için çalışma listenizin bir sonraki adımı birleştirme sıralaması olmalıdır.

Paylaş Paylaş Cıvıldamak E-posta Ücretsiz Sesli Kitap İndirmek için En İyi 8 Web Sitesi

Sesli kitaplar harika bir eğlence kaynağıdır ve sindirimi çok daha kolaydır. İşte onları ücretsiz olarak indirebileceğiniz en iyi sekiz web sitesi.

Sonrakini Oku
İlgili konular
  • Programlama
  • Programlama
  • algoritmalar
Yazar hakkında Jerome Davidson(22 Makale Yayımlandı)

Jerome, MakeUseOf'ta Personel Yazarıdır. Programlama ve Linux ile ilgili makaleleri kapsar. Aynı zamanda bir kripto meraklısı ve kripto endüstrisini her zaman takip ediyor.

Jerome Davidson'dan Daha Fazla

Haber bültenimize abone ol

Teknik ipuçları, incelemeler, ücretsiz e-kitaplar ve özel fırsatlar için bültenimize katılın!

Abone olmak için buraya tıklayın