Как пара однонаправленных карт.

ми словами, можем ли мы эффективно смоделировать многие-многие отношения в постоянной структуре данных?

Была предложена пара однонаправленных мультикарт. Тем не менее, я не уверен, как это будет хорошо работать для удаления в постоянной структуре данных. Давайте возьмем случай, когда у нас есть ключи 1..4 для значений «1» .. «4», и предположим, что они каждый ссылаются на все остальные, поэтому у нас есть две карты, которые очень похожи в обоих направлениях:

{1 => ["2", "3", "4"], 2 => ["1", "3", "4"], ...} {"1" => [2,3, 4], "2" => [1,3,4], ...}

Теперь мы хотим полностью удалить пункт 1 из системы. Это требует изменения одного узла в первой карте, но это требует изменения n-1 узлов во второй. Для n в тысячах (что, вероятно, в случае, я рассматриваю это для), не будет ли это довольно дорого? Или мультикарта оптимизирована для обработки изменений такого типа? Это патологический случай, но все же ...

Quadtrees кажется увлекательной идеей. Я собираюсь подумать об этом.

Ответы на вопрос(2)

Ваш ответ на вопрос