Учебный репозиторий с лабораторными работами по алгоритмам и структурам данных на Python. В работах структуры реализованы вручную: от двусвязного списка и стека до дерева поиска, кучи и взвешенного графа.
| Работа | Тема | Основные алгоритмы и структуры |
|---|---|---|
| Лабораторная №2 | Линейные структуры | двусвязный список, стек, проверка скобочной последовательности |
| Лабораторная №3 | Деревья и кучи | двоичное дерево поиска, максимальная куча, сохранение в файл |
| Лабораторная №4 | Сортировки | гномья сортировка, сортировка вставками, подсчётом и слиянием |
| Лабораторная №5 | Поиск | поиск Фибоначчи и интерполяционный поиск |
| Лабораторная №6 | Графы | список смежности, обход в ширину, алгоритм Дейкстры |
- Python 3.10 или новее;
- пакет
Fakerдля генерации тестовых данных в лабораторных №4 и №5.
Создание виртуального окружения и установка зависимости:
python -m venv .venvWindows PowerShell:
.\.venv\Scripts\Activate.ps1
python -m pip install FakerLinux и macOS:
source .venv/bin/activate
python -m pip install FakerКаждую работу следует запускать из её каталога: так локальные импорты и пути к файлам будут разрешены корректно.
cd S3Lab2
python main.pyДля другой лабораторной замените S3Lab2 на нужный каталог. Скрипты выводят демонстрацию операций и результаты простых замеров времени в консоль.
.
├── S3Lab2/ # двусвязный список и стек
├── S3Lab3/ # двоичное дерево поиска и максимальная куча
├── S3Lab4/ # алгоритмы сортировки
├── S3Lab5/ # алгоритмы поиска
├── S3Lab6/ # графы, BFS и алгоритм Дейкстры
└── COPYRIGHT
Лабораторная №3 перезаписывает Tree.txt и Heap.txt, а лабораторная №6 — vertex.txt. Эти файлы используются для демонстрации сериализации и последующего чтения структур.
Исходный код распространяется на условиях, указанных в файле COPYRIGHT. Все права сохранены за правообладателем.