A lightweight collection of Jupyter notebooks that walk through common data structures and algorithms (DSA) and how they map to LeetCode-style problems. Each notebook pairs concepts with worked examples and practice prompts so you can build intuition and pattern recognition.
.
├── heap/
│ └── heap_intro.ipynb
├── searching/
│ ├── backtracking/
│ │ └── backtracking_intro.ipynb
│ └── dfs/
│ └── dfs_intro.ipynb
└── stack_queue/
├── queue_intro.ipynb
└── stack_intro.ipynb
-
Clone the repo
git clone <your-fork-or-repo-url> cd Leetcode_starter
-
Create and activate a virtual environment (recommended)
python -m venv .venv source .venv/bin/activate # macOS/Linux # .venv\Scripts\activate # Windows (PowerShell)
-
Install Jupyter
pip install jupyter
-
Launch Jupyter
jupyter notebook
-
Heap
heap/heap_intro.ipynb
-
Searching
- Backtracking:
searching/backtracking/backtracking_intro.ipynb - Depth-First Search (DFS):
searching/dfs/dfs_intro.ipynb
- Backtracking:
-
Stack & Queue
- Stack:
stack_queue/stack_intro.ipynb - Queue:
stack_queue/queue_intro.ipynb
- Stack:
If you are new to DSA, consider this progression:
- Stack → Queue
- DFS
- Backtracking
- Heap
If you want to add a new tutorial notebook:
- Create a new folder under the relevant topic (or create a new topic folder).
- Name the notebook with a clear
*_intro.ipynbor*_tutorial.ipynbsuffix. - Add the notebook to the Repo Layout and Notebooks sections above.
Add a license if you plan to share this repository publicly.