2008/6/7 Hendry <[EMAIL PROTECTED]>:
> Kalau membaca soal berikut, asumsi saya, array of integer A tersebut
> adalah selalu data yang baru, dan kita diminta mencari bilangan
> integer terkecil. Kalau permintaan nya membuat algoritma ataupun
> function yang selalu ready menerima data baru, mem preprocess data,
> lalu the next step selalu menggunakan data yang sudah di preprocess,
> bukankah itu sudah mem bypass satu step algoritma dari soal tersebut?
> CMIIW

Array A itu fixed dengan jumlah element N.
Saya mempunyai banyak queries:
   cari bilangan terkecil antara index i dan index j (inclusive).

Jadi meskipun array A itu acak, tapi array A tidak pernah berubah.
Dan array A yang sama ini akan di query terus menerus.
Otomatis kita harus buat query ini efisien donk?
Nah, algo linearnya kan itu scan dari i ke j, cari yang minimum, lalu print.
Tapi algo itu O ( N ) jalannya.

Pertanyaanya, bisakah kita "preprocess" array A ini sedemikian sehingga
setiap query [i, j] bisa diprocess hanya dengan O ( log N ).

Tetapi one-time preprocessnya tidak boleh lebih dari O ( N log N ).

Felix Halim

Kirim email ke