hej
ostatnio w pracy pojawił się pewien problem z operacjami nextSetBit na javowych bitSetach, mianowicie musimy się sporo iterować przez cały bitset (najgorszy przykład, ustawiony bit 0 i 1 000 000) i takie operacje są wykonywane często.
Mam rozwiązanie które zawsze ma złożoność log64(max_bit_set) dla wysztkich operacji (add, remove, next, tak naprawdę ten log64 to koszt zamortyzowany, nie zawsze potrzebuję log64 operacji), narzut pamięciowy jest minimalny, a biorąc pod uwagę przyśpieszenie dla iteratora to nawet fajny kod.
Świat javy i tablice o rozmiarach Integer.Max_Value to ten logarytm jest prawie liczbą stałą (jakoś 6 w najgorszym przypadku)
Stąd pytanie czy znacie jakieś implementacje bitsetów, które mają fajne czasowo wyniki dla iteratora w przypadku BitSet?
Bardziej chciałbym sobie porównać moje wypociny z tym co ktoś już zrobił. Osobiście nie mogę znaleźć nic co wygląda lepiej niż kod javopodobny