{"id":18419459,"url":"https://github.com/je-suis-tm/recursion-and-dynamic-programming","last_synced_at":"2026-02-07T18:35:40.375Z","repository":{"id":63047870,"uuid":"127853725","full_name":"je-suis-tm/recursion-and-dynamic-programming","owner":"je-suis-tm","description":"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","archived":false,"fork":false,"pushed_at":"2023-07-19T17:57:25.000Z","size":999,"stargazers_count":61,"open_issues_count":0,"forks_count":13,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-04-13T09:13:35.617Z","etag":null,"topics":["dynamic-programming","edit-distance","fractal-algorithms","fractal-geometry","fractal-images","fractals","hanoi-towers","hilbert-curve","julia-training","knapsack","knapsack-problem","koch-snowflake","learning-julia","palindrome","pascal-triangle","recursion","recursive-algorithm","sierpinski-carpet","sierpinski-triangle","tabulation"],"latest_commit_sha":null,"homepage":"","language":"Julia","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/je-suis-tm.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-04-03T05:06:07.000Z","updated_at":"2025-01-06T00:16:54.000Z","dependencies_parsed_at":"2024-12-24T17:51:39.484Z","dependency_job_id":null,"html_url":"https://github.com/je-suis-tm/recursion-and-dynamic-programming","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/je-suis-tm%2Frecursion-and-dynamic-programming","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/je-suis-tm%2Frecursion-and-dynamic-programming/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/je-suis-tm%2Frecursion-and-dynamic-programming/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/je-suis-tm%2Frecursion-and-dynamic-programming/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/je-suis-tm","download_url":"https://codeload.github.com/je-suis-tm/recursion-and-dynamic-programming/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248688552,"owners_count":21145766,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["dynamic-programming","edit-distance","fractal-algorithms","fractal-geometry","fractal-images","fractals","hanoi-towers","hilbert-curve","julia-training","knapsack","knapsack-problem","koch-snowflake","learning-julia","palindrome","pascal-triangle","recursion","recursive-algorithm","sierpinski-carpet","sierpinski-triangle","tabulation"],"created_at":"2024-11-06T04:17:07.116Z","updated_at":"2026-02-07T18:35:40.339Z","avatar_url":"https://github.com/je-suis-tm.png","language":"Julia","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Recursion and Dynamic Programming\n\n## Intro\n\nOn 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 \u003ca href=https://runestone.academy/runestone/books/published/pythonds/Recursion/WhatIsRecursion.html\u003erecursion\u003c/a\u003e and tabulation approach is called \u003ca href=https://runestone.academy/runestone/books/published/pythonds/Recursion/DynamicProgramming.html\u003edynamic programming\u003c/a\u003e. They used to be the core features of this repository.\n\nOddly enough, this repository didn’t help me beat any interview related to recursion or dynamic programming :joy: but it became entrepôt of my interest in fractal geometry :yum: I suppose I am pretty good at making lemonade when life gives me :lemon: (salute to Riley Reid :stuck_out_tongue_closed_eyes:) 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.\n\nWhether 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 :vulcan_salute:\n\n## Recursion\n\n* Coin Change (\u003ca href=https://github.com/je-suis-tm/recursion-and-dynamic-programming/blob/master/coin%20change%20recursion.jl\u003eJulia\u003c/a\u003e, \u003ca href=https://github.com/je-suis-tm/recursion-and-dynamic-programming/blob/master/coin%20change%20recursion.py\u003ePython\u003c/a\u003e)\n\n* Edit Distance (\u003ca href=https://github.com/je-suis-tm/recursion-and-dynamic-programming/blob/master/edit%20distance%20recursion.jl\u003eJulia\u003c/a\u003e, \u003ca href=https://github.com/je-suis-tm/recursion-and-dynamic-programming/blob/master/edit%20distance%20recursion.py\u003ePython\u003c/a\u003e)\n\n* Fibonacci (\u003ca href=https://github.com/je-suis-tm/recursion-and-dynamic-programming/blob/master/fibonacci%20with%20memoization.jl\u003eJulia\u003c/a\u003e, \u003ca href=https://github.com/je-suis-tm/recursion-and-dynamic-programming/blob/master/fibonacci%20with%20memoization.py\u003ePython\u003c/a\u003e)\n\n* Hanoi Tower (\u003ca href=https://github.com/je-suis-tm/recursion-and-dynamic-programming/blob/master/hanoi%20tower.jl\u003eJulia\u003c/a\u003e, \u003ca href=https://github.com/je-suis-tm/recursion-and-dynamic-programming/blob/master/hanoi%20tower.py\u003ePython\u003c/a\u003e)\n\n* Palindrome (\u003ca href=https://github.com/je-suis-tm/recursion-and-dynamic-programming/blob/master/palindrome%20checker%204%20methods.jl\u003eJulia\u003c/a\u003e, \u003ca href=https://github.com/je-suis-tm/recursion-and-dynamic-programming/blob/master/palindrome%20checker%204%20methods.py\u003ePython\u003c/a\u003e)\n\n* Pascal Triangle (\u003ca href=https://github.com/je-suis-tm/recursion-and-dynamic-programming/blob/master/pascal%20triangle%20with%20memoization.jl\u003eJulia\u003c/a\u003e, \u003ca href=https://github.com/je-suis-tm/recursion-and-dynamic-programming/blob/master/pascal%20triangle%20with%20memoization.py\u003ePython\u003c/a\u003e)\n\n* Prime Factorization (\u003ca href=https://github.com/je-suis-tm/recursion-and-dynamic-programming/blob/master/factorization.jl\u003eJulia\u003c/a\u003e, \u003ca href=https://github.com/je-suis-tm/recursion-and-dynamic-programming/blob/master/factorization.py\u003ePython\u003c/a\u003e)\n\n* Stock Trading (\u003ca href=https://github.com/je-suis-tm/recursion-and-dynamic-programming/blob/master/stock%20trading%20recursion.jl\u003eJulia\u003c/a\u003e, \u003ca href=https://github.com/je-suis-tm/recursion-and-dynamic-programming/blob/master/stock%20trading%20recursion.py\u003ePython\u003c/a\u003e)\n\n## Fractal Geometry\n\n* Cantor Set (\u003ca href=https://github.com/je-suis-tm/recursion-and-dynamic-programming/blob/master/cantor%20set.jl\u003eJulia\u003c/a\u003e, \u003ca href=https://github.com/je-suis-tm/recursion-and-dynamic-programming/blob/master/cantor%20set.py\u003ePython\u003c/a\u003e)\n\n![alt text](https://github.com/je-suis-tm/recursion-and-dynamic-programming/blob/master/preview/cantor%20set.png)\n\n* Hilbert Curve (\u003ca href=https://github.com/je-suis-tm/recursion-and-dynamic-programming/blob/master/hilbert%20curve.jl\u003eJulia\u003c/a\u003e, \u003ca href=https://github.com/je-suis-tm/recursion-and-dynamic-programming/blob/master/hilbert%20curve.py\u003ePython\u003c/a\u003e)\n\n![alt text](https://github.com/je-suis-tm/recursion-and-dynamic-programming/blob/master/preview/hilbert%20curve.png)\n\n* Jerusalem Cross (\u003ca href=https://github.com/je-suis-tm/recursion-and-dynamic-programming/blob/master/jerusalem%20cross.jl\u003eJulia\u003c/a\u003e, \u003ca href=https://github.com/je-suis-tm/recursion-and-dynamic-programming/blob/master/jerusalem%20cross.py\u003ePython\u003c/a\u003e)\n\n![alt text](https://github.com/je-suis-tm/recursion-and-dynamic-programming/blob/master/preview/jerusalem%20cross.png)\n\n* Koch Snowflake (\u003ca href=https://github.com/je-suis-tm/recursion-and-dynamic-programming/blob/master/koch%20snowflake.jl\u003eJulia\u003c/a\u003e, \u003ca href=https://github.com/je-suis-tm/recursion-and-dynamic-programming/blob/master/koch%20snowflake.py\u003ePython\u003c/a\u003e)\n\n![alt text](https://github.com/je-suis-tm/recursion-and-dynamic-programming/blob/master/preview/koch%20snowflake.png)\n\n* Pythagorean Tree (\u003ca href=https://github.com/je-suis-tm/recursion-and-dynamic-programming/blob/master/pythagorean%20tree.jl\u003eJulia\u003c/a\u003e, \u003ca href=https://github.com/je-suis-tm/recursion-and-dynamic-programming/blob/master/pythagorean%20tree.py\u003ePython\u003c/a\u003e)\n\n![alt text](https://github.com/je-suis-tm/recursion-and-dynamic-programming/blob/master/preview/pythagorean%20tree.png)\n\n* Sierpiński Carpet (\u003ca href=https://github.com/je-suis-tm/recursion-and-dynamic-programming/blob/master/sierpi%C5%84ski%20carpet.jl\u003eJulia\u003c/a\u003e, \u003ca href=https://github.com/je-suis-tm/recursion-and-dynamic-programming/blob/master/sierpi%C5%84ski%20carpet.py\u003ePython\u003c/a\u003e)\n\n![alt text](https://github.com/je-suis-tm/recursion-and-dynamic-programming/blob/master/preview/sierpi%C5%84ski%20carpet.png)\n\n* Sierpiński Triangle (\u003ca href=https://github.com/je-suis-tm/recursion-and-dynamic-programming/blob/master/sierpi%C5%84ski%20triangle.jl\u003eJulia\u003c/a\u003e, \u003ca href=https://github.com/je-suis-tm/recursion-and-dynamic-programming/blob/master/sierpi%C5%84ski%20triangle.py\u003ePython\u003c/a\u003e)\n\n![alt text](https://github.com/je-suis-tm/recursion-and-dynamic-programming/blob/master/preview/sierpi%C5%84ski%20triangle.png)\n\n## Dynamic Programming\n\n* Coin Change (\u003ca href=https://github.com/je-suis-tm/recursion-and-dynamic-programming/blob/master/coin%20change%20dynamic%20programming.jl\u003eJulia\u003c/a\u003e, \u003ca href=https://github.com/je-suis-tm/recursion-and-dynamic-programming/blob/master/coin%20change%20dynamic%20programming.py\u003ePython\u003c/a\u003e)\n\n* Edit Distance (\u003ca href=https://github.com/je-suis-tm/recursion-and-dynamic-programming/blob/master/edit%20distance%20dynamic%20programming.jl\u003eJulia\u003c/a\u003e, \u003ca href=https://github.com/je-suis-tm/recursion-and-dynamic-programming/blob/master/edit%20distance%20dynamic%20programming.py\u003ePython\u003c/a\u003e)\n\n* Egg Drop (\u003ca href=https://github.com/je-suis-tm/recursion-and-dynamic-programming/blob/master/egg%20drop%20dynamic%20programming.jl\u003eJulia\u003c/a\u003e, \u003ca href=https://github.com/je-suis-tm/recursion-and-dynamic-programming/blob/master/egg%20drop%20dynamic%20programming.py\u003ePython\u003c/a\u003e)\n\n* Knapsack (\u003ca href=https://github.com/je-suis-tm/recursion-and-dynamic-programming/blob/master/knapsack.jl\u003eJulia\u003c/a\u003e, \u003ca href=https://github.com/je-suis-tm/recursion-and-dynamic-programming/blob/master/knapsack.py\u003ePython\u003c/a\u003e)\n\n* Knapsack Multiple Choice (\u003ca href=https://github.com/je-suis-tm/recursion-and-dynamic-programming/blob/master/knapsack%20multiple%20choice.jl\u003eJulia\u003c/a\u003e, \u003ca href=https://github.com/je-suis-tm/recursion-and-dynamic-programming/blob/master/knapsack%20multiple%20choice.py\u003ePython\u003c/a\u003e)\n\n* Stock Trading (\u003ca href=https://github.com/je-suis-tm/recursion-and-dynamic-programming/blob/master/stock%20trading%20dynamic%20programming.jl\u003eJulia\u003c/a\u003e, \u003ca href=https://github.com/je-suis-tm/recursion-and-dynamic-programming/blob/master/stock%20trading%20dynamic%20programming.py\u003ePython\u003c/a\u003e)\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fje-suis-tm%2Frecursion-and-dynamic-programming","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fje-suis-tm%2Frecursion-and-dynamic-programming","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fje-suis-tm%2Frecursion-and-dynamic-programming/lists"}