Ich habe einen Wald, dh Knoten mit gerichteten Kanten und keinen Zyklen (gerichtet oder ungerichtet). Ich definiere die Höhe eines Scheitelpunkts als 0, wenn er keine eingehenden Kanten hat, oder die maximale Anzahl von Kanten, die umgekehrt verfahren werden müssen, um einen Scheitelpunkt der Höhe 0 zu erreichen.
Ich weiß auch, dass der durchschnittliche Grad eines Knotens eine kleine Konstante ist, etwa 2 oder so. Um die Höhe aller Eckpunkte zu ermitteln, kann ich mir zwei Algorithmen vorstellen:
Gehalgorithmus
- Gehen Sie durch und markieren Sie für Eckpunkte ohne eingehende Kanten.
Grenzalgorithmus
- Wiederholen Sie 2, bis sich nichts mehr hinter der Grenze befindet.
Meine Fragen:
- Gibt es einen Namen für dieses Problem und eine bekannte schnellste Lösung?