Skip to content

Instantly share code, notes, and snippets.

@inodaf
Last active January 25, 2021 20:22
Show Gist options
  • Save inodaf/d2c4c546f9d285d3dcc747fb51c5bad2 to your computer and use it in GitHub Desktop.
Save inodaf/d2c4c546f9d285d3dcc747fb51c5bad2 to your computer and use it in GitHub Desktop.
Fibonacci: Exponential vs Dynamic Programming using Memoizers
const fib = n => {
if (n <= 2) return 1
return fib(n - 1) + fib(n - 2)
}
function fib2(n, mem = {}) {
let fibonacci;
if (n in mem) return mem[n]
fibonacci = n <= 2 ? 1 : fib2(n - 1, mem) + fib2(n - 2, mem)
mem[n] = fibonacci
return fibonacci
}
console.time('Fib2')
fib2(100)
console.timeEnd('Fib2')
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment