Ich habe eine Art von einer Ebene Baumstruktur als:Kombinatorik in Python
Wo p Elternknoten, c sind untergeordnete Knoten, und b sind hypothetischen Zweige.
Ich möchte der Zweige unter der Einschränkung alle Kombinationen finden, die nur ein Elternteil nur ein Kind Knoten verzweigen, und zwei Zweige nicht teilen Eltern und/oder Kind.
z. wenn combo
der Satz von Kombinationen ist:
combo[0] = [b[0], b[3]]
combo[1] = [b[0], b[4]]
combo[2] = [b[1], b[4]]
combo[3] = [b[2], b[3]]
Ich glaube, dass alle von ihnen ist. =)
Wie kann dies automatisch in Python für beliebige Bäume dieser Strukturen erreicht werden, d.h. die Anzahl von p: s, c: s und b: s sind willkürlich.
EDIT:
Es ist kein Baum, sondern ein bipartitedirected acyclic graph
Ihr Bild weist darauf hin, dass jedem Kind von jedem Elternteil Zweige zur Verfügung stehen. Nimmst du das an? – dhill
Haben Sie bereits eine Datenstruktur, um das darzustellen? –
@dhill - Geht das? Der Elternknoten p1 verzweigt nicht zum Kind c0. – Theodor