Проєктування та розробка програми для візуалізації алгоритмів сортування - Шепелюк, Петро Вікторович (Волинський національний університет імені Лесі Українки, 2024)
Бакалаврська робота присвячена розробці програмного забезпечення для візуалізації алгоритмів сортування з використанням бібліотеки Simple and Fast Multimedia Library (SFML). Основною метою проекту є створення інструменту, який полегшить навчання та дослідження алгоритмів сортування через їх інтерактивну візуалізацію. У ході роботи розглянуто шість основних алгоритмів сортування: Bubble Sort, Insertion Sort, Selection Sort, Quick Sort, Counting Sort та Merge Sort. Для кожного алгоритму було розроблено і реалізовано інтерфейс, що дозволяє спостерігати за процесом сортування в реальному часі, контролювати швидкість візуалізації, зупиняти чи відновлювати виконання алгоритму, а також здійснювати покроковий аналіз кожного етапу сортування. Візуалізація реалізована за допомогою бібліотеки SFML, яка забезпечує ефективне та гнучке середовище для графічного відображення процесів сортування. SFML надає інструменти для створення анімацій, що робить процес візуалізації плавним і зрозумілим. Програма побудована на основі об'єктно-орієнтованого підходу, що сприяє її легкій модифікації та розширенню. Архітектура програми передбачає модульність, що дозволяє легко додавати нові алгоритми та функції в майбутньому. Цей інструмент може бути використаний як навчальний матеріал у курсах з алгоритмів та структур даних, а також для наукових досліджень у галузі обчислювальної інформатики. Він дозволяє здобувачам освіти і дослідникам не лише вивчати теорію алгоритмів сортування, а й бачити їхню роботу на практиці, що сприяє кращому розумінню та аналізу. Користувачі можуть експериментувати з різними наборами даних та параметрами алгоритмів, що робить програму цінним інструментом для дослідження продуктивності різних методів сортування. Програма також розроблена з урахуванням крос-платформенності, що дозволяє її використання на різних операційних системах, включаючи Windows, macOS та Linux. Це забезпечує широке охоплення потенційних користувачів та максимальну сумісність.
Keywords: алгоритми сортування; візуалізація; SFML; Bubble Sort; Insertion Sort; Selection Sort; Quick Sort; Merge Sort; Counting Sort