2008/5/28 Slamet <[EMAIL PROTECTED]>:
> Hi semua, mau tanya tentang PriorityQueue, bedanya PriorityQueue dengan
> Array biasa apa ya...?,
> maksudku, klo saya mengolah data dengan menggunakan Array biasa misal untuk
> sorting, lifo, fifo dll,
> lalu PriorityQueue sebenarnya untuk apa ya...?. Thx semua

Priority Queue digunakan untuk mengambil/menaruh element terkecil
(atau terbesar -> tergantung method compareTo nya) dengan kompleksitas
O(log(N)) dimana N adalah jumlah element di dalam Priority Queue.

Kalau kamu menggunakan array, maka untuk mengambil element terkecil,
kamu butuh O(N)  dimana semua element di array kamu cek dan return
yang paling kecil. Untuk menaruh element di array bisa O(1).

Contoh:

Kamu punya array isinya sebanyak 1,000,000 element.
Kalau kamu ingin mengambil element terkecil, maka kamu butuh looping
1,000,000 kali untuk mencarinya.

Sedangkan kalo kamu pake PriorityQueue, dan didalamnya ada 1,000,000 element.
Maka untuk mengambil element terkecil hanya dibutuhkan maksimum
log(1,000,000) == 20 kali looping.

Jelas banget kan perbedaannya?

Felix Halim

Kirim email ke