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 > > >