Python Brick 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 brick sort algoritmasını anlatacağım. Hadi başlayalım !
Table of Contents
Brick Sort Algoritması
Brick Sort algoritması, seçim sıralama algoritmasına dayanan ve zaman karmaşıklığı nlogn olan bir sıralama algoritmasıdır. Bu algoritma, bir çiftleme işlemi yaparak bir diziyi sıralar. Burada, birinci eleman, ikinci elemanla karşılaştırılır ve eğer ters sıralıysa yer değiştirilir. Daha sonra, ikinci eleman, üçüncü elemanla karşılaştırılır ve bu işlem dizinin sonuna kadar devam eder. Sonra, bu işlem, sondan başa doğru tekrarlanır.
Python Kodu
Aşağıda, Python kod örnekleriyle Brick Sort algoritması hakkında daha fazla bilgi edinebilirsiniz.
def brick_sort(arr):
n = len(arr)
flag = True
while flag:
flag = False
for i in range(1, n-1, 2):
if arr[i] > arr[i+1]:
arr[i], arr[i+1] = arr[i+1], arr[i]
flag = True
for i in range(0, n-1, 2):
if arr[i] > arr[i+1]:
arr[i], arr[i+1] = arr[i+1], arr[i]
flag = True
return arr
Kod Açıklamaları
Yukarıdaki kod, Brick Sort algoritmasını uygulamak için bir fonksiyon içerir. Fonksiyon, sıralanacak diziyi parametre olarak alır ve sıralanmış bir dizi olarak geri döndürür.
Bu fonksiyon, bir “flag” değişkeni kullanarak sıralama işleminin tamamlandığını kontrol eder. İşlem tamamlandığında, flag değişkeni False olacak ve döngü sonlanacak.
İlk olarak, for döngüsü 1’den n-1’e kadar, adımları 2’şer arttırarak dizi elemanlarını çiftler halinde karşılaştırır. Eğer bir çift ters sıralıysa, elemanları yer değiştirir ve flag değişkenini True yapar.
Daha sonra, for döngüsü 0’dan n-2’ye kadar, adımları 2’şer arttırarak dizi elemanlarını çiftler halinde karşılaştırır. Eğer bir çift ters sıralıysa, elemanları yer değiştirir ve flag değişkenini True yapar.
Bu işlem, flag değişkeni False olduğu sürece yani dizi tamamen sıralanana kadar tekrarlanır.
Evet Python ile brick 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.