Kabarcık Sıralaması vs Yerleştirme Sıralaması
Kabarcık sıralama, bitişik olan eleman çiftlerini karşılaştırırken sıralanacak listeden tekrar tekrar geçerek çalışan bir sıralama algoritmasıdır. Bir çift öğe yanlış sıradaysa, bunları doğru sırada yerleştirmek için değiştirilirler. Bu geçiş, başka takas gerekmeyene kadar tekrarlanır. Ekleme sıralaması ayrıca, giriş listesindeki bir öğeyi zaten sıralanmış bir listede doğru konuma ekleyerek çalışan bir sıralama algoritmasıdır. Bu işlem, liste sıralanana kadar tekrar tekrar uygulanır.
Kabarcık Sıralaması Nedir?
Kabarcık sıralama, bitişik olan eleman çiftlerini karşılaştırırken sıralanacak listeden tekrar tekrar geçerek çalışan bir sıralama algoritmasıdır. Bir çift öğe yanlış sıradaysa, bunları doğru sırada yerleştirmek için değiştirilirler. Bu geçiş, başka takas gerekmeyene kadar tekrarlanır (yani listenin sıralandığı anlamına gelir). Bir kabarcık yüzeye geldikçe listedeki daha küçük elemanlar en üste geldiğinden, buna kabarcık türü adı verilir. Kabarcık sıralaması çok basit bir sıralama algoritmasıdır, ancak bir öğeyi n öğeyle sıralarken O (n2) ortalama bir zaman karmaşıklığına sahiptir. Bu nedenle, kabarcık sıralaması çok sayıda öğeye sahip listeleri sıralamak için uygun değildir. Ancak basitliği nedeniyle, algoritmalara giriş sırasında kabarcık sıralaması öğretilir.
Ekleme Sıralaması nedir?
Ekleme sıralaması, giriş listesindeki bir öğeyi bir listede doğru konuma (zaten sıralanmış olan) ekleyerek çalışan başka bir sıralama algoritmasıdır. Bu işlem, liste sıralanana kadar tekrar tekrar uygulanır. Yerleştirme sıralamasında, sıralama yerinde gerçekleştirilir. Bu nedenle, algoritmanın yinelemesinden sonra, listedeki ilk i + 1 girdileri sıralanır ve listenin geri kalanı ayrıştırılır. Her bir yinelemede, listenin ayrılmamış kısmındaki ilk öğe alınır ve listenin sıralanmış bölümünde doğru yere yerleştirilir. Ekleme sıralamasının ortalama vaka süresi O (n2) karmaşıklığı vardır. Bu nedenle, ekleme sıralaması büyük listeleri sıralamak için uygun değildir.
Kabarcık Sıralaması ve Ekleme Sıralaması arasındaki fark nedir?
Hem kabarcık sıralama hem de ekleme sıralama algoritmaları O (n2) ortalama vaka süresi karmaşıklıklarına sahip olsa da, kabarcık sıralama ekleme sıralamasından daha iyi performans gösterir. Bu, iki algoritmanın ihtiyaç duyduğu takas sayısından kaynaklanmaktadır (kabarcık çeşitleri daha fazla takas gerektirir). Ancak kabarcık türünün basitliği nedeniyle, kod boyutu çok küçüktür. Ayrıca, pratik olarak kullanılmasına izin verecek şekilde O (n3 / 2) zaman karmaşıklığına sahip olan kabuk sıralaması adı verilen bir ekleme sıralaması çeşidi vardır. Ayrıca, yerleştirme sıralaması, kabarcık sıralamasına kıyasla “neredeyse sıralanmış” listelerin sıralanmasında çok etkilidir.