Kabarcık Sıralaması Nedir?
İngilizce: Bubble Sort
Yayın: · Son güncelleme:
Kabarcık Sıralaması Nedir? Kısaca
Kabarcık sıralaması (bubble sort), listedeki komşu elemanları ikişer ikişer karşılaştırıp yanlış sıradaysa yer değiştiren basit bir sıralama algoritmasıdır. Öğrenmesi kolaydır ama büyük listelerde çok yavaştır.

Kabarcık sıralaması nedir?
Kabarcık sıralaması, en basit sıralama algoritmalarından biridir. Liste baştan sona taranır ve yan yana duran iki eleman karşılaştırılır. Soldaki büyükse ikisi yer değiştirir. Bu işlem, listede yer değiştirecek hiçbir çift kalmayana kadar tekrarlanır.
Adım adım örnek
Elinizde 5, 1, 4, 2 sayılarından oluşan bir liste olsun. İlk turda 5 ile 1 karşılaştırılır ve yer değiştirir: 1, 5, 4, 2. Sonra 5 ile 4 yer değiştirir: 1, 4, 5, 2. Ardından 5 ile 2 yer değiştirir: 1, 4, 2, 5. Tur bittiğinde en büyük sayı olan 5 listenin sonuna ulaşmıştır.
İkinci turda aynı işlem tekrarlanır ve 4 ile 2 yer değiştirir: 1, 2, 4, 5. Üçüncü turda hiçbir değişiklik olmaz. Algoritma bunu fark eder ve durur. Liste artık sıralıdır.
Neden yavaş?
Her turda listenin neredeyse tamamı yeniden taranır. Eleman sayısı n ise en kötü durumda yaklaşık n² karşılaştırma yapılır. 10 elemanlık bir liste için bu önemsizdir. 100.000 elemanlık bir listede ise yaklaşık 10 milyar karşılaştırma demektir ve hızlı sıralama gibi yöntemlerin çok gerisinde kalır.
Neden hâlâ öğretilir?
Kodu birkaç satırdır ve iç içe döngü, karşılaştırma ve yer değiştirme kavramlarını göstermek için idealdir. Ayrıca algoritma verimliliğini anlatırken "yavaş" örneğin somut bir temsilcisidir. Kendi bilgisayarınızda 10.000 elemanlı rastgele bir listeyi önce kabarcık sıralamasıyla, sonra dilinizin hazır sort fonksiyonuyla sıralayıp süreleri karşılaştırın. Aradaki fark, zaman karmaşıklığı kavramını kalıcı biçimde anlatır.
Sıkça Sorulan Sorular
Kabarcık sıralaması neden bu adı almış?
Her turda en büyük değer, sudaki bir kabarcığın yüzeye çıkması gibi listenin sonuna doğru ilerler. Algoritmanın adı bu benzetmeden gelir.
Kabarcık sıralaması gerçek projelerde kullanılır mı?
Nadiren. Çok küçük ya da neredeyse sıralı listelerde iş görür, ama dillerin hazır sıralama fonksiyonları neredeyse her durumda daha hızlıdır.