eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingalgorytm stringiRe: algorytm stringi
  • 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

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: