2016-12-21 6 views
0

У меня есть коллекция пересекающихся прямоугольников. Используя алгоритм развертки линии, я вычислил пары всех пересекающихся прямоугольников. Теперь я хотел бы, чтобы эффективный алгоритм группировал все пересекающиеся прямоугольники, что-то похожее на поиск островов. Вход: (1,2) (2,3) (3,4) (5,6) (6,7) -> Пары, рассчитанные по алгоритму развертки линии. Ouput: (1.2.3.4) (5,6,7)Группы пар пересекающихся прямоугольников

Для линии развертки я называюсь axis‐aligned rectangles intersection

+0

Начать с малого: если у вас есть только два прямоугольника, можете ли вы написать код, чтобы определить, пересекаются ли они? –

+0

Вам нужен алгоритм в псевдокоде или на каком-то определенном языке? – Nurjan

+0

Извините, мой вопрос был неправильным. Я редактировал вопрос – user1919600

ответ

2

Чтобы сделать набор союзного для всех связанных прямоугольников с использованием пары пересекающихся единиц, вы можете использовать очень эффективный алгоритмический подход с disjoint-set/union–find data structure.

Смежные вопросы