emang kan aslinya tuh array dulu krn ingin punya sesatu yg merupakan
kumpulan data setipe, kalo bermacam2 tipe ada yg namanya record di
pascal, abis itu karena nemuin permasalahan yg butuh konsep LIFO
ataupun FIFO muncul stack sama queue, itu tuh kaya tower of hanoii,
itu push-pop bangett, abis itu
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@ya
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?
Queue dan Stack (bahkan PriorityQueue) bisa dibuat menggunakan Array biasa.
Lalu kenapa Queue gak bisa get(2) seperti yang kamu mau?
Karena memang itu dilarang, bukannya tidak bisa.
Karena konsep dari Queue adalah "ambil element terdepan dari queue".
Mana boleh ngambil orang kedua terdepan?
Kalau
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
eh bukannya beda Array sama Queue sama Stack, meskipun di C, kan
mereka cenderung ke teori ky tipe data, bukan bahasa-based, dimana2
seharusnya sama aja, array tuh kan [1, 2, 3, 4] kita bisa ambil
array[2] misalnya, kl stack hrs di pop() dl dua kali baru bisa ambil
elemen yg kedua (dimulai dari 0,
http://www.java2s.com/Code/Java/Threads/Java1550newfeaturesPriorityQueue.htm
lebih jelas tuh contohnya, disitu pake Comparator, dia prioritaskan yg
ganjil dulu, trus yg kecil dulu, kayaknya mirip sama set deh, ketika
dia nambah data, ketika itu pula dia Compare dg data yg sudah ada,
trus dia selip
,
Aris Kumara Prabhawa
- Original Message
From: imam baihaqi <[EMAIL PROTECTED]>
To: jug-indonesia@yahoogroups.com
Sent: Wednesday, May 28, 2008 8:47:35
Subject: [JUG-Indonesia] Re: Tanya PriorityQueue
bukannya kl array biasa tuh cuman kumpulan satu tipe, sedangkan kl
queue tuh FI
Hi,
kalo queue, stack, dan kawan-kawan. Urutun pengerjaan task/data di
tentukan oleh urutan masuk. Untuk FIFO , task/data yang dimasukkan
terlebih dahulu yang akan di proses, kalau untuk LIFO task/data yang
terakhir kali dimasukkan yang akan di proses terlebih dahulu.
Pada priority queue, sebuah
bukannya kl array biasa tuh cuman kumpulan satu tipe, sedangkan kl
queue tuh FIFO, kl stack LIFO? maksudku kl array bisa aja ambil data
yg ditengah langsung, kl queue/stack ga bisa. hrs diolah dulu, lagian
kan ada APInya yg lebih lengkap.
kl saya paling pake arrayList, atau Set atau Map. tergantun
11 matches
Mail list logo