Conceptos Básicos
Ein einfacher Algorithmus zum Sortieren eines Satzes von Elementen mit unbekannter Gesamtordnung, der die Ergebnisse bestimmter vorhandener Vergleiche nutzt. Der Algorithmus läuft in O(m + n + log T) Zeit und führt O(log T) Vergleiche durch, wobei n, m und T die Anzahl der Elemente, die Anzahl der vorhandenen Vergleiche und die Anzahl der mit den vorhandenen Vergleichen konsistenten Gesamtordnungen sind.
Resumen
Der Artikel präsentiert einen effizienten Algorithmus zum Sortieren eines gerichteten azyklischen Graphen (DAG) unter Verwendung partieller Informationen über die Ordnung der Knoten. Der Algorithmus kombiniert drei klassische Algorithmen - topologische Sortierung, Heapsort und effizientes Einfügen in eine sortierte Liste - auf eine natürliche Weise.
Der Algorithmus läuft in O(m + n + log T) Zeit und führt O(log T) Vergleiche durch, wobei n die Anzahl der Knoten, m die Anzahl der Kanten und T die Anzahl der mit den vorhandenen Vergleichen konsistenten Gesamtordnungen ist. Diese Laufzeit- und Vergleichsschranken sind bis auf konstante Faktoren optimal.
Der Algorithmus beginnt mit einer topologischen Sortierung, bei der die Quellen (Knoten ohne eingehende Kanten) in einem Heap verwaltet werden. In jedem Schritt wird der kleinste Knoten aus dem Heap entfernt, zur sortierten Liste hinzugefügt und seine Nachfolger, deren Eingangsgrad nun null ist, in den Heap eingefügt. Der Algorithmus verwendet einen Heap mit der "working-set"-Eigenschaft, um die Effizienz zu gewährleisten.
Eine Erweiterung des Algorithmus, die topologische Heapsort mit Einfügen, eliminiert einen additiven linearen Term in der Vergleichsschranke, indem sie einen längsten Pfad im DAG identifiziert und die Knoten auf diesem Pfad ohne Einfügen in den Heap sortiert.
Die Analyse des Algorithmus nutzt eine Partitionierung der Knoten in Cliquen des Intervallgraphen, der durch das Verhalten des Algorithmus induziert wird. Diese Partitionierung ermöglicht es, eine untere Schranke für die Anzahl der topologischen Ordnungen herzuleiten und diese mit den Eigenschaften des Heaps in Beziehung zu setzen.
Estadísticas
Die Anzahl der Knoten n und Kanten m des gegebenen gerichteten azyklischen Graphen.
Die Anzahl T der mit den vorhandenen Vergleichen konsistenten Gesamtordnungen.
Citas
Keine relevanten Zitate identifiziert.