c++ - Speeding up a function with dynamic programming -


i have program

//h our n     static int g=0;     int fun(int h){         if(h<=0){                   g++;                   return g;                   }     return g+fun(h-1)+fun(h-4);     } 

is possible speed using dynamic programming?

i figured out function runs in o(2^n)

i supposed reduce running time dynamic programming, not understand concept.

just asking nudge in right direction.

while can't give answer actual question, intrigued altogether different, namely statement

return g+fun(h-1)+fun(n-4); 

obviously, function has side effect of changing global static variable g. not 100% sure whether return statement's expression evaluates in defined fashion, or whether result might undefined.

it might nice exercise think order in function calls executed, , how affects g , thereby function's result.


Comments

Popular posts from this blog

javascript - Enclosure Memory Copies -

php - Replacing tags in braces, even nested tags, with regex -