Python

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 !

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.

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

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Başa dön tuşu