Bubble Sıralama Algoritması [Python]

Ertan Özdemir
Feb 29 · 2 min read
Photo by Lanju Fotografie on Unsplash

Bu yazımda sizlere sırlama algoritmalarından bir tanesi olan Bubble Sorting Algorithm’dan bahsedeceğim.

Bubble Sorting yöntemi, elinizde bulunan karışık sayısal verilerin sıralandırılmasında oldukça popüler olan bir algoritmadır.

Elimizde bir veri listesi olsun;

dataList=[6, 2, 5, -1]

İlk bakışta bu sayıları küçükten büyüğe doğru sıralamak size zor gelmiş olabilir fakat korkmanıza hiç gerek yok çünkü Bubble Sorting algoritması imdadımıza yetişiyor.

Bu algoritmanın çalışma prensibini en temel şu şekilde açıklayabiliriz: Programımız listenin en başından yani “6” dan başlayarak yanında bulunan (-1) sayıya göre kıyaslama yapıyor. Eğer ilk sayı, yanında bulunan sayıya göre küçükse bu sayıyla yer değiştiriyor. Yani;

dataList=[2 ,6, 5 , -1] oldu… Sürekli olarak bu kıyaslamayı yaparak 6 sayısını listenin en sonuna gönderiyor.

2. Döngüde ki görünüm: dataList=[2 , 5 , 6 , -1]

3. Döngüde ki görünüm: dataList=[2 , 5 , -1 , 6]

6 sayısı bu listede ki en büyük sayı olduğu için listenin en sonuna geliyor. Bu işlem bittikten aynı döngü bu sefer 2 için yapılacak ve böyle devam edecek. Şimdi bunu Python’a dökelim!

İlk olarak burada iç içe for döngüsü kullanmamız gerekecek. En içte bulunan for döngüsünün (ve içindeki if yapısnın) görevini örnek üzerinden anlatacak olursak 6 sayısını sürekli olarak yanında ki sayıyla kıyaslamak ve eğer 6 sayısı sağında bulunan sayıdan büyükse (bu kıyaslamayı içeride ki if yapısı sayesinde yapıyoruz) bu iki sayının yerini değiştirmek. En içteki for döngüsü elimizde bulunan dizinin bir eksiği kadar dönmeli çünkü içeride bulunan her bir sayıyla 6'nın kıyaslanması gerekiyor.

Listemizin en son hali: dataList=[2 , 5 , -1 , 6]

Eğer, 6'nın yanında ondan daha büyük bir sayı kalmadıysa bu sefer döngüden çıkılıp bir üstte bulunan for döngüsüne gidiliyor. Bu for döngüsünün görevi, tüm işlemleri en başa almak yani bu sefer sıra listenin en başında bulunan 2'ye geldi. Bu aşamada 2 sayısı sağında bulunan sayılarla kıyaslanmaya ve büyükse ötelenmeye başlıyor (tahmin edebileceğiniz gibi en içte bulunan for döngüsü sayesinde).

Bu işlem sonrasında listenin son hali: dataList=[5 , -1 , 2 , 6]

Aynı işlemler daha sonra 5 ve -1 için de tekarar ediliyor. Buradan da en dışta bulunan for döngüsünün, liste eleman sayısı kadar çalıştığını görebiliriz yani 4 defa.

En dışta bulunan for 4 defa çalıştığı zaman listemizin en son hali küçükten büyüğe olacak şekilde sıralanmış olacak!

dataList = [-1, 2, 5, 6]

Bubble Sorting Algoritması sıralama algoritmalarından sadece bir tanesiydi… Daha fazlasını merak ederseniz şu siteye bir göz atmanızı öneririm.

ROYTO

Ertan Özdemir

Written by

Computer Engineer

ROYTO

ROYTO

Resmî Olmayan Yazılım Topluluğu

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade