Ich bin auf der Suche nach einer funktionalen Datenstruktur, die endliche Bijektionen zwischen zwei Arten darstellt, das ist platzsparend und zeiteffizient.effiziente funktionelle Datenstruktur für endliche Bijektionen
Zum Beispiel würde ich glücklich sein, wenn, eine Bijektion F der Größe n Berücksichtigung
- f mit einem neuen Paar von Elementen erstrecken Komplexität O (ln n) hat
- Abfrage von f (x) oder f^1 (x) hat die Komplexität O (ln n)
- die interne Darstellung für f mehr Raum als mit 2 finite Karten (f darstellen und seine inverse effizient ist)
ich kenne effiziente Darstellung der Permutation s, wie this paper, aber es scheint mein Problem nicht zu lösen.
Mit zwei endlichen Karten ist ziemlich Platz effizient ... es ist O (n) Raum. Ich kann mir nicht vorstellen, dass du das besser kannst. –
Beginnen Sie mit zwei endlichen Karten und sorgen Sie sich um etwas Clevereres, wenn Ihnen der Speicher ausgeht. Hashmaps sind gut, wenn Sie die beiden Typen hashen können. – augustss
Scheint, als ob Ihre Funktion streng monoton ist, könnten Sie den gleichen Baum für beide Funktionen und umgekehrt suchen. Es ist eine lange Zeit, denke ich. –