Für einen gerichteten azyklischen Graphen , gibt es eine Datenstruktur , die , ohne dass quadratischen Raum oder lineare Zeit für die Erreichbarkeit Abfragen erlaubt? Idealerweise suche ich einen Algorithmus, der nur O (log n) Raum pro Vertex und logarithmische Zeit verwendet, wobei .
Es schien mir intuitiv klar, dass eine solche Datenstruktur existieren sollte, die auf einer Verallgemeinerung von Standardsortieralgorithmen basiert. Aber ich war überrascht, dass ich keine finden konnte. Alles, was mir begegnet ist, hat entweder Annahmen über den Graphen gemacht (zB Planarität) oder ein schwierigeres Problem in quadratischer Zeit / Raum gelöst (zB Abfragen, die mit Graphenmodifikationen verschachtelt sind).
Die Wikipedia-Seite zur Erreichbarkeit deckt nur einen allgemeinen Algorithmus ab (Floyd-Warshall). Der Rest der Seite befasst sich mit Sonderfällen, bei denen Annahmen wie das Diagramm planar sind (was nicht der Fall ist).
Das am häufigsten zitierte Papier in diesem Bereich scheint die Amortisierte Effizienz einer Pfadabrufdatenstruktur zu sein , aber dieses und alle darin zitierten Papiere beinhalten entweder O (n ^ 2) Raum oder auch O (n ^ 2) Zeit, um dies zu ermöglichen Aktualisierungen des mit den Abfragen verschachtelten Diagramms (dh keine Vorverarbeitung).
Diese Frage wurde nicht beantwortet, befasst sich jedoch mit dem schwierigeren Problem, mit Abfragen verschachtelte Kanteneinfügungen zuzulassen.
Diese Frage stellte die Frage nach einer persistenten (rein funktionalen) Datenstruktur, die hier nicht benötigt wird. Das Papier "Succinct Posets" benötigt Platz, aber es werden O ( 1 ) -Zeitabfragen ausgeführt. Ich suche einen Algorithmus mit schlechterer Zeit und besserem Raum.
Meist auf der Suche nach einem Stand in der Literatur. Wenn es eine Umfrage zur Erreichbarkeit von Diagrammen gibt, die nicht 99% ihrer Zeit mit dem Fall von planaren Diagrammen verbringt, würde das helfen.
quelle
Antworten:
Siehe "Intervallkennzeichnung" und "2-Hop-Kennzeichnung", die in der Praxis anscheinend zeitlich und räumlich recht effizient sind und Ihnen möglicherweise das geben, was Sie möchten. Im Allgemeinen gibt es eine ganze Reihe von "Erreichbarkeitsindexierungs" -Schemata für DAGs.
quelle