Помощь - Поиск - Пользователи - Календарь
Полная версия: Нахождение наименьшего и наибольшего связного куска в графе
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
klik1602
Поиском в глубину (нерекурсивный метод) нахожу количество связанных частей в графе, но преподаватель требует, чтобы ещё указывались какой из них наименьший, а какой наибольший. Помогите, подскажите как их найти, буду очень благодарна)
Lapp
Цитата(klik1602 @ 14.06.2011 20:05) *
Поиском в глубину (нерекурсивный метод) нахожу количество связанных частей в графе, но преподаватель требует, чтобы ещё указывались какой из них наименьший, а какой наибольший. Помогите, подскажите как их найти, буду очень благодарна)

Гм. Просто заведи счетчик и попутно с поиском (например, при перекрашивании вершины) увеличивай его. Также, заведи две переменные, max и min, инициализируй одну нулем, другую максимальным возможным значением. Когда закончишь поиск на очередном связном куске, сравнивай max и min с текущим размером и обновляй их, если нужно. Единственное, что я тут не совсем понимаю, это как идентифицировать связные куски.. Можно это делать по любому принадлежащему элементу, но этот метод сильно неоднозначен, будет трудно сравнивать результаты.
klik1602
спасибо большое за помощь)) всё получилось)) осталось ток закрасить наименьший и наибольший связные куски разными цветами и всё отлично))
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.