Pseudo-Code für immer auf Dependency Ordnung basiert

stimmen
0

Ok, meine Situation ist dieses Ich habe eine Liste der Elemente, und ich brauche die Reihenfolge dieser Elemente auf den Referenzen haben sie basiert zu erhalten. Zum Beispiel kann sagen, haben wir folgende Artikel: A, B, C, D, E, F

C und D haben keine Abhängigkeiten so ihre Reihenfolge 0. B sein kann, ist derjenige, der die mit C, D und A. A hat C und F hat A und B hat

  C    D    
  | \  /
  A  /
/ | /
| B 
\ |
  F

In diesem Fall C, D = 0 A = 1 B = 2 F = 3

Ich habe über das Internet suchen und es scheint, ich bin nicht die richtige wissenschaftliche Bezeichnung für diese Verwendung. Wahrscheinlich ist es ein Set oder eine Tasche in irgendeiner Weise festgelegt. Ich weiß, es ist nicht ein Baum, wie sich diese Situation auf jedem Knoten mehr als zwei Kanten aufweist. Die Antwort kann in einer Programmiersprache sein, nur um es so allgemein wie möglich zu machen versuchen.

Veröffentlicht am 10/12/2009 um 17:12
quelle vom benutzer
In anderen Sprachen...                            


2 antworten

stimmen
2

Ein einfacher Algorithmus ist wie folgt.

Iterate die Sammlung, auf der Suche nach Elementen, die keine Abhängigkeiten haben: Denken Sie daran, diese Elemente als „die Ebene 0 Elemente“.

Iterate die Sammlung wieder, auf der Suche nach Elementen, die auf „die Ebene 0 Elemente“, aber nicht auf andere Elemente abhängen: Denken Sie daran, diese Elemente als „die Ebene 1 Elemente“.

Iterate wieder die Sammlung, auf der Suche nach Elementen, die auf „die Ebene 0 Elemente“ abhängen können und / oder über die „Ebene 1 Element“, aber nicht auf anderen Elementen: erinnern, diese Elemente als „die Ebene 2 Elemente“.

Etc.

Stoppen Sie, wenn jedes Element einen zugewiesenen Pegel hat.

Beantwortet am 10/12/2009 um 17:18
quelle vom benutzer

stimmen
0

Sie können ein Diagramm erstellen und die Zeiger zählt halten, oder Sie können Matrix verwenden. Suchen und einige grundlegende Idee der Graph (Mathematik, nicht Computer Grafik) lesen, können Sie finden es ziemlich einfach ist.

Beantwortet am 10/12/2009 um 17:18
quelle vom benutzer

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more