Releases: tryapitsynandrey-web/Algorithms-Data-Structures-Lab
Releases · tryapitsynandrey-web/Algorithms-Data-Structures-Lab
v1.0.0 — Data Structures and Algorithms Final Project
Overview
This release completes the first stable version of the Data Structures and Algorithms Final Project.
The project is implemented in Python and covers seven required algorithmic tasks:
- Singly linked list operations: reverse, sort, and merge sorted lists
- Recursive Pythagoras tree fractal generation and visualization
- Dijkstra shortest path algorithm using a priority queue
- Binary heap visualization as a tree structure
- Iterative DFS and BFS traversal visualization with color gradients
- Greedy and dynamic programming solutions for food budget optimization
- Monte Carlo simulation for estimating probabilities of rolling two dice
Project Structure
The repository uses a modular structure:
src/core/— algorithm implementationssrc/models/— data structures and typed modelssrc/visualization/— Matplotlib and NetworkX visualizationsscripts/— runnable task entry pointstests/— pytest test suitereports/— generated analytical summary for Monte Carlo simulationconfig/— project configuration defaults
Verification
The project was validated with the following checks:
python -m compileall src tests scripts
python -m pytest -v
python scripts/run_all.py
python -m ruff check .
npx pyrightValidation results:
- Python compilation: passed
- Unit tests: 32 passed
- Full task runner: passed
- Ruff linting: passed
- Pyright type checking: passed
Generated Outputs
Running the project generates local visual outputs for:
- Pythagoras tree fractal
- Binary heap tree
- DFS traversal
- BFS traversal
- Monte Carlo probability chart
Generated images are excluded from Git tracking and can be recreated locally with:
python scripts/run_all.pyNotes
This release focuses on assignment correctness, clean modular architecture, deterministic testing, and mentor-friendly verification.