2008/6/9 Adelwin Handoyo <[EMAIL PROTECTED]>:
> kalo ide lu preprocess nya bikin BST wah itu terlalu lama..
> emang ntar mau serach nya jadi cepet banget..
> tapi emang apa guna nya di bikin search tree..

Preprocess O ( N ) itu termasuk optimal.
Karena untuk baca semua element saja sudah O ( N ).
Tidak ada preprocess yang bisa lebih kecil dari O ( N ).

> gue ada idea lebih bagus :p
> preprocess nya 1 langkah doang..
> yaitu mengalikan semua angka nya..

Sayang sekali, Ini juga O ( N ), bukan O ( 1 ).
Kalau angkanya ada 1 juta, kamu akan looping 1 juta.
Itulah yang dimaksud O ( N ).

Kalau O ( 1 ) artinya: kalau datanya 1 juta atau berapapun,
kamu cuma looping 1 kali.

O ( 1 ) adalah constant, tidak tergantung jumlah / besarnya input.


> lalu output array nya tinggal angka hasil preprocess di bagi dengan
> input[i] sendiri..

Angka hasil preprocess bisa 0 kalau salah satu element di A adalah 0.
Dan perlu diingat, hasil perkalian ini bisa lebih dari 1 juta digit.
Algoritma perkalian yang tercepat sekalipun akan lama memprocess 1
digit perkalian.


> yang perlu kita cari justru cara bagi nya.. karna gak bole pake
> operator 'division' itu sendiri.. jadi kita bikin sendiri
> nah sekarang pertanyaan nya.. ada yang bisa bantuin gue discover
> method pembagian tanpa operasi pembagian?

Apalagi permbagian, ini lebih lambat dari perkalian.

Kecuali kamu bisa membuat perkalian dan pembagian yang efficient,
cara ini tidak bisa dipakai.

FYI, operasi BigInteger itu sendiri pun adalah problem yang sangat populer.

Felix Halim

Kirim email ke