Kabarcık Sıralaması ve Seçim Sıralaması
Kabarcık sıralama, bitişik öğe çiftlerini karşılaştırırken art arda sıralanacak listeden geçerek çalışan bir sıralama algoritmasıdır. Bir çift eleman yanlış sıradaysa, doğru sıraya yerleştirmek için değiştirilirler. Bu geçiş, başka takas gerekmeyene kadar tekrarlanır. Seçim sıralama aynı zamanda listedeki minimum öğeyi bularak ve ilk öğeyle değiştirerek başlayan bir sıralama algoritmasıdır. Bu işlem, değiştirilen öğeleri sırayla yerleştirerek listenin geri kalanı için tekrarlanır.
Bubble Sort nedir?
Kabarcık sıralama, bitişik öğe çiftlerini karşılaştırırken art arda sıralanacak listeden geçerek çalışan bir sıralama algoritmasıdır. Bir çift eleman yanlış sıradaysa, doğru sıraya yerleştirmek için değiştirilirler. Bu geçiş, başka takas gerekmeyene kadar tekrarlanır (bu, listenin sıralandığı anlamına gelir). Listedeki daha küçük elementler bir balonun yüzeye çıkmasıyla en üste geldiğinden, buna balon sıralama adı verilir. Kabarcık sıralama çok basit bir sıralama algoritmasıdır, ancak n elemanlı bir listeyi sıralarken ortalama durum zamanı karmaşıklığı O(n2)'dir. Bu nedenle, kabarcıklı sıralama, çok sayıda öğe içeren listeleri sıralamak için uygun değildir. Ancak basitliği nedeniyle, algoritmalara giriş sırasında kabarcık sıralama öğretilir.
Seçim Sıralaması Nedir?
Seçimli sıralama, listedeki minimum öğeyi bulup ilk öğeyle değiştirerek başlayan başka bir sıralama algoritmasıdır. Ardından, listenin geri kalanından (ikinci elemandan listedeki son elemana kadar) minimum eleman bulunur ve ikinci eleman ile değiştirilir. Bu işlem, değiştirilen öğeler sıraya konularak listenin geri kalanı için tekrarlanır. Bu nedenle, seçim sıralamasında, algoritmanın herhangi bir adımında, liste iki bölüme ayrılır; burada bir kısım sıralanmış elemanlar, diğer kısım ise sıralanmamış elemanlar içerir. Algoritma ilerledikçe, sıralanan liste soldan sağa doğru büyür. Seçim sıralama ayrıca O(n2) ortalama durum zaman karmaşıklığına sahiptir. Bu nedenle büyük listeleri sıralamak için de uygun değildir.
Kabarcık Sıralaması ile Seçimli Sıralama arasındaki fark nedir?
Hem kabarcık sıralama hem de seçim sıralama algoritmaları O(n2) ortalama durum zaman karmaşıklığına sahip olsa da, kabarcık sıralama neredeyse tüm zamanların seçim sıralamasından daha iyi performans gösterir. Bunun nedeni, iki algoritmanın ihtiyaç duyduğu takas sayısından kaynaklanmaktadır (kabarcık türleri daha fazla takas gerektirir). Ancak kabarcık sıralamanın basitliği nedeniyle kod boyutu çok küçüktür. Kararlılık, bu iki algoritmadaki bir başka farktır. Kararlı bir sıralama algoritması, liste eşit değere sahip öğeler içeriyorsa kayıtların sırasını koruyan bir sıralama algoritmasıdır. Bu anlamda, seçimli sıralama kararlı bir algoritma değilken, kabarcıklı sıralama kararlı bir algoritmadır.