-
X-Received: by 10.49.127.198 with SMTP id ni6mr1627468qeb.23.1358457081053; Thu, 17
Jan 2013 13:11:21 -0800 (PST)
X-Received: by 10.49.127.198 with SMTP id ni6mr1627468qeb.23.1358457081053; Thu, 17
Jan 2013 13:11:21 -0800 (PST)
Path: news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!newsfeed2.atman.pl!newsfeed.
atman.pl!news.supermedia.pl!plix.pl!newsfeed2.plix.pl!feed.xsnews.nl!border-2.a
ms.xsnews.nl!feeder1.cambriumusenet.nl!feed.tweaknews.nl!212.27.60.9.MISMATCH!p
roxad.net!feeder2-2.proxad.net!nx02.iad01.newshosting.com!newshosting.com!69.16
.185.11.MISMATCH!npeer01.iad.highwinds-media.com!news.highwinds-media.com!feed-
me.highwinds-media.com!p13no1090256qai.0!news-out.google.com!k2ni675qap.0!nntp.
google.com!p13no1090251qai.0!postnews.google.com!glegroupsg2000goo.googlegroups
.com!not-for-mail
Newsgroups: pl.comp.programming
Date: Thu, 17 Jan 2013 13:11:20 -0800 (PST)
In-Reply-To: <b...@g...com>
Complaints-To: g...@g...com
Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=89.229.34.123;
posting-account=xjvq9QoAAAATMPC2X3btlHd_LkaJo_rj
NNTP-Posting-Host: 89.229.34.123
References: <kceu17$8cf$1@node1.news.atman.pl>
<c...@g...com>
<kckmci$3s2$1@node1.news.atman.pl>
<f...@g...com>
<4...@g...com>
<6...@g...com>
<c...@g...com>
<9...@g...com>
<1...@g...com>
<2...@g...com>
<4...@g...com>
<6...@g...com>
<4...@g...com>
<b...@g...com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <b...@g...com>
Subject: Re: algorytm stringi
From: "M.M." <m...@g...com>
Injection-Date: Thu, 17 Jan 2013 21:11:21 +0000
Content-Type: text/plain; charset=ISO-8859-2
Content-Transfer-Encoding: quoted-printable
X-Received-Bytes: 3959
Xref: news-archive.icm.edu.pl pl.comp.programming:201688
[ ukryj 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
- Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- testy-wyd-sort - Podsumowanie
- Tworzenie Programów Nieuprzywilejowanych Opartych Na Wtyczkach
- Do czego nadaje się QDockWidget z bibl. Qt?
- Bibl. Qt jest sztucznie ograniczona - jest nieprzydatna do celów komercyjnych
- Co sciaga kretynow
- AEiC 2024 - Ada-Europe conference - Deadlines Approaching
- Jakie są dobre zasady programowania programów opartych na wtyczkach?
- sprawdzanie słów kluczowych dot. zła
- Re: W czym sie teraz pisze programy??
- Re: (PDF) Surgical Pathology of Non-neoplastic Gastrointestinal Diseases by Lizhi Zhang
- CfC 28th Ada-Europe Int. Conf. Reliable Software Technologies
- Młodzi programiści i tajna policja
- Ada 2022 Language Reference Manual to be Published by Springer
- Press Release - AEiC 2023, Ada-Europe Reliable Softw. Technol.
Najnowsze wątki
- 2024-09-02 Wzór
- 2024-09-01 Polska-Chorwacja 650zł elektrykiem
- 2024-09-01 odrdzewiacz do amelinium
- 2024-09-01 Elektryczna łapka i szerszeń
- 2024-09-01 Jakie podatki za wynajem?
- 2024-09-02 Warszawa => Key Account Manager <=
- 2024-09-02 Warszawa => Projektant/Programista React Native <=
- 2024-09-02 Gdańsk => Head of International Freight Forwarding Department <=
- 2024-09-02 Warszawa => Sales Development Representative (in German) <=
- 2024-09-01 1. wrzesnia po niemiecku
- 2024-09-01 Od setki do setki...
- 2024-08-31 wpadłem w siodło
- 2024-08-25 cenka opada
- 2024-08-30 Elektryki takie bezpieczne cd.
- 2024-08-31 Warszawa => International freight forwarder <=