Vereinfachen Sie Ihren Arbeitsablauf: Suchen Sie miniwebtool.
Erweitern
> Topologische Sortierung Rechner
 

Topologische Sortierung Rechner

Berechnen Sie eine topologische Sortierung eines gerichteten azyklischen Graphen (DAG) mit dem Kahn-Algorithmus oder DFS. Erkennt Zyklen, meldet den Pfad des Zyklus, erstellt eine Ebenen-Ansicht für parallele Ausführung, unterstützt lexikographisch kleinste Sortierung und animiert jeden Schritt auf einem interaktiven Graphen.

Topologische Sortierung Rechner
Kantenformat: A -> B (akzeptiert auch , =>, :). Max 80 Knoten / 800 Kanten.
Der Kahn-Algorithmus (lexikographisch) liefert eine eindeutige, reproduzierbare Ordnung. DFS Post-Order ist die klassische Tiefensuche-Methode.

Embed Topologische Sortierung Rechner Widget

Topologische Sortierung Rechner

Der Topologische Sortierung Rechner berechnet eine lineare Anordnung der Knoten eines gerichteten azyklischen Graphen (DAG), sodass jede gerichtete Kante von u nach v den Knoten u vor v platziert. Geben Sie Ihren Graphen als Kantenliste oder Adjazenzliste ein und das Tool liefert die topologische Ordnung mittels Kahn-Algorithmus oder DFS Post-Order, erkennt Zyklen (mit exaktem Zykluspfad), gruppiert Aufgaben in parallele Ausführungsschichten, zählt die Anzahl gültiger Sortierungen und animiert jeden Schritt auf einem interaktiven Graphen.

Was ist eine topologische Sortierung?

Gegeben sei ein gerichteter Graph G = (V, E). Eine topologische Sortierung (oder topologische Ordnung) ist eine lineare Anordnung v₁, v₂, …, vₙ seiner Knoten, sodass für jede gerichtete Kante (u → v) u vor v in der Anordnung erscheint. Eine topologische Ordnung existiert genau dann, wenn der Graph keine gerichteten Zyklen hat — das heißt, wenn der Graph ein DAG ist. Die Sortierung ist selten eindeutig: Ein Graph kann viele gültige topologische Sortierungen haben, wenn mehrere Knoten gleichzeitig den Eingangsgrad Null aufweisen.

Definition der topologischen Ordnung
Eine Permutation (v₁, v₂, …, vn) von V ist topologisch genau dann, wenn
für jede Kante (u → v) in E gilt: Position(u) < Position(v)

Vom Rechner verwendete Algorithmen

Kahn-Algorithmus (BFS-basiert, 1962)

Der Kahn-Algorithmus ist die intuitivste topologische Sortierung. In jedem Schritt wählt er einen Knoten mit Eingangsgrad Null (keine eingehenden Kanten), fügt ihn der Ausgabe hinzu und "entfernt" ihn aus dem Graphen, indem er den Eingangsgrad jedes seiner Nachfolger verringert. Wenn mehrere Knoten den Eingangsgrad Null haben, kann zur Entscheidung ein Min-Heap (für die lexikographisch kleinste Ordnung) oder eine FIFO-Warteschlange (für die Einfügereihenfolge) verwendet werden. Der Kahn-Algorithmus läuft in O(|V| + |E|) Zeit und dient gleichzeitig als Zyklusdetektor: Wenn nach dem Leeren der Warteschlange noch ein Knoten einen Eingangsgrad > 0 hat, enthält der Graph einen Zyklus.

Kahn-Algorithmus (Pseudocode)
Kahn(G):
  Q ← { v ∈ V : indeg(v) = 0 }
  L ← [ ]
  solange Q nicht leer:
    u ← Q.pop()
    L.append(u)
    für jede Kante u → v:
      indeg(v) -= 1
      wenn indeg(v) = 0: Q.push(v)
  wenn |L| < |V|: melde Zyklus
  sonst: gib L zurück

DFS Post-Order (Tarjan, 1976)

Der DFS-Algorithmus führt eine Tiefensuche (Depth-First Search) durch. Sobald ein Knoten abgeschlossen ist (d. h. alle seine Nachfolger wurden vollständig exploriert), wird er auf einen Stack gelegt. Das Umkehren des Stacks am Ende ergibt eine gültige topologische Ordnung. Die Zyklenerkennung erfolgt natürlich: Das Antreffen eines Knotens, der noch in Bearbeitung ist (markiert als GRAU), bedeutet, dass eine Rückwärtskante gefunden wurde und der Graph somit kein DAG ist. DFS Post-Order läuft ebenfalls in O(|V| + |E|) Zeit.

DFS Post-Order (Pseudocode)
DFS-Topo(G):
  für jeden Knoten u in V: Farbe[u] ← WEISS
  L ← leerer Stack
  für jeden Knoten u in V:
    wenn Farbe[u] = WEISS: besuche(u)
  gib umgekehrtes L zurück

besuche(u):
  Farbe[u] ← GRAU
  für jede Kante u → v:
    wenn Farbe[v] = GRAU: melde Zyklus
    wenn Farbe[v] = WEISS: besuche(v)
  Farbe[u] ← SCHWARZ; L.push(u)

Parallele Ausführungsschichten

Eine geschichtete Ansicht eines DAG unterteilt seine Knoten in Ebenen, sodass jede Kante von einer niedrigeren Ebene zu einer höheren führt. Knoten in derselben Schicht sind voneinander unabhängig und können daher parallel verarbeitet werden. Die Anzahl der Schichten entspricht der Länge des längsten Pfades plus eins — dies ist der kritische Pfad des DAG, die minimale Anzahl an sequenziellen Runden, die benötigt werden, um alle Aufgaben auch bei unbegrenzter Parallelität abzuschließen. Dieser Rechner erstellt die Schichtenansicht automatisch, wenn die Eingabe ein DAG ist.

Zyklenerkennung

Wenn der Graph einen gerichteten Zyklus enthält, ist keine topologische Sortierung möglich. Unser Rechner gibt den exakten Zykluspfad aus (z. B. A → B → C → A) und markiert die Zykluskanten in der Visualisierung rot. Das Entfernen einer einzigen Kante im Zyklus reicht aus, um die Azyklizität wiederherzustellen.

Eingabeformate

Kantenliste

Schreiben Sie jede gerichtete Kante als Quelle -> Ziel, getrennt durch Kommas oder Zeilenumbrüche. Akzeptierte Pfeilvarianten: ->, , =>, -->, :. Sie können Kanten auch verketten: A -> B -> C ist eine Kurzform für A->B und B->C. Knotenbezeichnungen können Buchstaben, Ziffern, Unterstriche, Bindestriche und Punkte enthalten.

A -> B, B -> C, A -> C
C -> D
Hemd -> Krawatte -> Sakko

Adjazenzliste

Schreiben Sie jeden Knoten, einen Doppelpunkt und seine direkten Nachfolger (Knoten, auf die er zeigt). Ein Knoten ohne Nachfolger benötigt dennoch eine Zeile, wie z. B. D:.

A: B, C
B: D
C: D
D:

Bedienung des Rechners

  1. Format wählen: Schalten Sie mit den Radio-Buttons zwischen Kantenliste und Adjazenzliste um.
  2. Graph eingeben: Fügen Sie Ihre Daten ein oder klicken Sie auf eines der Schnellbeispiele (Anziehreihenfolge, Kursvoraussetzungen, Build-Ziele, Graph mit Zyklus usw.).
  3. Algorithmus wählen: Kahns lexikographisch für eine eindeutige Ordnung; Einfügereihenfolge, um die Eingabereihenfolge zu bewahren; DFS Post-Order für die klassische Methode; oder Alle anzeigen, um alle Sortierungen nebeneinander zu sehen.
  4. Klicken Sie auf "Topologisch sortieren": Die Sortierung, Zyklenerkennung, Schichtenansicht, kritische Pfadlänge, Gesamtzahl der gültigen Sortierungen und ein interaktiver Graph erscheinen unten.
  5. Erkunden: Drücken Sie Play, um zuzusehen, wie jeder Knoten Schritt für Schritt ausgegeben wird. Die Eingangsgrad-Badges werden live aktualisiert. Ziehen Sie Knoten, um das Layout anzupassen.

Anwendungen in der Praxis

Build-Systeme und Compiler

Werkzeuge wie make, Bazel, Gradle und npm sortieren ihre Build-Ziele topologisch, sodass jedes Ziel erst kompiliert wird, nachdem alle seine Abhängigkeiten fertig sind. Ein Zyklus im Abhängigkeitsgraph wird meist als fataler Fehler gemeldet — das Build-System kann nicht entscheiden, wo es anfangen soll.

Aufgabenplanung

Projektmanager verwenden DAGs, um Aufgabenabhängigkeiten zu erfassen. Die topologische Sortierung ergibt eine gültige Ausführungsreihenfolge, und die Schichtenansicht zeigt die minimale Rundenzahl bei unbegrenzter Parallelität. Die längste Kette ist der kritische Pfad, der die Projektdauer bestimmt.

Kursplanung

Ein Kurskatalog an der Universität ist ein DAG: Kanten stellen Voraussetzungen dar. Eine topologische Ordnung ist ein gültiger Studienplan, und die Schichten zeigen den Studenten, welche Kurse sie in jedem Semester parallel belegen können.

Tabellenkalkulation

Wenn sich eine Zelle ändert, muss eine Tabellenkalkulation jede nachgelagerte Zelle in der Reihenfolge ihrer Abhängigkeiten neu berechnen — eine topologische Sortierung des Zell-Abhängigkeits-DAG. Zirkelbezüge (Zyklen) werden von der Anwendung abgelehnt.

Paketmanager und Plugin-Loader

Apt, pip, Homebrew, Maven und unzählige Plugin-Frameworks lösen die Installations- oder Ladereihenfolge durch topologisches Sortieren ihrer Abhängigkeits-DAGs.

Symbolauflösung und Instruktions-Scheduling

Compiler verwenden topologische Sortierung, um Deklarationen zu ordnen, und CPUs nutzen Datenabhängigkeits-DAGs, um Instruktionen im Reorder-Buffer zu planen, ohne Datenkonflikte zu verursachen.

Zählen topologischer Sortierungen

Für einen DAG mit n Knoten kann die Anzahl der verschiedenen gültigen topologischen Sortierungen von 1 (bei einer total geordneten Kette) bis n! (bei einem kantenlosen Graphen) reichen. Die Berechnung der exakten Anzahl ist im Allgemeinen #P-vollständig. Für Graphen mit bis zu 16 Knoten ermittelt dieser Rechner sie jedoch mittels Bitmask-Dynamischer-Programmierung: f(S) = Σ f(S ∪ {v}) über alle v ∉ S, deren Vorgänger alle in S liegen.

Komplexität und Performance

Häufig gestellte Fragen

Was ist eine topologische Sortierung?

Eine topologische Sortierung eines gerichteten azyklischen Graphen ist eine lineare Anordnung seiner Knoten, bei der für jede gerichtete Kante von u nach v der Knoten u vor v steht. Sie stellt eine gültige Reihenfolge zur Bearbeitung von Aufgaben unter Berücksichtigung ihrer Abhängigkeiten dar.

Welchen Algorithmus verwendet dieser Rechner?

Der Rechner führt sowohl den Kahn-Algorithmus als auch DFS Post-Order aus. Der Kahn-Algorithmus entfernt wiederholt Knoten mit Eingangsgrad Null. DFS Post-Order nutzt die Tiefensuche und kehrt die Abschlussreihenfolge um. Beide benötigen O(|V| + |E|) Zeit.

Was passiert, wenn mein Graph einen Zyklus hat?

Ein Graph mit einem gerichteten Zyklus hat keine topologische Sortierung. Der Rechner erkennt dies, markiert den Zyklus in der Visualisierung rot und gibt den Pfad aus, damit Sie wissen, welche Kanten zur Korrektur entfernt werden müssen.

Was ist die lexikographisch kleinste topologische Ordnung?

Wenn mehrere Sortierungen möglich sind, ist die lexikographisch kleinste jene, bei der in jedem Schritt der alphabetisch kleinste verfügbare Knoten (Eingangsgrad 0) gewählt wird. Dies ist der Standardmodus bei Kahn in diesem Rechner.

Was ist die Schichten- oder Ebenenansicht?

Sie gruppiert Knoten nach ihrer maximalen Entfernung von einer Quelle. Knoten in einer Schicht können parallel verarbeitet werden. Die Anzahl der Schichten gibt die minimale Anzahl an Runden für das gesamte Projekt an.

Kann ein Graph viele gültige topologische Sortierungen haben?

Ja. Sobald der Kahn-Algorithmus mehr als einen Knoten mit Eingangsgrad Null zur Auswahl hat, führt jede Wahl zu einer anderen gültigen Sortierung. Dieser Rechner zählt diese Möglichkeiten für bis zu 16 Knoten exakt.

Was ist der Unterschied zwischen Kahn und DFS Post-Order?

Kahn arbeitet Top-down: Er wählt Quellen zuerst. DFS Post-Order arbeitet Bottom-up: Er schließt Senken zuerst ab und stellt sie ans Ende der Sortierung. Beider Komplexität ist O(|V| + |E|), aber sie erzeugen oft unterschiedliche (dennoch gültige) Ergebnisse.

Wie groß darf der Graph maximal sein?

Das Tool unterstützt bis zu 80 Knoten und 800 Kanten. Das Zählen der Sortierungen ist auf 16 Knoten beschränkt, da das Problem #P-vollständig ist und der Zustandsraum exponentiell (2ⁿ) wächst.

Weiterführende Literatur

Zitieren Sie diesen Inhalt, diese Seite oder dieses Tool als:

"Topologische Sortierung Rechner" unter https://MiniWebtool.com/de// von MiniWebtool, https://MiniWebtool.com/

von miniwebtool Team. Aktualisiert: 20. Apr. 2026

Sie können auch unseren KI-Mathematik-Löser GPT ausprobieren, um Ihre mathematischen Probleme durch natürliche Sprachfragen und -antworten zu lösen.

Ausgewählte Werkzeuge:

Sonne-, Mond- & Aszendent-Rechner 🌞🌙✨MAC-adressen-lookupVenus-Zeichen-RechnerCaesar-VerschlüsselungswerkzeugModulo-RechnerZufälliger GeburtstagsgeneratorCPM-RechnerNamenszahl-RechnerMittelwert RechnerFarbschema-GeneratorMondzeichen-RechnerVideo-zu-Bild-ExtraktorIP-Adresse-zu-Binär-UmrechnerZahlen sortierenProzentuale Wachstumsrate RechnerSiedepunkt-RechnerFuß und Inch in Zentimeter UmrechnerMedian-RechnerMeisterzahl-RechnerSeelenzahl-RechnerBlutspendezeit-RechnerKegelabwicklung Schablonen-GeneratorKI ParaphrasiererRelative Standardabweichung RechnerMars-Zeichen-RechnerPersönlichkeitszahl-RechnerNumerologie-RechnerCMYK zu Hex KonverterWelche ist meine Glückszahl?Bingo Karten GeneratorGrößen-Perzentil-RechnerProzentuale Steigerung RechnerZufälliger Zeit GeneratorFacebook-Benutzer-ID-SucheHTML zu Text KonverterZufällige Zeichenfolge generierenZufälliger TiergeneratorQuotient- und Rest-RechnerZufälliger Kreditkarten-GeneratorLottozahlen-GeneratorZaun-RechnerASCII-TabelleListen-RandomisiererPunkt zu Punkt GeneratorSRT ZeitverschiebungZufälligen Namen AuswählenSchicksalszahl-RechnerZufälliger Pokerblatt-GeneratorBarcode GeneratorBlutgruppen-RechnerAnagramm-GeneratorLogarithmus zur Basis 2 RechnerZufälliger Fake-Adressen-GeneratorDefinitions- und Wertebereich-RechnerWürfel-WahrscheinlichkeitsrechnerTag des Jahres Rechner - Welcher Tag des Jahres ist heute?Zufälliger Wahrheit oder Pflicht GeneratorFPS-Konverter📷 OCR / Bild zu TextTwitch EinnahmenrechnerErweiterter Sternzeichen-KompatibilitätsanalysatorGrill-RechnerKomplexe Zahlen RechnerLeere Zeilen von einem Text entfernenRechtwinkliges Dreieck RechnerSteigungs- und GefällerechnerVerhältnis-zu-Prozentsatz-UmrechnerTeiler-Rechnerhba1c-rechnerMP3-LooperVideo-KompressorMond-Zeichen-KompatibilitätsrechnerNatürlicher Logarithmus RechnerAkku-Laufzeit-RechnerZufälliger Gruppen-GeneratorDie ersten n Stellen von PiProzent zu Dezimal UmrechnerStein Schere Papier GeneratorTeelöffel zu Esslöffel UmrechnerYouTube Kanal StatistikenKI-Text-HumanizerRSA-Verschlüsselung Schritt-für-Schritt SimulatorDoppelter IntegralrechnerFrequenz- und Wellenlängen-UmrechnerRömische Zahlen UmrechnenAudio SplitterFarbverlauf-GeneratorHalbwertszeit berechnenMerkur-Zeichen-RechnerUnsichtbare-Zeichen-EntfernerZentimeter zu Fuß und Inches UmrechnerEngelnummern-RechnerVideos zusammenführenAusdruckszahl-RechnerFunktionsgraph-ZeichnerOktal-zu-Hexadezimal-RechnerZufälliger FilmwählerZufälliger Spielkarten-GeneratorKI Satz-ErweitererQuartil-RechnerAdjazenzmatrix-RechnerTopologische Sortierung RechnerGraphfärbung RechnerLogikgatter SimulatorKarnaugh-Diagramm (K-Map) LöserBoolesche Algebra VereinfacherPartitionsfunktions-RechnerDigitale Wurzel RechnerFibonacci Zahl PrüferÄgyptische Brüche RechnerMöbius-Funktion-RechnerGoldbachsche Vermutung VerifiziererMersenne-Primzahl-PrüferPrimzahlzwillinge-FinderBefreundete Zahlen PrüferPerfekte Zahlen PrüferModulare ExponentiationsrechnerPermutationen mit Wiederholung RechnerEffektstärke-RechnerRelatives Risiko RechnerOdds Ratio RechnerKontingenztabellen-RechnerFisher-Exakt-Test-RechnerSpearman RangkorrelationsrechnerBeta-VerteilungsrechnerWeibull-Verteilung-RechnerExponentialverteilungsrechnerGeometrische Verteilung RechnerNegativer BinomialverteilungsrechnerHypergeometrische Verteilung RechnerF-Test / F-Verteilungs-RechnerBayes Theorem RechnerCharakteristisches Polynom RechnerMatrixpotenz-RechnerCholesky-Zerlegung-RechnerQR-Zerlegung RechnerMatrix-Diagonalisierung-RechnerCramersche Regel RechnerSpaltenraum-RechnerNullraum-RechnerWinkel zwischen Vektoren RechnerEinheitsvektor-RechnerVektorbetrag-RechnerKreuzprodukt-RechnerSkalarprodukt-RechnerMatrix-MultiplikationsrechnerMatrix Inverse RechnerRREF Rechner (Zeilenstufenform)Newton-Verfahren-RechnerJacobi-Matrix-RechnerOberflächenintegral-RechnerLinienintegral-RechnerrotationsrechnerDivergenz-RechnerGradientenrechner MehrdimensionalOptimierungsrechner AnalysisVerwandte Änderungsraten RechnerMomentane Änderungsrate RechnerDurchschnittliche Änderungsrate RechnerUnendliche Reihen SummenrechnerKonvergenztest-Rechner für ReihenPotenzreihen-RechnerMaclaurin-Reihen-RechnerL'Hôpital-Regel-RechnerUneigentliches Integral RechnerSimpson-Regel-RechnerTrapezregel-RechnerRiemann-Summen-RechnerParametrische Kurven PlotterRotationsflächen-RechnerRotationsvolumen-RechnerKoordinatengeometrie-AbstandsrechnerHeronsche Formel RechnerTangentenlinien-Rechner für KreiseWinkelhalbierende-RechnerInkreis-Rechner (Einbeschriebener Kreis)Umkreis-Rechner UmkreisberechnungGroßkreisentfernungsrechner3D EntfernungsrechnerTorus-RechnerKegelstumpf-RechnerUnregelmäßiger Polygon FlächenrechnerRegelmäßiges Polygon RechnerKegelschnitt-BestimmerHyperbel-RechnerParabel RechnerBinomischer Lehrsatz RechnerPascalsches Dreieck GeneratorProduktnotation Rechner (Pi Notation)Sigma-Notation-Rechner SummierungSatz über Rationale Nullstellen RechnerDescartes Vorzeichenregel RechnerParallele und Senkrechte Linien RechnerGeradengleichung RechnerStandardform zu Steigungsform UmrechnerPunkt-Steigungs-Formel RechnerNichtlineares Gleichungssystem LöserRationale Gleichungen LöserLiterale Gleichungen LöserTrigonometrische Gleichungen LöserExponentialgleichungs-LöserLogarithmische Gleichungen LöserQuartische Gleichung RechnerKubische Gleichung LöserschaetzungsrechnerZahl zu Bruch KonverterSprungzählung GeneratorStückpreis RechnerDecken- und BodenrechnerAbsolutwert-RechnerZahlenmuster FinderStellenwerttafel-GeneratorReihenfolge der Operationen Rechner (PEMDAS)Rechner für schriftliches Addieren und SubtrahierenLangmultiplikation-RechnerEinmaleins-Generator🎮 Spielwährungs-Umrechner🎲 Loot Drop Wahrscheinlichkeitsrechner🎰 Gacha Pity Rechner⚔️ DPS-Rechner🎮 Spielempfindlichkeits-Konverter❄️ Schneetag-Rechner🚚 Umzugskostenrechner🔍 Plagiatsprüfer📈 Liniendiagramm Ersteller🥧 Kreisdiagramm Ersteller📊 Balkendiagramm Ersteller🔊 Tongenerator🖱️ klickzaehlerOnline Notizblock⬛ Seitenverhältnis-Rechner🌍 CO2-Fußabdruck-Rechner👙 BH-GrößenrechnerReifengrößenrechnerKraftstoffkosten-Rechner💧 Taupunkt-Rechner🌡️ Hitzeindex-Rechner🌬️ Windchill-Rechner⏰ Online-Wecker⏰ Stempeluhr-Rechner📅 Datumsunterschied-Rechner🕐 Militärzeit-Umrechner⏱️ Stundenrechner⏱️ Online Stoppuhr⏱️ Countdown Timer🌐 ZeitzonenumrechnerTeppich RechnerStützmauer-RechnerHVAC DimensionierungsrechnerDämmung RechnerPflastersteinrechnerBewehrungsrechnerHolz RechnerQuadratmeter RechnerKreuzmultiplikation-RechnerFünf-Zahlen-Zusammenfassung-RechnerPerzentil-RechnerNormalverteilungsrechnerp-Wert-RechnerVerhältnis RechnerQuadratische Ergänzung RechnerrundungsrechnerSchriftliche Division RechnerWissenschaftlicher TaschenrechnerLern-Timer (Pomodoro)Signifikante Stellen RechnerTestergebnis-RechnerGewichteter NotenrechnerEndnoten-RechnerNotenrechnerResonanzfrequenz-RechnerImpedanz-RechnerDezibel (dB) RechnerLeistungsfaktor-RechnerRC-Zeitkonstanten-RechnerTransformator-RechnerKabelquerschnitt Rechner555 Timer RechnerKondensator-RechnerParallelwiderstand RechnerSpannungsteiler RechnerLED WiderstandsrechnerMol/Gramm/Teilchen-UmrechnerTitrationsrechnerEmpirische Formel RechnerProzentuale Ausbeute RechnerStöchiometrie-RechnerChemische Gleichung AusgleicherVerdünnungsrechnerPS RechnerDrehmoment-RechnerFreier Fall RechnerIdeales Gasgesetz RechnerdruckrechnerDichterechnerArbeit und Leistung RechnerPotentielle Energie RechnerKinetische Energie RechnerProjektilbewegungs-RechnerImpulsrechnerGeschwindigkeitsrechnerBeschleunigungsrechnerKraft-RechnerInfluencer ROI RechnerROAS RechnerCTR RechnerSocial Media Benutzername PrüferSocial Media Posting ZeitoptimiererSocial Media ROI RechnerFacebook Werbekosten RechnerYouTube Shorts Monetarisierungs-RechnerYouTube Wiedergabezeit-RechnerTwitter/X Zeitstempel KonverterTikTok Geld RechnerSocial Media Bildgrößen LeitfadenInstagram SchriftgeneratorTwitter/X ZeichenzählerYouTube-Kommentar-PickerYouTube Tag ExtraktorYouTube Thumbnail DownloaderYouTube Einnahmen RechnerZufälliger RPG Charakter Generator