Ich habe eine Klasse mit einer Liste von "Abhängigkeiten", die auf andere Klassen desselben Basistyps verweisen.
%Vor%Ich möchte die Instanzen sortieren, die diese Klassen basierend auf ihren Abhängigkeiten generieren. In meinem Beispiel würde ich erwarten, dass Foo zuerst kommt, dann Bar, dann Baz.
Wie sortieren Sie das am besten?
Ich hatte letzte Woche eine ähnliche Frage - ich wünschte, ich würde dann über Stack Overflow Bescheid wissen! Ich jagte ein bisschen herum, bis ich erkannte, dass ich eine DAG (gerichtete azyklische Grafik hatte, da meine Abhängigkeiten nicht rekursiv oder zirkulär sein konnten). Dann habe ich ein paar Referenzen für Algorithmen gefunden, um sie zu sortieren. Ich habe eine Tiefen-Traversierung verwendet, um zu den Blattknoten zu kommen und sie zuerst der sortierten Liste hinzuzufügen.
Hier ist eine Seite, die ich nützlich fand:
Tags und Links python dependencies sorting