У меня есть своего рода одноуровневая древовидная структура:
Где p — родительские узлы, c — дочерние узлы, а b — гипотетические ветви.
Я хочу найти все комбинации ветвей с ограничением, что только один родитель может разветвляться только на один дочерний узел, а две ветви не могут совместно использовать Родитель и/или ребенок.
Например. если combo
это набор комбинаций:
combo[0] = [b[0], b[3]]
combo[1] = [b[0], b[4]]
combo[2] = [b[1], b[4]]
combo[3] = [b[2], b[3]]
Думаю, это все. знак равно
Как это может быть достигнуто автоматически в Python для произвольных деревьев этих структур, т.е. количество p:s, c:s и b:s произвольно.
РЕДАКТИРОВАТЬ:
Это не дерево, а скорее двудольный ориентированный ациклический граф
b[0].p = 0
. - person Theodor   schedule 04.11.2010