/recursion-and-dynamic-programming

Julia and Python recursion algorithm and dynamic programming applications including Edit Distance, Knapsack, Stock Trading, Sierpiński Carpet, Pascal Triangle, Prime Factorization, Palindrome, Coin Change, Hanoi Tower, Fibonacci

Primary LanguageJuliaApache License 2.0Apache-2.0

Recursion and Dynamic Programming Implementation

This is a repository for Julia/Python algorithm learning. Hopefully it can help you along your way towards mastering recursion algorithms and dynamic programming. As we all know, there are two approaches to do dynamic programming, tabulation (bottom up, solve small problem then the bigger ones) and memoization (top down, solve big problem then the smaller ones). In this repository, tabulation will be categorized as dynamic programming and memoization will be categorized as optimization in recursion. Please refer to the following link for the details of recursion and dynamic programming in Python.

http://interactivepython.org/runestone/static/pythonds/index.html

Recursion

  1. Fibonacci (Julia, Python)

  2. Prime Factorization (Julia, Python)

  3. Hanoi Tower (Julia, Python)

  4. Palindrome (Julia, Python)

  5. Pascal Triangle (Julia, Python)

  6. Edit Distance (Julia, Python)

  7. Sierpiński Triangle (Julia, Python)

  8. Sierpiński Carpet (Julia, Python)

  9. Coin Change (Julia, Python)

  10. Stock Trading (Julia, Python)

Dynamic Programming

  1. Knapsack (Julia, Python)

  2. Edit Distance (Julia, Python)

  3. Coin Change (Julia, Python)

  4. Stock Trading (Julia, Python)