Python Bitonic 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 bitonic sort algoritmasını anlatacağım. Hadi başlayalım !
Table of Contents
Bitonic Sort Algoritması
Bitonic sort algoritması, paralel işlemcilerde veya grafik işlemcilerde sıralama yapmak için kullanılan bir algoritmadır. Bu algoritma, merge sort algoritması gibi, birbirine bitişik iki alt dizideki elemanları karşılaştırarak sıralama işlemini gerçekleştirir.
Bitonic sort algoritması, adını bitonik dizilerden almaktadır. Bitonik diziler, önce artan sonra da azalan bir sıraya sahip olan dizilerdir. Bu nedenle, bitonic sort algoritması, önce elemanları artan bir sıraya göre sıralar ve daha sonra elemanları azalan bir sıraya göre sıralar.
Python Kodu
Python programlama dili ile bitonic sort algoritması aşağıdaki gibi uygulanabilir:
def bitonic_sort(arr, up):
if len(arr) <= 1:
return arr
else:
mid = len(arr) // 2
left = bitonic_sort(arr[:mid], True)
right = bitonic_sort(arr[mid:], False)
return merge(left + right, up)
def merge(arr, up):
if len(arr) <= 1:
return arr
else:
bitonic_compare(arr, up)
mid = len(arr) // 2
left = merge(arr[:mid], up)
right = merge(arr[mid:], up)
return left + right
def bitonic_compare(arr, up):
dist = len(arr) // 2
for i in range(dist):
if (arr[i] > arr[i + dist]) == up:
arr[i], arr[i + dist] = arr[i + dist], arr[i]
Kod Açıklamaları
Yukarıdaki kod, bir bitonic_sort fonksiyonu, bir merge fonksiyonu ve bir bitonic_compare fonksiyonu içermektedir.
bitonic_sort fonksiyonu, özyinelemeli bir şekilde çalışarak, önce elemanları artan bir sıraya göre sıralar ve daha sonra elemanları azalan bir sıraya göre sıralar. Fonksiyon, up parametresi ile artan veya azalan sıralama işlemini belirler.
merge fonksiyonu, özyinelemeli bir şekilde çalışarak, alt dizileri birleştirir ve bitonic sıralama işlemini tamamlar. Fonksiyon, up parametresi ile artan veya azalan sıralama işlemini belirler.
bitonic_compare fonksiyonu, bitonic sıralama işlemi için elemanları karşılaştırır ve gerekirse yer değiştirir.
Bu örnek kod, aşağıdaki gibi kullanılabilir:
arr = [3, 7, 4, 8, 6, 2, 1, 5]
print("Unsorted array:", arr)
arr = bitonic_sort(arr, True)
print("Sorted array:", arr)
Yukarıdaki kod, bir dizi oluşturur ve bitonic_sort fonksiyonunu kullanarak bitonic sıralama işlemi gerçekleştirir. Sonuç olarak, aşağıdaki gibi bir çıktı üretir:
Unsorted array: [3, 7, 4, 8, 6, 2, 1, 5]
Sorted array: [1, 2, 3, 4, 5, 6, 7, 8]
Sonuç
Bitonic sort algoritması, paralel işlemcilerde veya grafik işlemcilerde sıralama yapmak için kullanılan etkili bir algoritmadır. Python gibi birçok programlama dili ile kolayca uygulanabilir. Yukarıdaki örnek kodu kullanarak, bitonic sıralama işlemi gerçekleştirebilir ve sıralanmış bir dizi elde edebilirsiniz.
Evet Python ile bitonic 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.