ho una sorta di una struttura ad albero di un livello come:combinatorio in Python
Dove p sono nodi padre, c sono i nodi e B bambino sono ipotetici rami.
voglio trovare tutte le combinazioni di rami sotto il vincolo che solo un genitore può espandersi a un solo una nodo figlio, e due rami non può condividere genitore e/o un bambino.
E.g. se combo
è l'insieme di combinazioni:
combo[0] = [b[0], b[3]]
combo[1] = [b[0], b[4]]
combo[2] = [b[1], b[4]]
combo[3] = [b[2], b[3]]
Credo che sia tutti loro. =)
Come può essere eseguito automaticamente in Python per alberi arbitrari di queste strutture, cioè il numero di p: s, c: s eb: s sono arbitrari.
EDIT:
E non è un albero, ma piuttosto uno sguardo bipartitedirected acyclic graph
La tua immagine suggerisce che ci sono rami disponibili da ogni genitore a ogni bambino. Presumi questo? – dhill
Hai già una struttura dati per rappresentare questo? –
@dhill - Funziona? Il nodo padre p1 non si dirama su child c0. – Theodor