A clean, production-grade educational implementation of fundamental Data Structures and Algorithms in Python, designed with encapsulation, modern Python type hints, and interactive console visualizations.
dsa
├── images/
│ └── bst/
│ ├── bst.png
│ └── bst_2.png
├── lib/
│ └── tree/
│ ├── base.py # Abstract base classes & interfaces
│ └── bst/
│ ├── bst.py # Core Binary Search Tree
│ ├── drawer.py # Console rendering logic
│ ├── traversals.py# In-order, pre-order, post-order, & morris walks
│ └── __init__.py
├── playground/
│ └── binary_search_trees.py # Interactive terminal runner & visualizer
├── pyproject.toml
├── README.md
└── uv.lock
###Prerequisites
- Python 3.10+
- uv (fast Python package installer and resolver)
Clone the repository and sync dependencies using uv:
git clone [https://github.com/Noble-47/dsa.git](https://github.com/Noble-47/dsa.git)
cd dsa
uv syncYou can run the interactive playground scripts to see data structures manipulate themselves in real time directly inside your terminal.
python3 -i playground/binary_search_trees.py- Language: Python 3.13
- Dependency Management: uv
