В ходе проделанной работы были закреплены навыки работы с различными структурами данных: перечисление, структура, очередь. Также были изучены и составлены алгоритмы, основанные на алгоритме раскраски графа.
Составленный алгоритм не всегда подбирает наилучшую раскраску для данного изображения, но стремится к этому относительно других алгоритмов, которые были опробованы. Он также не всегда точно находит смежных соседей, ведь существует очень много различных тестов со сложными ситуациями, где нахождения смежных соседей затруднено для разработанных алгоритмов.
В данной работе была использована динамическая структура данных, такая как очередь. Она идеально подошла для разработки алгоритма по определению цвета для каждой области исходя из таблицы, в которой отмечены соседи каждой области.
Благодаря данным, полученным в результате тестов, была составлена таблица и графики зависимости общего времени от количества областей и размера файла. Как видно из графиков в большинстве случаев при увеличении размера файла и увеличении количества областей время работы алгоритма возрастает.
Таким образов, при разработке алгоритмов были получены хорошие результаты. Навыки, полученные при выполнении данной работы, пригодятся в будущем не только для разработки программ, но и для улучшения процессов, происходящих в практической жизни.
Список используемых источников
Алгоритмы заливки изображений [Электронный ресурс] – Режим доступа: https://habr.com/ru/post/116374/ (дата обращения 10.10.2022)
Быстрый алгоритм для решения задачи о раскраске графа с использованием битовых операций [Электронный ресурс] – Режим доступа: http://itas2014.iitp.ru/pdf/1569941697.pdf (дата обращения 10.10.2022)
Раскраска графов [Электронный ресурс] – Режим доступа: https://ru.wikipedia.org/wiki/Раскраска_графов (дата обращения 10.10.2022)
Алгоритмы обнаружения контуров изображения [Электронный ресурс] – Режим доступа: https://habr.com/ru/post/467611/ (дата обращения 10.10.2022)