Bubble Sort Zaman Karmaşıklığı

kabarcık sıralama algoritma karmaşıklığı
Bubble Sort Time Complexity
Bubble Sort zaman karmaşıklığı nedir sorusunun 3 ayrı cevabı mevcut. Çünkü zaman karmaşıklığının 3 kriteri var. Bunlar Worst Case (en kötü durum), Best Case (en iyi durum) ve Avarage Case (Ortalama Durum).

Öncelikli olarak algoritmayı incelediğimizde karşımıza temel olarak for döngüsü içerisinde for döngüsü çıkmaktadır. Yani iç içe loop döngüsüdür. Üstteki for döngüsü n eleman sayısı için çalışır. Alttaki for döngüsü ise n-1 eleman sayısı için çalışmaktadır. Yani bubble sort büyük O notasyonu n*(n-1)'den n^2 gelir. (aslında karşımıza n^2-n ifadesi gelir. Ancak biz üssü büyük olan ifadeyi hesaba katarız)

Peki en kötü durum yani Bubble Sort Worst Case senaryosunda ne olur? En kötü durumda dizinin en küçük elemanı en sondadır. Böyle bir durum yaşandığında n elemanlı dizide n geçiş yaşanır ve her geçişte n-1 adet adım gerçekleşir. Bu da bize n^2-n ifadesini verir. Bu da N^2 demektir. Yani bubble sort en kötü durum senaryosu N^2 dir.

Bubble Sort Avarage Case için de durum aynıdır. yani N^2 dir. Algoritmanın pek performanslı olmamasının nedeni de budur. Yani ortalama durumu ile en kötü durumu neredeyse aynıdır. Eleman sayısı fazla olan diziler için kesinlikle tercih edilmemelidir.

Bubble Sort en iyi durum senaryosu ise dizinin zaten sıralı olduğu haldir. Bu durumda 1 iterasyon yapılır yani hiç swap yapımaz. Hiç swap işlemi yapılmadıysa 1. geçişin 1. adımından sonra döngüden çıkılır. Bu en iyi durumdur. Bubble Sort best case 1'dir.

Bubble Sort Zaman Karmaşıklığı Hesabı Nasıl Yapılır

Eğer size direkt olarak böyle bir soru sorulursa, her adımda birer eleman eksilteceğinizi belirterek bu şekilde bir hesaplamanın yapılacağını söyleyebilirsiniz. Yani;

(n-1)+(n-2)+(n-3)+....+2+1 = x dersek
x = [n*(n-1)]/2
O(n^2) olarak bulunur.

Bubble Sort Algoritması Yorumu

Eğer size hocanız Bubble Sort algoritmasını yorumlamanızı isterse O(n^2) olduğunu, avarage case'inin, Worst Case ile aynı olduğundan (n^2) büyük elemanlı diziler için uygun olmadığını belirtebilirsiniz.

Zaman Karmaşıklığı Nedir Diye Soruyorsanız İlgili Makalemizi Okuyabilirsiniz...

Etiketler: , , , , , ,