Loops, Recursion and Memoization in JavaScript
- by Ken Dason
Originally posted on: http://geekswithblogs.net/kdason/archive/2013/07/25/loops-recursion-and-memoization-in-javascript.aspxAccording to Wikipedia, the factorial of a positive integer n (denoted by n!) is the product of all positive integers less than or equal to n.
For example, 5! = 5 x 4 x 3 x 2 x 1 = 120.
The value of 0! is 1.
We can use factorials to demonstrate iterative loops and recursive functions in JavaScript. Here is a function that computes the factorial using a for loop:
Output:
Time Taken: 51 ms
Here is the factorial function coded to be called recursively:
Output:
Time Taken: 165 ms
We can speed up the recursive function with the use of memoization. Hence, if the value has previously been computed, it is simply returned and the recursive call ends.
Output:
Time Taken: 17 ms