Minimization :
: , , , , . minimize(expr). ? , . , minimize . .
:
int minimize(string expr)
if isNumber(expr) then
return value(expr)
int res = infinity
for int i <- 0 .. lenght expr - 1
if expr[i] == '+' then
res = min(res, minimize(expr[0 .. i - 1]) +
minimize(expr[i + 1 .. length expr - 1])
if expr[i] == '*' then
res = min(res, minimize(expr[0 .. i - 1]) *
minimize(expr[i + 1 .. length expr - 1])
return res
:
, .
? , () , () .
memoization, ( ) .