Bubbleshort

Sorting adalah hal yang seringkali dijumpai ketika interview dan paling mudah diselesaikan dengan Bubblesort. Kenapa paling mudah diselesaikan dengan Bubblesort? Karena menggunakan logika paling dasar, misal punya deret angka yang tidak urut [4, 1, 5, 2, 3]. Maka akan diurutkan dari index paling pertama dengan setiap index selanjutnya secara perulangan. Kuncinya value dari tiap index dibandingkan per urutan dan ditukar ketika memenuhi kriteria hingga menghasilkan [1, 2, 3, 4, 5]

  1. 4 > 1? Ya tukar
  2. 4 > 5? Tidak
  3. 4 > 2? Ya tukar
  4. 4 > 3? Ya tukar
  5. dst hingga urut.

Algoritma ini saya rasa jelek performa komputasinya untuk mensortir data yang kompleks dan berjumlah besar (bayangkan ketika otak kita harus indexing satu per satu untuk setiap kriteria, padahal kriteria pengurutan dapat berupa banyak faktor). Berikut snippet coding dengan Javascript (berhubung ngeblog di laptop Ucup tidak ada Eclipse dan hanya punya notepad).

var randomArr = [4,1,5,2,3]
var arrLen = randomArr.length
for(i = 0; i < arrLen; i++){
	console.log("randomArr[i] = " + randomArr[i] )
	for(j = i+1; j < arrLen; j++) { console.log("randomArr[j] = " + randomArr[j]); if (randomArr[i] > randomArr[j]) { //proses compare
			var temp = randomArr[j] //proses swap dimulai
			randomArr[j] = randomArr[i] 
			randomArr[i] = temp //proses swap diakhiri
		}		
	}
}
//print out
for(i = 0; i < arrLen; i++){
	console.log(randomArr[i])
}

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

w

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.