About me
My Name is Ali Jaya Meilio and this is my story.
Labels
- article (12)
- bitcoin (1)
- blog (9)
- book (1)
- competitive programming (11)
- cpp (8)
- craft (9)
- film (3)
- filmmaking (5)
- game (3)
- gamedev (4)
- haxe (2)
- javascript (2)
- jquery (2)
- life (6)
- movie (3)
- music video (1)
- pascal (7)
- photo manipulation (1)
- programming (17)
- quick (2)
- review (2)
- short story (2)
- story (2)
- tokilc (3)
- walkthrough (3)
"Paling banyak dia akan menghitung N*2^N state saja. Sehingga kompleksitas yang agak tepatnya walaupun agak aneh itu adalah O(N*max(C, 2^N)), tapi untuk disederhanakan O(N*C) aja lah."
BalasHapuskalo kamu bilang O(N*max(C,2^N)), ya tentu aja selalu O( N*2^N ) donk... secara max(C,2^N) itu tuh 2^N... :| dan total semua state yang ada dari koding DP kamu itu tuh hanya ada sebanyak N*C state... sehingga semaksimum2nya, kompleksitas DP di atas itu yah O(N*C).. kompleksitas O(N*C) ini slalu di capai ketika DP yang kamu gunakan itu bottom up.. sedangkan ketika menggunakan top down, tentu saja tidak slalu mencapai O(N*C), tapi mostly dibawah O(N*C), tapi ya gak bisa di bilang O(N*min(C,...)) dlsbnya... karena gak bisa di tentuin.. mau dia O(N*min(C,...)), kita tetap bilang kompleksitas DP dia itu O(N*C) *coba baca lagi definisi big-oh*
maksudnya itu minimum dari kedua itu ==a... *salah tulis...
Hapushmmm jadi sebaiknya O(N*C) doang yak :-?... ok deh kak :-?...
hanya tadi pas nulis kepikiran kalau C nya gede banget, sedangkan N nya cuman 10 gitu :-?... bukannya lebih untung pake rekursif biasa O(N*2^N), terus aku pikirin apa jadinya kalau pakai DP, ternyata kompleksitasnya gak O(N*C) juga, dia bakal lebih dikit dari itu yaitu sekitar O(N*2^N), cuman memorinya masih gede @.@...
"terus aku pikirin apa jadinya kalau pakai DP, ternyata kompleksitasnya gak O(N*C) juga, dia bakal lebih dikit dari itu yaitu sekitar O(N*2^N)"
Hapuserrr... darimana ya solusi polynomial ( O(N*C) ) bakal lebih gede dari solusi exponential ( O( N * 2^N ) )?
bisa kamu jelasin? coba di pikir lagi dhe sebelum di tulis.
Hmmm... aku juga kurang yakin kak...
HapusMisalkan ada tc gini kak...
N = 10
C = 1000000
bukannya kompleksitas O(N*2^N) lebih cepet? karena cuman sekitar 10000 operasi
dan kalau kompleksitas O(N*C) itu sekitar 10000000 operasi.
iya gak seh? @.@... *sorry kalau salah... ._.
berpikirnya itu jangan hanya untuk 1 case doank... untuk beberapa case khusus, memang lebih cepat O(N*2^N), seperti yang kamu kasih tau. tapi apakah solusi O(N*2^N) itu lebih cepat secara general ketimbang solusi O(N*C)?
Hapusketika kamu bilang sebuah solusi O( something ), itu lebih cepat ketimbang solusi O( something else ), maka yah coba di buktikan apakah untuk worst case, hal tersebut masih berlaku... *definisi big oh secara singkat dimaksudkan untuk kompleksitas ter-worst case...*
soal knapsack, pada umumnya gak mungkin N = 10 doank... (apalagi ini udah kek soal bonus karena merupakan salah satu soal klasik)... kalo pun soal knapsack keluar, umumnya sudah di modif, dan constraintnya sudah di buat agar solusi O(N*2^N) tidak bisa digunakan...
btw, baca http://en.wikipedia.org/wiki/Time_complexity#Table_of_common_time_complexities
oh ok deh kak ._. *kasih sajen...
Hapus^:)^