berarti lebih lama disort dl dong daripada manual for trus dibandingin
kecil mana, sampe data terakhir, baru didapet data terkecil.

padahal seharusnya lebih cepet pake sort dl trus di get[0], apa emang
array.sort cuman lebin praktis ya? padahal aslinya lebih lemot.

cmiiw.

--- In jug-indonesia@yahoogroups.com, Eko Wibowo <[EMAIL PROTECTED]>
wrote:
>
> kalo array di sort dulu malah N log N karena sort java itu
implementasi mergesort. bisa log (N) karena priority queue nya
implementasi struktur data heap
http://en.wikipedia.org/wiki/Heap_(data_structure)
> 
> imam baihaqi <[EMAIL PROTECTED]> wrote:                         
   ini notasi big Oh ya? kaya pas ngitung iterasi, tapi IMO kl pake
>  PriorityQueue shrsnya bisa O(1), kl di Comparatornya di set yg
>  terkecil yg diprioritaskan. eh tapi kl Arrays.sort(array), terus
>  array.get[0] apa masih termasuk O(N) utk ambil elemen terkecil dr
array?
>  
>  eh btw kok bisa O(log(N)) tuh dr mana ya?
>  
>  cheers!!
>  
>  --- In jug-indonesia@yahoogroups.com, "Felix Halim" <felix.halim@>
>  wrote:
>  >
iorityQueue 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