Poszukuję najbardziej wydajnego sposobu na przechowywanie ciągów binarnych w strukturze danych (funkcja wstawiania), a następnie podczas pobierania łańcucha chcę sprawdzić, czy w strukturze znajduje się jakiś ciąg cykliczny danego ciągu.Wyszukaj ciągi cykliczne
Myślałem o przechowywaniu ciągów wejściowych w Trie, ale wtedy, gdy próbowałem ustalić, czy jakiś cykliczny ciąg ciągu, który teraz dostałem, został wstawiony do Trie znaczy zrobić | s | przeszukuje w Trie wszystkie możliwe ciągi cykliczne.
Czy istnieje sposób, aby zrobić to wydajniej, podczas gdy złożoność miejsca będzie jak w Trie?
Uwaga: Kiedy mówię cykliczne łańcuchy sznurku I oznacza, że na przykład wszystkie cykliczne łańcuchy 1011
są: 0111, 1110, 1101, 1011
Jeśli jest to alfabet więcej niż te dwa znaki, powiedziałabym utworzyć funkcję skrótu, która generuje taki sam wynik, niezależnie od kolejności wartości postaci, dzięki czemu można szybko wyeliminować większość niezgodności. –
@ C.Evenhuis: Nie, pracuję tylko z ciągami binarnymi. – user550413
Czy robisz wszystkie insercje z góry? A może mieszać wstawki i wyszukiwania? – templatetypedef