Комплексная визуализация алгоритмов сортировки и генерации лабиринтов с интерактивным интерфейсом.
Проект получил значительное признание в образовательном сообществе - демонстрационные ролики с визуализацией алгоритмов набрали в сумме свыше 25,000 просмотров на YouTube канале и 8,000 на самом популярном, а также более 10,000 на самом популярном в TikTok. Визуальная составляющая и интерактивность проекта доказали свою эффективность в обучении алгоритмам и структурам данных, делая сложные концепции более доступными для понимания.
- Bubble Sort (Сортировка пузырьком)
- Selection Sort (Сортировка выбором)
- Merge Sort (Сортировка слиянием)
- Quick Sort (Быстрая сортировка)
- Heap Sort (Пирамидальная сортировка)
- Bogo Sort (Случайная сортировка)
- Miracle Sort ("Чудо-сортировка")
- Алгоритм поиска в глубину (DFS)
- Алгоритм Краскала
- Алгоритм Уилсона
- Интерактивное меню с навигацией стрелками
- Цветовая визуализация элементов (красный, синий, желтый, зеленый)
- Звуковое сопровождение с разными тонами для разных операций
- Регулируемый размер данных (1-200 элементов для сортировки, до 50x50 для лабиринтов)
- Кроссплатформенность (работает в Windows)
- C++17
- Windows API для управления консолью
- ANSI escape-коды для цветового оформления
- Векторная графика в консоли с помощью псевдографики
project/
├── main.cpp # Основной файл с меню
├── sortings.cpp # Реализация алгоритмов сортировки
├── mazes.cpp # Реализация генерации лабиринтов
└── README.md # Документация
- Компилятор C++ с поддержкой C++17
- Операционная система Windows
- Консоль с поддержкой ANSI escape-кодов
g++ main.cppvisual_algorithms.exe- MazeVisualizer - генерация лабиринтов
- SortingsVisualizer - визуализация сортировок
- Exit - выход из программы
- Стрелки вверх/вниз - навигация по меню
- Enter - выбор пункта меню
- Любая клавиша - продолжить после завершения анимации
- Размер массива: 1-200 элементов
- Размер лабиринта: до 50x50 клеток
- Красный - текущий сравниваемый элемент
- Синий - второй сравниваемый элемент
- Желтый - обрабатываемый элемент в Merge Sort
- Зеленый - отсортированные элементы
- Сплошные блоки █ - стены
- Пустое пространство - проходы
- Визуализация 7 алгоритмов сортировки
- Настраиваемый размер и скорость
- Цветовое кодирование операций
- Генерация случайных лабиринтов
- Алгоритм поиска в глубину
- Пошаговая визуализация
- Интуитивный интерфейс управления
- Валидация ввода пользователя
- Плавная навигация
- Модульная архитектура - разделение сортировок и лабиринтов
- Эффективная перерисовка - использование escape-последовательностей
- Адаптивная визуализация - подстройка под разные размеры
- Обработка ошибок - защита от некорректного ввода
Каждая операция сортировки сопровождается звуковым сигналом с уникальной частотой, зависящей от индексов обрабатываемых элементов.
- Для лучшего опыта рекомендуется использовать консоль с поддержкой Unicode
- Размеры более 50 элементов могут замедлить визуализацию
- Bogo Sort и Miracle Sort предназначены только для демонстрационных целей