nezzcarth hat geschrieben:@pyhoax:
Wozu ist denn die mittlere Verschachtelungsebene gedacht? Die Elemente des inneren Dictionarys könnte man für einen gewichteten Graphen doch auch direkt in das mittlere schreiben und so eine einfachere Struktur erzeugen -- oder übersehe ich etwas?
Ich habe die Angaben aus dem ersten Posting versucht zu einen Bild zusammen zufügen, knapp daneben ist halt auch vorbei.
Meine Wahl war die Notation für einen gerichteten Baum in Form von mehreren geschachtelten Dictionaries. (Der gerichtete Baum ist auch ein gerichteter Graph)
Was heisst jetzt *alle* Pfade?
Genau...daher die Aufgabenstellung will Pfade ausgehend von einen Knoten berechnen , das impliziert das der Graph nicht zyklisch ist.
Wenn du jetzt meine Datenstruktur liest, dann mach dir klar das nur die Keys 'a', 'b' des root Dicts auch die Namen der 'root' Knoten sind.
Der Name der Knoten eines Baumes werden Idalerweise als Pfad der Knotenkeys durch den Baum beschrieben (man denke an eine Rest-API oder eine Verzeichnisstruktur). Daher ist eine Wiederholung des keys 'a' in der Darstellung nicht die Referenzierung des selben Knotens.
Schlecht geraten.. weil ich ein guten Informatiker bin und Optimist, denn die Aufgabe hat es in sich:
Die von asdfasdf präsentierte Datenstruktur ist nur zufällig nicht zyklisch konfiguriert, sie könnte es aber.
Wenn ich nun algorithmisch auf der Struktur arbeite, muss ich der Datenstruktur vertrauen das sie den dummen Computer nicht in eine Endlosschleife zwingt.. sprich die Anzahl der Pfad nicht berechenbar ist oder ich muss wie der GC es hat eine Detecion für Zyklische Pfade einbauen.
Nein es gibt keine Garantie, dass der Graph azyklisch ist, doch das ignorier ich erstmals um die Sache nicht noch komplizierter zu machen.
Dem kann ich daher auch nicht folgen, denn es macht die Sache schon etwas kompliziert.