| Algoritme :: Rabinkarp Rabin-Karp Streaming Hash |
Download nu |
Algoritme :: Rabinkarp Rangschikking & Samenvatting
- Vergunning:
- Perl Artistic License
- Naam uitgever:
- Norman Nunley, Jr
- Uitgever website:
- http://search.cpan.org/~nnunley/
Algoritme :: Rabinkarp Tags
Algoritme :: Rabinkarp Beschrijving
Rabin-Karp Streaming Hash Algoritme :: Rabinkarp is een implementatie van Rabin en Karp's streaming hash, zoals beschreven in "winning: lokale algoritmen voor document vingerafdrukken" door Schleimer, Wilkerson en Aiken. Na de suggestie van Schleimer gebruik ik hun tweede vergelijking: $ H ] = (($ H ] - $ C ** $ K) + $ C ) * $ kthe resultaten van deze hash codeert informatie over de volgende K-waarden in de stroom (Hense K-Gram.) Dit betekent voor elke gegeven stroom van lengte n gehele waarden (of tekens), krijgt u terug N - K + 1 HASH-waarden. Voor de beste resultaten wilt u een code generator maken die uw gegevens filtert om alle onnodige informatie te verwijderen. Bijvoorbeeld, in een groot Engels document, moet je waarschijnlijk alle witte ruimte verwijderen, evenals het verwijderen van alle kapitalisatie.Synopsis mijn $ Text = "A Do Run Run RUN, A DO RUN RUN"; Mijn $ kgram = algoritme :: Rabinkarp-> Nieuw ($ venster, $ Tekst); of mijn $ KGRAM2 = algoritme :: Rabinkarp-> Nieuw ($ venster, $ FH); of mijn $ kgram3 = algorithm :: Rabinkarp-> Nieuw ($ venster, sub {... return $ num, $ positie;}); Mijn ($ HASH, $ START_POSITIE, $ END_POSITIE) = $ KGRAM-> NEXT; mijn @values = $ kgram-> waarden; mijn% voorkomt; # een woordenboek van alle Kgrams. Terwijl (mijn ($ hash, @POS) = @ {shift @values}) {push @ {$ voorkomt {$ hash}}, \ @pos; } mijn $ naald = algoritme :: Rabinkarp-> Nieuw (6, "naald"); open mijn $ FH, 'nieuw (6, $ FH); mijn $ naald_hash = $ naald-> volgende; Terwijl (mijn ($ hay_hash, @POS) = $ hooiberg-> volgende) {Warn "mogelijke match voor 'naald' bij @POS 'if $ needle_hash eq $ hay_hash; } Vereisten: · Perl
Algoritme :: Rabinkarp Gerelateerde software