Skip to content

About

Учебные реализации структур данных и алгоритмов на Python: списки, стек, дерево поиска, куча, сортировки, поиск, графы, BFS и алгоритм Дейкстры. (Алгоритмы и структуры данных: Чернышов С.А. + Тюринова В.А.)

Topics

Resources

Stars

2 stars

Watchers

0 watching

Forks

Latest commit

 

History

5 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Алгоритмы и структуры данных

Учебный репозиторий с лабораторными работами по алгоритмам и структурам данных на Python. В работах структуры реализованы вручную: от двусвязного списка и стека до дерева поиска, кучи и взвешенного графа.

Лабораторные работы

Работа Тема Основные алгоритмы и структуры
Лабораторная №2 Линейные структуры двусвязный список, стек, проверка скобочной последовательности
Лабораторная №3 Деревья и кучи двоичное дерево поиска, максимальная куча, сохранение в файл
Лабораторная №4 Сортировки гномья сортировка, сортировка вставками, подсчётом и слиянием
Лабораторная №5 Поиск поиск Фибоначчи и интерполяционный поиск
Лабораторная №6 Графы список смежности, обход в ширину, алгоритм Дейкстры

Требования

  • Python 3.10 или новее;
  • пакет Faker для генерации тестовых данных в лабораторных №4 и №5.

Создание виртуального окружения и установка зависимости:

python -m venv .venv

Windows PowerShell:

.\.venv\Scripts\Activate.ps1
python -m pip install Faker

Linux и 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. Все права сохранены за правообладателем.

About

Учебные реализации структур данных и алгоритмов на Python: списки, стек, дерево поиска, куча, сортировки, поиск, графы, BFS и алгоритм Дейкстры. (Алгоритмы и структуры данных: Чернышов С.А. + Тюринова В.А.)

Topics

Resources

Stars

2 stars

Watchers

0 watching

Forks

Contributors

Languages