разрешить дерево, зная ВСЕХ родителей и предков листовых узлов - PullRequest
2 голосов
/ 16 ноября 2010

Построить дерево довольно просто, если вы знаете непосредственного родителя всех узлов.Но что, если у вас есть информация обо ВСЕХ родителях конечных узлов (включая прародителей, пра-пра-прародителей и т. Д.), Не зная, является ли это непосредственным родителем или нет?

Например, рассмотрим следующее дерево:

              A ----->  B ------> C -----> G

                       |

                       D ------> E

                       |

                       F

Информация, доступная для описания этого дерева, представляет собой следующий CSV-файл:

child, parent

E, D

E, B

E, A

F, D

F, B

G, C

G, B

G, A

F, A

Не могли бы вы дать несколько советов по общему алгоритму для решения этой проблемы?

1 Ответ

2 голосов
/ 16 ноября 2010
parents(F) = {A,B,D}
parents(E) = {A,B,D}
parents(G) = {A,B,C}

Невозможно воссоздать дерево из этого набора данных, поскольку очевидно, что из этих данных мы не можем видеть, какой узел является корнем, A или B?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...