-
Data: 2013-01-17 22:11:20
Temat: Re: algorytm stringi
Od: "M.M." <m...@g...com> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]W dniu czwartek, 17 stycznia 2013 18:16:30 UTC+1 użytkownik firr kenobi napisał:
> co robi ten klucz? czy to identyfikator
> danego slowa (chunka) z ktorego mozna pozniej
> odtworzyc jego pozycje czy co to jest?
W przybliżeniu tak, to jest coś w rodzaju id
słowa (albo początku słowa). Potem takie id
można łatwo/szybko znaleźć. Średnia ilość operacji
jakie trzeba wykonać jest równa średniej ilości
kolizji w hash-table, czyli może być stała, w zależości
od szczegółów nawet rzędu O(1). Nie należy mylić tego
z czasem stałym, wyszukiwanie w zwiększającej się
pamięci nigdy nie będzie stałe, choćby dlatego że
sygnał musi pokonać dłuższą trasę, aby odczytać dane
z coraz bardziej oddalonej od procesora kości RAM.
Mamy np. tekst do wyszukania:
const char pattern[] = "ala";
Mamy tablicę kluczy:
const unsigned int keys[256] = {rand,rand...rand};
Czyli klucz testu "ala" będzie:
unsigned int key = keys[ 'a' ] ^ keys[ 'l' ] ^ keys[ 'a' ];
Potem mamy tekst który przeszukujemy:
const char text[] = "asalam";
Dla tego tekstu można policzyć kolejne klucze, dla kolejnych 3 zakowych
pod ciągów:
key0 = keys['a'] ^ keys['s'] ^ keys['a'];
key1 = keys['s'] ^ keys['a'] ^ keys['l'];
key2 = keys['a'] ^ keys['l'] ^ keys['a'];
key3 = keys['l'] ^ keys['a'] ^ keys['m'];
Klucz key2 jest tak samo liczony jak key, więc będzie miał taką
samą wartość, więc zostanie (szybko) odnaleziony w hash-table, więc
będziemy mieli pozycję równą 2 (licząc od zera), więc przeszukamy
tekst od pozycji dwa, więc zajdziemy tam pattern ala :D
> tez nie wiem ale z tego wynika ze z
> trzymaniem bolastego indeksu np wszystkich
> ciagow na miliardzie stron moglbybyc tem
> problem ze to byloby wieksze niz ten miliard
> stron - pewnie cos tam jest jedynie czesciowo poindeksowane
Trzymanie indeksu wiąże się z narzutem, ale czy istnieje
jakaś inna droga? Może jakiś lepszy indeks?
Pozdrawiam
Następne wpisy z tego wątku
- 20.01.13 14:28 firr kenobi
- 20.01.13 14:37 firr kenobi
Najnowsze wątki z tej grupy
- Can you activate BMW 48V 10Ah Li-Ion battery, connecting to CAN-USB laptop interface ?
- We Wrocławiu ruszyła Odra 5, pierwszy w Polsce komputer kwantowy z nadprzewodzącymi kubitami
- Ada-Europe - AEiC 2025 early registration deadline imminent
- John Carmack twierdzi, że gdyby gry były optymalizowane, to wystarczyły by stare kompy
- Ada-Europe Int.Conf. Reliable Software Technologies, AEiC 2025
- Linuks od wer. 6.15 przestanie wspierać procesory 486 i będzie wymagać min. Pentium
- ,,Polski przemysł jest w stanie agonalnym" - podkreślił dobitnie, wskazując na brak zamówień.
- Rewolucja w debugowaniu!!! SI analizuje zrzuty pamięci systemu M$ Windows!!!
- Brednie w wiki - hasło Dehomag
- Perfidne ataki krakerów z KRLD na skrypciarzy JS i Pajton
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- U nas propagują modę na SI, a w Chinach naukowcy SI po kolei umierają w wieku 40-50lat
- C++. Podróż Po Języku - komentarz
Najnowsze wątki
- 2025-07-03 Trybik
- 2025-07-04 Renault Symbioz
- 2025-07-04 Architektura IIIRP: Wyjątkowa, a prymitywniejsza niż stodoła pod zaborami
- 2025-07-04 Warszawa => International Freight Forwarder <=
- 2025-07-04 Wrocław => SAP ABAP Developer <=
- 2025-07-04 Warszawa => Mid/Senior IT Recruiter <=
- 2025-07-04 Białystok => Kotlin Developer <=
- 2025-07-04 Bieruń => Spedytor Międzynarodowy (handel ładunkami/prowadzenie flo
- 2025-07-04 Warszawa => Specjalista wsparcia IT - analiza techniczna sprzętu IT <
- 2025-07-04 Zakrzewo => Konsultant SAP HCM <=
- 2025-07-04 Łódź => Programista Mainframe (z/OS, Assembler) <=
- 2025-07-04 Szczecin => Key Account Manager IT <=
- 2025-07-04 Warszawa => Technik IT - Konfiguracja i Wsparcie Sprzętowe <=
- 2025-07-04 Warszawa => Technique IT - Hardware Configuration and Support <=
- 2025-07-04 Warszawa => Specjalista ds. Sprzętu IT i Wsparcia Technicznego <=