У меня есть неориентированный граф, который имеет некоторое количество узлов и ребер.
Каждый из узлов имеет определенный цвет, а каждый из ребер имеет определенный тип, определяемый цветом узлов, к которым он подключается:
- Ребро, соединяющее красный и синий узел, имеет тип красно-синий.
- Поскольку график не является ненаправленным:
red-blue == blue-red
.
Мне поручено написать алгоритм, который найдет все ребра, которые «изолированы».
Кромка изолируется, если расстояние между исходным ребром и следующим ребром того же типа, что и исходное, составляет не менее 2 ребер.
Каков наилучший способ сделать это? Скорее всего, это можно решить с помощью поиска в ширину / глубину, но я не могу найти способ связать их с этой конкретной проблемой