Я хочу найти связанные компоненты прямого ациклического графика с использованием набора узлов. Каким будет наиболее эффективный способ решения этой проблемы?Поиск подключенных компонентов
подсоединенного компонента: Если один из узлов является предшественником или наследников другого узла, они находятся в одной и той же компоненте связности.
Например, у меня есть следующий график и vector = [2,4,5,6,3]
. Для этого вектора есть два связанных компонента, как показано ниже.
C1 = [2,4,5,6]
C2 = [3]
Мое решение:
- Сортировать узлы с использованием их глубины значение
- Укажите узел
- Проверьте другие узлы, если они являются наследниками или нет. Если да, держите в поиске. Если нет, остановитесь и перейдите к шагу 2.
Как вы думаете?
Сортировка узлов с использованием их значения глубины? В каком порядке? Подключенные компоненты? Вы имеете в виду сильно связанные компоненты или любые подключенные компоненты? – shole
Я имею в виду любые подключенные компоненты. Я смогу выбрать узел в верхней части графика, отсортировав их, используя их значение глубины. @shole – g3d
так сказать, у меня есть 3 узла и два ребра 1 -> 2 & 1 -> 3, {1,2,3} - связная компонента? – shole