У меня есть контейнер геометрических объектов. Предположим, что есть круг, эллипс, линия, дуга. Для каждого объекта я могу получить конечную точку конечной точки и сущность объекта.Слияния/соединения геометрических объектов
Объекты могут быть подключены, так что конечные точки объекта могут быть также конечной точкой другого объекта.
Итак, мы имеем: сущность, начальные конечную точку, ID
Я хочу, чтобы назначить для каждого подключенного объекта одинакового идентификатора.
Если три объекта имеют одну общую точку, поскольку связанные объекты должны обрабатываться более длинным путем.
Каков наиболее эффективный способ сделать это? Моя единственная идея до сих пор заключается в том, чтобы перебирать весь контейнер и проверять петли каждого объекта с другими.
Надеюсь, что проблема хорошо определена, а метки - в порядке. Если нет, прокомментируйте или отредактируйте. Я постараюсь предоставить более подробную информацию.
Так много здесь указано. Если у вас нет большого количества объектов, вы можете просто перебирать их и проверять, какие из них имеют соответствующие конечные точки, с двумя циклами. Или перебирайте объекты один раз, помещая их в хэш-таблицу с помощью хэшей конечных точек, а затем проверяйте наличие общих конечных точек из хэш-бункеров. –
Две петли, которые вы имеете в виду Loop {Loop}, поэтому вторая петля вложена в первую очередь? – krzych
Да. Позвольте мне сделать правильный ответ с псевдокодом. –