Poszukuję funkcjonalnej struktury danych, która reprezentuje skończone bije między dwoma typami, co oznacza oszczędność miejsca i oszczędność czasu.Efektywna struktura danych funkcjonalnych dla skończonych biografii
Przykładowo chęcią jeśli rozważa bijection F o wielkości n:
- rozciągającą F nową parę elementów ma złożoność O (ln n)
- zapytań f (x) lub f^1 (x) złożoność o (ln n)
- wewnętrzna reprezentacja f jest bardziej skuteczny niż przestrzeń o skończonej 2 mapy (reprezentujący f i jego odwrotność)
i znam wydajna reprezentacja permutacji s, jak this paper, ale to nie rozwiązuje mojego problemu.
Posiadanie dwóch skończonych map jest dość efektywne pod względem przestrzeni ... to jest przestrzeń O (n). Nie mogę sobie wyobrazić, że możesz zrobić coś lepszego. –
Zacznij od dwóch skończonych map i martw się o coś bardziej sprytnego, gdy zabraknie Ci pamięci. Mapy Hashmaps są dobre, jeśli możesz mieszać te dwa typy. – augustss
Wygląda na to, że jeśli twoja funkcja jest ściśle monotonna, możesz przeszukać to samo drzewo dla funkcji i odwrotności. Myślę, że to długi strzał. –