# Source Map — 06 Recursion and Backtracking

Reference করা প্রতিটা idea আর problem কোথা থেকে এসেছে, আর এখানে কীভাবে ব্যবহার হয়েছে। এই folder-এর সব prose, ASCII movie আর code এই repo-র জন্য scratch থেকে লেখা।

| Concept / Problem | Source Type | Source Name | Link | How it is used | Copying status |
| --- | --- | --- | --- | --- | --- |
| Recursion, call stack, base cases | Encyclopedia | Wikipedia: Recursion (computer science) | <https://en.wikipedia.org/wiki/Recursion_(computer_science)> | concept.md-র জন্য background verification | original explanation |
| Backtracking general framework | Encyclopedia | Wikipedia: Backtracking | <https://en.wikipedia.org/wiki/Backtracking> | choose/explore/un-choose framing-এর cross-check | original explanation |
| Recursion chapter in Python | Open textbook | Problem Solving with Algorithms and DS (Runestone) | <https://runestone.academy/ns/books/published/pythonds3/index.html> | Recommended supplementary reading | official link only |
| Backtracking chapter with diagrams | Open book | Hello Algo | <https://www.hello-algo.com/en/> | Recommend করার মতো বিকল্প visual treatment | official link only |
| Complete search philosophy (CP) | CP curriculum | USACO Guide (Bronze: Complete Search) | <https://usaco.guide/> | README-র CP connection | official link only |
| Recursion tree visualizer | Interactive tool | VisuAlgo | <https://visualgo.net/en> | Recommended interactive exploration | official link only |
| Subsets | Online judge | LeetCode | <https://leetcode.com/problems/subsets/> | Include/exclude worked pattern, নিজের ভাষায় | rewritten problem |
| Permutations | Online judge | LeetCode | <https://leetcode.com/problems/permutations/> | Choose-each-remaining worked pattern, নিজের ভাষায় | rewritten problem |
| Combination Sum | Online judge | LeetCode | <https://leetcode.com/problems/combination-sum/> | Pruning-এর worked example, নিজের ভাষায় | rewritten problem |
| N-Queens | Online judge | LeetCode | <https://leetcode.com/problems/n-queens/> | Constraint backtracking-এর centerpiece, solver scratch থেকে লেখা | rewritten problem |
| Climbing Stairs / Fibonacci Number | Online judge | LeetCode | <https://leetcode.com/problems/climbing-stairs/>, <https://leetcode.com/problems/fibonacci-number/> | Memoization bridge-এর example | official link only |
| Generate Parentheses, Word Search, others | Online judge | LeetCode | <https://leetcode.com/problems/> + slug per README | Practice list-এর entry | official link only |
| Chessboard and Queens; Creating Strings | Online judge | CSES Problem Set | <https://cses.fi/problemset/> | CP practice (task name দেওয়া, ID assert করা হয়নি) | official link only |
| Stack data structure foundation | This repo | 04 Stack and Queue | [../04-stack-and-queue/](../04-stack-and-queue/README.md) | Call stack = stack, prerequisite link | original explanation |
| Seen-set for `used` tracking | This repo | 05 Hashing, Pattern 4 | [../05-hashing/patterns.md](../05-hashing/patterns.md) | Permutations / N-Queens-এর set-গুলোর inheritance link | original explanation |
| Memoization → DP handoff | This repo | 12 Dynamic Programming | [../12-dynamic-programming/](../12-dynamic-programming/README.md) | Pattern 7 থেকে forward link | original explanation |
| Theater-row and maze-with-chalk analogies | This repo | concept.md | [./concept.md](./concept.md) | Original framing device | original explanation |
| All implementation.py code | This repo | implementation.py | [./implementation.py](./implementation.py) | Scratch থেকে লেখা; assert দিয়ে verify করা (8-queens count 92 ইত্যাদি) | original explanation |
