Merhaba arkadaşlar daha önce Kabarcık sıralama algoritmasını incelemiştik. Bu yazımızda da seçmeli sıralama(Selection Sort) algoritmasını ele alacağız.

Dedik ya seçme sıralama, sürekli en küçüğü seçiyor ve karşılaştırdığı sayı ile yer değiştiriyor. Daha sonra bunu ikinci. üçüncü diye devam ediyor ta ki dizi son bulana kadar. Hemen adım adım örneğini yapalım.

Dizimiz:  35 – 17 – 40 – 12 – 4 olsun

Adım 1) Sırayla hepsini gezer algoritma ve en küçük elemanı bulduğunda yani 4 onunla 0.indisde olan 35 yer değiştirir.

4 – 17 – 40 – 12 –35

Adım 2) Aslında ilk adımda en küçüğü dizimizin ilk elemanı oldu bu yüzden 17 ile ikinci en küçük değerin yerini değiştireceğiz.

4 – 12 – 40 – 17 – 35

Adım 3) Şimdi 2. indis için dönecek algoritmamız

4 – 12 – 1740 – 35

Adım 4) Şimdi 3.indis için dönüyoruz ve sıralanmış olacak..

4 – 12 – 17 – 3540

ve dizimiz sıralandı.

seçmeli sıralama animasyon

Hemen koduna geçecek olursak:

Seçmeli Sıralama C# Kodu

public static int[] SelectionSort(int[] A)
        {
            int tks; int min;
            for (int i = 0; i < (A.Length)-1; i++) 
            {
                min = i;
                for (int j = i; j < (A.Length); j++)
                {
                    if (A[j] < A[min])
                    {
                        min = j;

                    }
                }
                tks = A[i];
                A[i] = A[min];
                A[min] = tks;
            }
            return A;
        }

Bu kodun aynısını Java içinde çalıştırabilirsiniz.

seçme sıralama selection sort ekran çıktısı

Seçmeli Sıralama algoritması da kısa diziler için gayet başarılı bir algoritmadır. Fakat bir üniversitenin öğrencileri gibi büyük diziler de başarılı değildir. Çünkü sıralamak için her eleman için n-1 kere dolaşmaktadır bu da maliyeti artırmaktadır.

Umarım faydalı olmuştur.

Bunlara Göz Atmak İsteyebilirsiniz

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir