Python Bubble 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 selection sort algoritmasını anlatacağım. Hadi başlayalım !
Table of Contents
Bu makalede, Bubble Sort algoritması hakkında bilgi vereceğim ve ayrıca Python dilinde bu algoritmanın nasıl uygulanacağını göstereceğim. Bubble Sort, en basit sıralama algoritmalarından biridir ve her elemanı diğer elemanlarla karşılaştırarak sıralar.
Bubble Sort Algoritması Nedir?
Bubble Sort algoritması, elemanları sıralamak için karşılaştırmalı bir algoritmadır. İlk olarak, dizideki ilk eleman, bir sonraki elemanla karşılaştırılır. Eğer bir sonraki eleman daha küçükse, bu iki elemanın yerleri değiştirilir. Bu işlem, dizinin sonuna kadar tekrarlanır. Bu sayede, en büyük eleman dizinin sonuna doğru hareket eder.
Daha sonra, bir sonraki eleman ve ondan sonraki eleman karşılaştırılır ve bu işlem, dizinin sonuna kadar tekrarlanır. Bu işlem, dizinin sıralanana kadar devam eder. Adından da anlaşılacağı gibi, bu algoritma bir baloncuk gibi davranır ve her turda en büyük elemanı yukarı doğru iterek sıralama yapar.
Bubble Sort algoritmasının en kötü durumda, yani n elemanlı bir dizi için sıralanması n^2 kere karşılaştırma yapar. Bu, büyük boyutlu dizilerde çok fazla zaman alabilir ve bu nedenle Bubble Sort algoritması, genellikle daha hızlı sıralama algoritmaları yerine tercih edilmez.
Bubble Sort Algoritması Kodu
Python’da Bubble Sort algoritmasını uygulamak oldukça basittir. Aşağıda, Python dilinde Bubble Sort algoritması için bir örnek kod verilmiştir:
def bubble_sort(arr):
n = len(arr)
# Dizideki tüm elemanları karşılaştırarak sıralama yap
for i in range(n):
# Her elemanı bir sonraki elemanla karşılaştırarak sırala
for j in range(n - i - 1):
# Eğer bir sonraki eleman, şimdiki elemandan daha küçükse, yerlerini değiştir
if arr[j] > arr[j + 1]:
arr[j], arr[j + 1] = arr[j + 1], arr[j]
return arr
Yukarıdaki kod, bir dizi alır ve Bubble Sort algoritmasını kullanarak sıralar. İlk olarak, dizi boyutunu belirlemek için len fonksiyonu kullanılır. Ardından, iki tane for döngüsü kullanarak her elemanı diğer elemanlarla karşılaştırır ve sıralar.
Kodun Çalıştırılması
Bubble Sort algoritmasının çalışma mantığını anlamak için, yukarıdaki kodda her adımın ne yaptığını gözlemleyebilirsiniz. Aşağıda, Bubble Sort algoritması için bir örnek kullanarak nasıl çalıştığını gösteren bir kod daha verilecektir:
arr = [64, 34, 25, 12, 22, 11, 90]
sorted_arr = bubble_sort(arr)
print("Sıralanmış dizi:")
for i in sorted_arr:
print(i)
Kod Açıklamaları
Bu kod, önce bir dizi oluşturur ve ardından bu diziyi Bubble Sort algoritmasını kullanarak sıralar. Son olarak, sıralanmış diziyi ekrana yazdırır.
Yukarıdaki örnekte, ilk turda 64 ve 34 elemanları karşılaştırılır ve yerleri değiştirilir. Daha sonra, 64 ve 25 elemanları karşılaştırılır ve yerleri değiştirilir. Bu işlem, dizinin sonuna kadar devam eder. İlk tur bittiğinde, en büyük eleman olan 90 dizinin sonuna taşınmıştır.
İkinci turda, 34 ve 25 elemanları karşılaştırılır ve yerleri değiştirilir. Daha sonra, 64 ve 22 elemanları karşılaştırılır ve yerleri değiştirilir. Bu işlem, dizinin sonuna kadar devam eder. İkinci tur bittiğinde, dizinin son iki elemanı sıralanmıştır.
Üçüncü turda, 34 ve 12 elemanları karşılaştırılır ve yerleri değiştirilir. Daha sonra, 64 ve 11 elemanları karşılaştırılır ve yerleri değiştirilir. Bu işlem, dizinin sonuna kadar devam eder. Üçüncü tur bittiğinde, dizinin son üç elemanı sıralanmıştır.
Bu işlem dizinin sonuna kadar tekrar eder ve sonuç olarak sıralanmış bir dizi elde edilir.
Sonuç
Sonuç olarak, Bubble Sort algoritması, basit bir sıralama algoritmasıdır ve her elemanı diğer elemanlarla karşılaştırarak sıralama yapar. Ancak, büyük boyutlu dizilerde çok fazla zaman alabilir ve daha hızlı sıralama algoritmaları tercih edilir. Python’da Bubble Sort algoritmasını uygulamak oldukça basittir ve yukarıdaki örnek kodlar, bu algoritmanın nasıl uygulanacağını gösterir.
Evet Python ile selection 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.