/recursion-and-dynamic-programming

Julia and Python recursion algorithm, fractal geometry and dynamic programming applications including Edit Distance, Knapsack (Multiple Choice), Stock Trading, Pythagorean Tree, Koch Snowflake, Jerusalem Cross, Sierpiński Carpet, Hilbert Curve, Pascal Triangle, Prime Factorization, Palindrome, Egg Drop, Coin Change, Hanoi Tower, Cantor Set, Fibonacci

Primary LanguageJuliaApache License 2.0Apache-2.0

Recursion and Dynamic Programming

Intro

On par with many of my repositories, this one didn’t start off with great ambition either. It was merely an archive of LeetCode problems and solutions. For a problem like edit distance, there are two approaches – memoization (top down, solve big problem then the smaller ones) and tabulation (bottom up, solve small problem then the bigger ones). Conventionally, memoization approach is called recursion and tabulation approach is called dynamic programming. They used to be the core features of this repository.

Oddly enough, this repository didn’t help me beat any interview related to recursion or dynamic programming 😂 but it became entrepôt of my interest in fractal geometry 😋 I suppose I am pretty good at making lemonade when life gives me 🍋 (salute to Riley Reid 😝) Jokes aside, a fractal is a mathematical set that exhibits a repeating pattern that displays at every scale. It can be modeled by using recursive algorithms or L-systems techniques. Fractal patterns will be the core feature of this repository in the foreseeable future.

Whether you are here for algorithm and data structure or for the niche branch of geometry, I sincerely hope this repository helps you along the way, and perhaps boldly take you somewhere you have never gone before 🖖

Recursion

Fractal Geometry

alt text

alt text

alt text

alt text

alt text

alt text

alt text

Dynamic Programming