Дерево, в котором каждый узел может иметь несколько родителей

Вот теоретический/педантичный вопрос :: представьте свойства, каждый из которых может принадлежать множеству других. Кроме того, от одной итерации владения к другому два соседних владельца могут принять решение о частичном объединении владения. Например:

territory 1, t=0: a,b,c,d
territory 2, t=0: e,f,g,h

territory 1, t=1: a,b,g,h
territory 2, t=1: g,h

То есть cи dбольше не владеют собственностью; а gи hстали, так сказать, жирными котами.

В настоящее время я представляю эту структуру данных в виде дерева, в котором у каждого потомка может быть несколько родителей. Моя цель — втиснуть это в шаблон проектирования Composite; но у меня возникли проблемы с получением концептуальной основы того, как клиент может вернуться и обновить предыдущее право собственности, не испортив всю структуру.

Мой вопрос двоякий.

  1. Легко :Какое удобное название для этой структуры данных, чтобы я мог сам найти ее в Google?

  2. Тяжело :Что я делаю не так? Когда я программирую, я стараюсь держать в голове мантру «Будь проще, глупец», и я чувствую, что нарушаю это кредо.

9
задан jaco0646 14 November 2018 в 17:31
поделиться