Kabarcık Sıralaması Algoritması
Algoritma, bir sorunu çözmek veya ya da belli bir hedefe ulaşmak için atılan adımlara veya takip edilen yola verilen isimdir. Algoritmalar, başka bir deyişle, açıkça belirlenmiş bir başlangıca ve sona sahip olan işlemler bütününe verilen isimdir. Algoritmalar, bilgisayar programcılığında sıkça kullanılır ve farklı çeşitleri mevcuttur. Bugünkü yazımda, bir algoritma türü olan kabarcık sıralama algoritması hakkında bilgi vereceğim.
Kabarcık sıralama, bir sıralama algoritmasıdır. Sıralama algoritmaları, kısaca anlatmak gerekirse, belli bir düzen içinde olmayan bir listeyi, belirli bir düzene sokmak için kullanılır.

Kabarcık sıralaması algoritması- basit bir örnek
Bu da genellikle, bir sayılar listesini alıp azalmayan biçimde sıralamak anlamına gelir. Örneğin, 5, 4, 2, 3, 1, listesini alırsınız ve sıralama yapmayı tamamladıktan sonra 1, 2, 3, 4, 5 listesini elde edersiniz.
Artan Değil Azalmayan
“Artan düzen” demek “azalmayan düzen” kavramı tercih edilir, çünkü azalma olmayacağı kesin iken, artış olacağı kesin değildir; Örneğin, 1, 1, 2, 2, 3 listesi azalmaz, çünkü hiçbir sayı kendisinden daha küçük bir sayı tarafından takip edilmez, fakat aynı zamanda her sayı ondan daha büyük bir sayı tarafından da takip edilmemektedir.
Bu örnek, bir çeşit kılı kırk yarma çabası gibi görünebilir, ancak muhtemelen her iki terimle de ilerleyen zamanlarda da karşılaşacağınız için aradaki farkı açıklamak istedim.
Bununla birlikte, tüm sıralamalar sayılarla ilgilenmez ve kesinlikle her zaman artan sırada sayılardan oluşacağı söylenemez. Sayılar çoğunlukla sadece öğretmek amacı için kullanılır.
Kabarcık Sıralaması Algoritmasının Faydaları
Kabarcık sıralamanın en verimli sıralama algoritması olduğunu söylemek pek mümkün değildir, ancak diğer birçok sıralama algoritmasına göre iki temel yararı vardır.
Birincisi, özellikle yeni başlayanlar için uygulanacak en basit sıralama algoritmaları arasında yer almaktadır, bu yüzden çok kullanışlı bir öğrenme aracı olarak bilinir ve nispeten küçük listeleri sıralamanın basit bir yolu olarak hizmet eder.

örnek
İkinci olarak, bir listenin hali hazırda kabarcık sıralamasıyla sıralandığını kolayca tespit edebilir ve kodumuzu daha erken sonlandırabiliriz; bu da sıralı bir liste sunulduğunda yararlı olur, ancak listenin sıralanmasından öncesini bilinmez.
Kabarcık Algoritması Nasıl Çalışır?
Kabarcık sıralaması, bir numara listesini inceleyerek ve her bir ardışık sayı çiftini karşılaştırarak çalışır. Rakamlar karşılaştırıldığında “birinci rakam ikinci rakamdan daha mı büyük?” diye sorulmalı ve cevap evetse, her sayının çift içindeki konumu değiştirilmelidir.
Numaraları değiştirip değiştirmemekten bağımsız olarak, listedeki bir sonraki ardışık çifte geçilir, karşılaştırma ve olası değişim adımları aynen tekrar edilir.
Öğeleri karşılaştırma ve yer değiştirme örneği ile devam edeceğim;
Bu durum, bir örnekle çok daha açık hale gelir, bu yüzden 5, 4, 2, 3, 1, 0 örneğine geri dönelim.
Bakacağımız ilk çift 5 ve 4 çiftidir. 5, çiftimizdeki “ilk” sayıdır ve 4, çiftimizdeki ikinci sayıdır.
Sayılarımızı azalmayan bir düzende sıralamak istiyoruz, bu yüzden ilk önce “ 5 Dörtten Büyük mü?” Diye sorduk. Bu soruya verilen cevap evet! 5, 4’ten büyüktür, bu nedenle 4 ve 5 konumlarının yerini değiştirmek gerekir.
Bu iki sayıyı değiştirdikten sonra, sonuç olarak aşağıdaki rakam listesi elde edilir.
A = 4 5 2 3 1 0
Daha sonra listedeki bir sonraki çifte geçmek gerekiyor. Bir sonraki bakılacak çift 5 ve 2 olarak karşımıza çıkıyor.
A = 4 5 2 3 1 0
Bir kez daha “5 2’den büyük müdür?” Sorusunu sorup, bir kez daha evet cevabını alıyorum, bu yüzden bu sayıları değiştirmek gerekiyor. Değişimden sonra aşağıdaki listeye ulaşıyoruz.
A = 4 2 5 3 1 0
Listenin sonuna ulaşana kadar aynı karşılaştırmayı yaparak, ilerlemek gerekir. Karşılaştırılacak bir sonraki çift 5 ve 3’tür, bu da değiştirilecektir. Ondan sonra yine değiştirilecek olan 5 ve 1’i karşılaştırılır. Sonunda, değiştirilecek olan 5 ve 0’ı da karşılaştırılır. Tüm bu karşılaştırma ve değişimlerden sonra aşağıdaki listeye ulaşılır.
A = 4 2 3 1 0 5
İlk sayının ikinciden büyük olduğu her ardışık çifti karşılaştırarak ve değiştirdikten sonra bir tam geçiş yaptıktan sonra listeyle ilgili özel bir şey fark ettiniz mi?
Listemizdeki son sayının listedeki en büyük sayı olduğunu fark ettiyseniz, algoritmayı tam isabetle anladınız demektir!
Sayı kendisinden büyük bir rakamla karşılaştığında yerinde kalır, sağındaki büyük rakamı alır ve karşılaştırmaya sağındaki rakamdan devam ederiz. Çünkü solundaki rakamdan büyük olduğuna göre, solunda kalan rakamın daha önce karşılaştırıldığı rakamlardan da büyüktür.
Orijinal liste: A = 5 4 2 3 1 0
(5,4) karşılaştırmasıyla başlayan listenin sonucu: A = 4 2 3 1 0 5
Başa dönüş: (4,2) karşılaştırmasıyla başlayan listenin sonucu: A= 2 3 1 0 4 5
Başa dönüş: (2,3) karşılaştırmasıyla başlayan listenin sonucu: A = 2 1 0 3 4 5
Başa dönüş: (2,1) karşılaştırmasıyla başlayan listenin sonucu: A = 1 0 2 3 4 5
Başa dönüş: (1,0) karşılaştırmasıyla başlayan listenin sonucu: A = 0 1 2 3 4 5
Görev tamamlanmıştır!
Tecrübeli bir SEO uzmanı, algoritmalar hakkında da geniş bilgi sahibi olan bir kişi olmalıdır.