Ich muss Sätze von Elementen vom Typ a speichern. Typ a ist teilweise geordnet, sodass der Vergleich von und kleiner, größer, gleich oder unvergleichbar sein kann.a 2
Ein Problem mit Hashtabellen besteht darin, dass zwei gleiche Elemente unterschiedlich dargestellt werden können und ich keinen Zugriff auf eine mit Gleichheit konsistente Hashfunktion habe.
Das Vergleichen von zwei Elementen kann ein langwieriger Prozess sein, daher wäre es interessant, Vergleiche zu minimieren. Bei Bedarf können Anrufe an den Vergleichsoperator gespeichert werden. Mir ist jetzt klar, dass ich nur Antichains aufbewahren muss (oder nehmen wir es an). Genauer gesagt, sind die Operationen, die ich ausführen muss, wie folgt:
- Entferne ein Element von der Kette.
- Versuchen Sie, ein Element hinzuzufügen. Wenn das Element kleiner als ein Element ist, fügen Sie es nicht hinzu. Andernfalls fügen Sie es hinzu und entfernen Sie jedes Element, das kleiner als es ist.
Ich kann auch jedes Element durch zwei ganze Zahlen binden. Wenn ich also weiß, dass und , dann gibt mir das , dass sofort . Natürlich bedeutet nicht ... Das Finden von Ganzzahlgrenzen ist im Vergleich zu einem vollständigen eine relativ kostengünstige Operation.
Antworten:
Die Arbeit "Sorting and Selection in PoSets" von Daskalakis, Karp, Mossel, Risensefield, Verbin, 2008 beschreibt eine dynamische Darstellung von PoSets auf der Basis von Antichains.
Möglicherweise interessieren Sie sich auch für die Veröffentlichung "Succinct Posets" von Munro, Nicholson, 2012, die kürzlich auf Arxiv veröffentlicht wurde, und für die darin enthaltene Bibliographie. Ihre Datenstruktur ist statisch, aber ich gehe davon aus, dass der nächste Schritt eine dynamische Datenstruktur ist.
quelle
Haben Sie sich Heeringa et al. "Suchen in dynamischen baumartigen Teilordnungen" angesehen ? Sie geben eine dynamische Datenstruktur für das Vorgängerproblem auf Posets an. Es ist für einen RAM ausgelegt, aber Sie können Arrays als ausgeglichene Binärbäume darstellen und nur einen multiplikativen -Overhead verursachen, während die Struktur rein funktional ist.O ( lgn )
quelle
e
sind, eine Kette bilden.