Aktywne Wpisy
docent1995 +27
poważnie jest aż tylu naiwnych frajerów? XD
to jest naprawdę straszne, że ten naród jest tak tępy.
#famemma
to jest naprawdę straszne, że ten naród jest tak tępy.
#famemma
![docent1995 - poważnie jest aż tylu naiwnych frajerów? XD
to jest naprawdę straszne, ż...](https://wykop.pl/cdn/c3201142/949167b033b8c74fd91edb997641707c6dfac025253620f7ec9546b61a345e49,w150.png?author=docent1995&auth=0b1f2a28a45f1d7d87136f808d24b4b9)
źródło: Zrzut ekranu 2024-06-07 001043
Pobierz
matthewonthego +104
Pytanie z #programowanie a może bardziej #algorytmy, otóż chcę wygenerować "plik"/tablicę/to niekluczowe bardzo duży.
Charakterystyka tego tych danych jest taka, że to, a jakże by inaczej, jedynka lub zero, z tym, że jedynek jest bardzo mało w stosunku do zer, chcę aby te dane zajmowały oczywiście jak najmniej pamięci.
Ok, nasuwa się oczywiste rozwiązanie, spakować to jakoś.
Super, jest tylko jeden warunek, chcę mieć jak najszybszy dostęp do danych, a przez dostęp rozumiem, że podaje index nazwijmy to bitu, i chcę mieć informację zwrotną czy tam jest jeden czy zero.
Jedynek w stosunku do zer nie jest na tyle mało, aby opłacało się po prsotu zapisać numery indeksów jedynek, gdyż ilość danych jest duża i zapisanie, aczkolwiek sprawa do rozważenia, muszę policzyć to.
Drugim z kategorii trywialnych (ale już nie szybkich) rozwiązań jest, zapisanie w stylu, po kolei, ile jest zer, jedynek, zer, jedynek itd.
Czuję, że są jakieś inne zajebiste algorytmy tylko teraz nic mi do głowy nie przychodzi.
Ma ktoś może jakiś genialny pomysł? ( ͡° ͜ʖ ͡°)
@LowcaG to.
Tak jak wspomniał @TheNewIcek:
1) Ile tych danych masz ?
2) Jak bardzo chcesz skompresować ?
A dodatkowo:
3) Jaki jest przybliżony stosunek jedynek do zer ?
4) Czy w danych występują długie ciągi zer/jedynek ?
5) Chcesz mieć szybki dostęp, a czy zależy Ci też na szybkim zapisie tych danych ?
Im więcej informacji podasz, tym większe masz
Tylko często mają ograniczenie na stały rozmiar tablicy.
@TheNewIcek: tak już jest 8 bitów w bajcie. A ile ich mam? Postawił bym pytanie inaczej mam np.X ramu i chce zmieścić jak najwięcej bez utraty możliwości odczytu konkretnego bitu.
@Philopolemus_Fronius: jak wyżej. Na to już wcześniej wpadłem ;)
@kotit:
1. Iść danych jest tak jak napisałem powyżej. Czyli jest ich bardzo bardzo bardzo dużo i wychodzę od
Przykład:
Dane oryginalne: 0000 111 00000000 1 00000000 1 0 1 0
Dane zakodowane: 4,3,8,1,8,1,1,1,1
Zakładając, że kodujesz w ten sposób już istniejący wcześniej ciąg, złożoność zapisu i odczytu jest liniowa z ilością elementów (przy najprostszym przeszukiwaniu, ale wydaje mi się,
TAk, że to rozwiązanie jest bieżącym rozwiązaniem, myślałem o tym czy nie ma innych jakiś bardziej wymyślnych pomysłów.
Jak np. jakaś analiza
Tak wiec... temat zamykam ( ͡° ͜ʖ ͡°)