slowbrain / 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

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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)

About

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

License:Apache License 2.0


Languages

Language:Julia 53.2%Language:Python 46.8%