Python Seçerek Sıralama: Selection Sorting

Bu yazımda, Python “Seçerek Sıralama (Selection Sorting) algoritmasını konu alacağım. Seçerek Sıralama verilen listeyi küçükten büyüğe sıralamak için kullanacağız.

Selection Sorting özetle listedeki en küçük elemanı ilk sıraya, kalanlar arasından bir sonraki en küçük olanı da ikinci sıraya yerleştirir. Bu işlem son elemana kadar devam eder.

Bunu bir örnekle gösterelim;

Selection Sorting

Yapmak istediğimiz bir sonraki şey, ilk sıra için bir aday bulmaktır, bu aday öğe listedeki en küçük öğe olacaktır.

Python Seçerek Sıralama

Sonra bir sonraki öğeye geçiyoruz ve listenin ikinci sırası için ikinci en küçük öğei buluyoruz.

Selection Sorting

Sonra bir sonraki elemana geçiyoruz, bu işlemi listedeki en son elemana kadar tekrarlamaya devam edeceğiz ve sonunda sıralı bir dizi listesine sahip olacağız.

  • Bu işlemi kelimeler ile de yapabilirsiniz.

Selection Sorting Uygulama

İlk olarak, bir fonksiyon oluşturuyoruz. Daha sonrası için 2 döngüye ihtiyacımız olacak, dış döngü her bir elemanı birer birer artıracak ve sıralandıktan sonra onları yok sayacak ve iç döngü elemanları dış döngü ile karşılaştıracaktır.

def selection_sort(mylist):
    for i in range(len(mylist)):
        for j in range(i+1,len(mylist)):
            if mylist[i]>mylist[j]:
                mylist[i],mylist[j] = mylist[j],mylist[i]
    return mylist

Şimdi liste elemanlarını tanımlayalım.

if __name__ == '__main__':
    mylist = [77,64,95,24,65,21,43]
    print(selection_sort(mylist))

Şimdi hepsini tek bir kodda birleştirelim.

def selection_sort(mylist):
    for i in range(len(mylist)):
        for j in range(i+1,len(mylist)):
            if mylist[i]>mylist[j]:
                mylist[i],mylist[j] = mylist[j],mylist[i]

    return mylist
if __name__ == '__main__':
    mylist = [77,64,95,24,65,21,43]
    print(selection_sort(mylist))

Çıktı:

[21, 24, 43, 64, 65, 77, 95]

 

 

Yorum Yap