Co jest najlepsze, co możemy zrobić z kodowaniem długości run.
Ta strona sugeruje, że złożoność czasu wynosi O (m * n), gdzie m to liczba czasu, w którym liczba się powtarza.
Czy skuteczniejszym algorytmem jest RLE?
Odpowiedzi:
2 dla odpowiedzi № 1Myślę, że być może źle zrozumiałeś środowisko wykonawcze. Algorytm na stronie wikipedii to O (n) (gdzie n to długość danych wejściowych). Zwróć uwagę, że indeks jest taki sam dla obu pętli i rośnie.
0 dla odpowiedzi nr 2
Jak już wspomniano, złożoność czasu wynosi O (n). Bardziej wydajne algorytmy wykorzystują SIMD lub CUDA do przetwarzania więcej niż jednego elementu naraz.
Możesz rzucić okiem na sprawne i szybkie wdrożenie: TurboRLE: kodowanie długości przebiegu w tym SIMD. Dostarczony jest również program testów porównawczych.