2-1
fibonacci
int fib(int n) {
if (n==1 | n==2) {
return 1;
}
return fib(n-2) + fib(n-1);
}이항 계수

memoization vs DP
Summary
Last updated
Was this helpful?
int fib(int n) {
if (n==1 | n==2) {
return 1;
}
return fib(n-2) + fib(n-1);
}
Last updated
Was this helpful?
Was this helpful?
int bionomial(int n, int k) {
if (n == k || k == 0) {
return 1;
}
return binomial(n-1, k) + binomial(n - 1, k - 1)
}int getCombinationTopDown(int n, int r) {
if(n==r || r==0) {
return 1;
}
else if (cache[n][r] > 0) {
return cache[n][r];
}
cache[n][r] = getCombinationTopDown(n-1, r) + getCombinationTopDown(n-1, r-1);
return cache[n][r];
}
int getCombinationBottomUp(int n, int k) {
cache2[1][1] = 1;
cache2[1][0] = 1;
for(int i = 2; i<=n; i+=1) {
for(int j = 0; j<=k && j<=i; j++) {
if(i==j || j==0) {
cache2[i][j] = 1;
continue;
}
cache2[i][j] = cache2[i-1][j] + cache2[i-1][j-1];
}
}
return cache2[n][k];
}