Pixel Sıralama Videoları

Geçen gün Python ile tersine erime efekti yazısını gördüm. Yaptığı şey çok hoşuma gitti, ben de özendim, o tarz birşey yapayım dedim. Tam olarak ne yapsam diye düşünürken, aklıma sorting algoritmaları geldi. Sort algoritmalarını bir resim üzerinde uygulasam ve ara adımlardan bir video oluştursam ilginç olabilir diye düşündüm, ve çeşitli sıralama algoritmaları ile birkaç video hazırladım. Buyurun bakalım, umarım beğenirsiniz:

Uyarı: Videoların süreleri algoritmaların çalışma hızını göstermez.

Uyarı 2: Aşağıdaki Python algoritmaları sadece algoritmayı açıklamak için konmuştur, Python'da listeleri sıralamak için sorted veya liste.sort kullanın.

Insertion Sort (Eklemeli Sıralama)

Algoritma

for i in range(1,len(liste)):
    for k in range(i,0,-1):
        if liste[k] < liste[k-1]:
            liste[k], liste[k-1] = liste[k-1], liste[k]
        else:
            break

Selection Sort (Seçmeli Sıralama)

Algoritma

for i in range(len(liste)-1):
    minelem = min(liste[i+1:])
    minindex = liste.index(minelem)
    liste[i], liste[minindex] = liste[minindex], liste[i]

Bubble Sort (Kabarcık Sıralaması)

Algoritma

while True:
    swapped = False
    for i in range (1,len(liste)):
        if liste[i-1] > liste[i]:
            liste[i-1], liste[i] = liste[i], liste[i-1]
            swapped = True
    if not swapped:
        break

Merge Sort (Birleştirmeli sıralama)

Algoritma

Listeyi ortadan böl, iki parçayı recursive olarak sort et. Sonra sort edilmiş parçaları iç içe geçirerek sıralı biçimde birleşir.

Quick Sort (Hızlı Sıralama)

Algoritma

Listeden bir eleman seç, o elemandan küçükleri bir listeye, büyükleri başka listeye kopyala, bu listeleri recursive olarak sırala, sonra bu iki kısmı birleştir.

Bunları hazırlarken yazdığım kodlara her zamanki gibi gist üzerinden ulaşabilirsiniz.