Python Cocktail 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 cocktail sort algoritmasını anlatacağım. Hadi başlayalım !
Table of Contents
Cocktail Sort Algoritması
Cocktail Sort, adını bir kokteyl karışımı olan “Cocktail”den alan, bir sıralama algoritmasıdır. Diğer adı Shaker Sort olan bu algoritma, Selection Sort ve Bubble Sort algoritmalarına benzer bir şekilde çalışır. Ancak, Bubble Sort gibi her zaman aynı yönde ilerlemez, aynı zamanda ileriye ve geriye doğru geçişler yaparak daha verimli bir sıralama sağlar.
Python Kodu
Python programlama dili, Cocktail Sort algoritmasını yazmak için oldukça uygun bir dil olarak kabul edilir. İşte Cocktail Sort algoritmasını Python ile nasıl uygulayabileceğinize dair bir örnek:
def cocktailSort(arr):
n = len(arr)
swapped = True
start = 0
end = n - 1
while (swapped == True):
swapped = False
for i in range (start, end):
if (arr[i] > arr[i + 1]) :
arr[i], arr[i + 1] = arr[i + 1], arr[i]
swapped = True
if swapped == False:
break
swapped = False
end = end-1
for i in range(end-1, start-1, -1):
if arr[i] > arr[i + 1]:
arr[i], arr[i + 1] = arr[i + 1], arr[i]
swapped = True
start = start + 1
arr = [64, 34, 25, 12, 22, 11, 90]
cocktailSort(arr)
print("Sorted array is:")
for i in range(len(arr)):
print ("%d" %arr[i])
Yukarıdaki örnek kod, Python’da Cocktail Sort algoritmasının nasıl uygulanacağını göstermektedir. Bu örnek, bir dizi içindeki elemanları küçükten büyüğe doğru sıralamaktadır. İlk olarak, sıralanacak dizi belirlenir. Daha sonra, dizi içinde eleman sayısı hesaplanır ve sıralama için gerekli değişkenler tanımlanır.
Kod Açıklamaları
Sıralama işlemi, bir dizi üzerindeki tarama işlemi ile başlar. Sıralama işlemi, ileriye ve geriye doğru geçişler yaparak sıralamayı gerçekleştirir. İlk olarak, dizinin başından sonuna doğru tarar ve her elemanın ardındaki elemanın küçük olduğundan emin olur. Daha sonra, son elemandan başlayarak dizinin başına doğru tarar ve her elemanın öncesindeki elemanın büyük olduğundan emin olur. Bu işlem, sıralama işlemi tamamlanana kadar tekrarlanır.
Yukarıdaki örnekte, sıralanacak dizi [64, 34, 25, 12, 22, 11, 90] olarak belirlenir. Sıralanmış dizi ise [11, 12, 22, 25, 34, 64, 90] şeklindedir.
Cocktail Sort algoritması, özellikle orta büyüklükteki dizilerde Bubble Sort’a göre daha verimli bir performans sergiler. Bunun nedeni, Bubble Sort’ta bir elemanın doğru konuma taşınması için en fazla n-1 adımda geçmesi gereken dizinin boyutu olan n adımdan daha fazla zaman alabilmesidir. Ancak, Cocktail Sort algoritması, aynı işlemi hem ileri hem de geri yönde yaptığı için, sıralama işlemini daha hızlı tamamlar.
Algoritma Performansı
Cocktail Sort algoritması, veri yapısı ve boyutu ne olursa olsun genel olarak aynı performansı sergiler. Ancak, diğer sıralama algoritmalarına göre daha yüksek maliyetli olduğu bilinmektedir. Bu nedenle, genellikle orta büyüklükteki dizileri sıralamak için tercih edilir.
Cocktail Sort algoritması, yüksek bellek tüketimi nedeniyle büyük veri setleri üzerinde kullanmak istediğinizde ölçeklendirme sorunlarına neden olabilir. Ancak, orta ölçekli veri setleri için, özellikle görselleştirme ve veri analizi işlemlerinde kullanışlı bir seçenek olabilir.
Sonuç
Sonuç olarak, Python’da Cocktail Sort algoritmasını uygulamak oldukça kolaydır ve verimli bir sıralama algoritması olarak kabul edilir. Ancak, büyük veri setleri üzerinde kullanmadan önce bellek tüketimini ve ölçeklenebilirliği dikkate almanız önerilir.
Evet Python ile cocktail 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.