Репозиторий с лабораторными и практическими работами по курсу структур данных и алгоритмов за 3-й семестр. Содержит реализации классических структур данных на C и C++, алгоритмы поиска и обработки, а также примеры многопоточного программирования.
Проект состоит из четырёх основных директорий:
| Директория | Язык | Описание |
|---|---|---|
| L1_data_struct | C | Базовые структуры данных: динамический массив, односвязный и двусвязный списки, бинарное дерево, хеш-таблица. Каждая структура представлена парой .c/.h файлов. |
| L2_alg_data_struct | C | Алгоритмы обработки данных: поиск подстроки с использованием динамического программирования, вычисление обратной польской записи, проверка схожести подмножеств, удаление узлов дерева. |
| L3_data_struct++ | C++ | Классические структуры данных в объектно-ориентированной парадигме: шаблонный массив, двусвязный список, хеш-таблица. Добавлены методы сериализации (бинарной и текстовой). |
| L4_multipulti | C++ | Пример многопоточной обработки данных: задача поиска недостающих костей домино с замерами времени выполнения в однопоточном и многопоточном режимах. |
| Корень проекта | C++ | Файл main.cpp, запускающий unit-тесты (Google Test / Google Mock). |
- Компилятор с поддержкой C++11 и выше (g++, clang++, MSVC)
- CMake (рекомендуется)
- Google Test и Google Mock (для запуска тестов)
git clone https://github.com/Briejone/3_sem.git
cd 3_sem
mkdir build && cd build
cmake ..
make