In meiner Webapp haben wir viele Felder, die andere Felder zusammenfassen, und diese Felder fassen mehr Felder zusammen. Ich weiß, dass dies ein gerichteter azyklischer Graph ist.Probleme mit einem einfachen Abhängigkeitsalgorithmus
Wenn die Seite geladen wird, berechne ich Werte für alle Felder. Was ich wirklich versuche, ist, meine DAG in eine eindimensionale Liste umzuwandeln, die einen effizienten Befehl zum Berechnen der Felder enthalten würde.
Zum Beispiel: A = B + D, D = B + C , B = C + E Effiziente Berechnungsreihenfolge: E -> C -> B -> D -> A
Im Moment führt mein Algorithmus iterativ nur einfache Einfügungen in eine Liste durch, aber ich bin in einige Situationen geraten Das fängt an zu brechen. Ich denke, was wäre stattdessen erforderlich wäre, alle Abhängigkeiten in einer Baumstruktur zu erarbeiten, und von dort in die eindimensionale Form umzuwandeln? Gibt es einen einfachen Algorithmus, um einen solchen Baum in eine effiziente Ordnung umzuwandeln?
Danke, das genau ist der Begriff, dass ich war danach. – Coxy