kalo cuma mau 1 data terkecil ya mending di looping manual kan cuma O(N), sort itu cepet, tapi dalam kasus ini yand didapat setelah sort kan bukan cuma data terkecil, tp data itu menjadi terurut, dengan loop manual kan ga bisa dapet ini
imam baihaqi <[EMAIL PROTECTED]> wrote: 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 > > >