Python

Python American Flag Sort Algoritması

Herkese merhaba, Python yazılarımıza kaldığımız yerden devam ediyoruz. Bu yazımızda sıralama algoritmalarından biri olan American Flag Sort Algoritması’nı anlatacağım. Hadi başlayalım !

American Flag Sort Algoritmasu

American flag sort, verileri belirli bir sıraya göre sıralamak için kullanılan bir sıralama algoritmasıdır. Bu algoritma, özellikle birçok küçük sayıyı sıralamak için oldukça etkilidir ve büyük sayılarla da çalışabilir.

American flag sort algoritmasının çalışma mantığı, verileri rakamlarına göre bölerek birden çok yığın oluşturmasıdır. Bu yığınlar, sıralama işlemi tamamlandıktan sonra birleştirilir. Aşağıda, Python kodları ile birlikte American flag sort algoritmasının nasıl uygulandığını açıklamaya çalışacağım.

Python Kodu

İlk olarak, verileri sıralamak için bir Python fonksiyonu oluşturacağız. Bu fonksiyon, bir liste parametresi alacak ve listenin sıralanmış bir kopyasını döndürecek. American flag sort algoritması, orijinal listeyi değiştirmez.

def american_flag_sort(arr):
    # verilerin minimum ve maksimum değerlerini bul
    min_val, max_val = min(arr), max(arr)
    # yığınların boyutunu belirle
    bucket_range = (max_val - min_val) // len(arr) + 1
    # boş yığınlardan oluşan bir liste oluştur
    buckets = [[] for _ in range(bucket_range)]
    # verileri yığınlara yerleştir
    for num in arr:
        buckets[(num - min_val) // bucket_range].append(num)
    # yığınlardaki verileri sırala
    for i in range(bucket_range):
        buckets[i].sort()
    # sıralanmış verileri birleştir
    sorted_arr = []
    for bucket in buckets:
        sorted_arr += bucket
    return sorted_arr

Yukarıdaki kodda, önce verilerin minimum ve maksimum değerleri bulunur. Ardından, yığınların boyutu hesaplanır ve boş yığınlar oluşturulur. Veriler, yığınlara yerleştirilir ve yığınlar sıralanır. Son olarak, sıralanmış veriler birleştirilir ve sıralanmış liste döndürülür.

Test Etme

Bu fonksiyonu kullanarak, birkaç örnek giriş için sıralama işlemini test edebiliriz:

print(american_flag_sort([5, 2, 8, 3, 6, 1, 9, 4, 7])) # [1, 2, 3, 4, 5, 6, 7, 8, 9]
print(american_flag_sort([3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5])) # [1, 1, 2, 3, 3, 4, 5, 5, 5, 6, 9]
print(american_flag_sort([1, 2, 3, 4, 5])) # [1, 2, 3, 4, 5]

Sonuç

Yukarıdaki kodlarla, American flag sort algoritmasının Python’da nasıl uygulanabileceğini ve nasıl çalıştığını öğrenebilirsiniz. Bu algoritma, diğer sıralama algoritmalarından daha hızlı ve etkilidir. Ancak, veri kümesinin boyutuna bağlı olarak performansı değişebilir. Daha büyük veri kümeleri için, diğer sıralama algoritmaları tercih edilebilir.

Evet Python’da American Flag Sort Algoritması bu şekilde yazılmakta. Tüm Python yazılarımıza buraya, diğer sıralama algoritmaları ile ilgili yazılarımıza buraya tıklayarak ulaşabilirsiniz. Herkese hayırlı günler.

Skorumuz:
Oy Vermek İçin Tıklayın
[Toplam: 0 Ortalama: 0]

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Başa dön tuşu