Skip to content

Releases: tryapitsynandrey-web/Algorithms-Data-Structures-Lab

v1.0.0 — Data Structures and Algorithms Final Project

25 May 23:04

Choose a tag to compare

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 implementations
  • src/models/ — data structures and typed models
  • src/visualization/ — Matplotlib and NetworkX visualizations
  • scripts/ — runnable task entry points
  • tests/ — pytest test suite
  • reports/ — generated analytical summary for Monte Carlo simulation
  • config/ — 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 pyright

Validation 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.py

Notes

This release focuses on assignment correctness, clean modular architecture, deterministic testing, and mentor-friendly verification.