Wie wird basierend auf Abhängigkeiten sortiert?

8

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?

    
Soviut 04.06.2009, 18:31
quelle

2 Antworten

18

Es wird topologische Sortierung genannt.

%Vor%     
Dietrich Epp 04.06.2009, 18:47
quelle
5

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:

Directed Acyclic Graphs

    
Cincinnati Joe 04.06.2009 20:18
quelle

Tags und Links