-
1. Data: 2013-01-07 17:44:25
Temat: algorytm stringi
Od: "identyfikator: 20040501" <N...@g...pl>
zna Ktoś może jakiś cwany, to znaczy prosty algorytm wyszukiwania ciągu w
ciągu?
-
2. Data: 2013-01-07 18:05:29
Temat: Re: algorytm stringi
Od: "Borneq" <b...@a...hidden.pl>
Użytkownik "identyfikator: 20040501" <N...@g...pl> napisał w
wiadomości news:kceu17$8cf$1@node1.news.atman.pl...
> zna Ktoś może jakiś cwany, to znaczy prosty algorytm wyszukiwania ciągu w
> ciągu?
http://www.algorytm.org/przetwarzanie-tekstu/algoryt
m-kmp-knutha-morrisa-pratta.html
-
3. Data: 2013-01-07 18:59:27
Temat: Re: algorytm stringi
Od: "AK" <n...@n...com>
Np. algorytm Boyer/Moore'a
AK
--- news://freenews.netfront.net/ - complaints: n...@n...net ---
-
4. Data: 2013-01-08 01:49:54
Temat: Re: algorytm stringi
Od: bartekltg <b...@g...com>
W dniu 2013-01-07 17:44, identyfikator: 20040501 pisze:
> zna Ktoś może jakiś cwany, to znaczy prosty algorytm wyszukiwania ciągu
> w ciągu?
http://www.algorytm.org/przetwarzanie-tekstu/algoryt
m-kr-karpa-rabina.html
http://en.wikipedia.org/wiki/Rabin%E2%80%93Karp_algo
rithm
pzdr
bartekltg
-
5. Data: 2013-01-08 08:36:22
Temat: Re: algorytm stringi
Od: jacki <c...@i...pl>
W dniu 2013-01-07 17:44, identyfikator: 20040501 pisze:
> zna Ktoś może jakiś cwany, to znaczy prosty algorytm wyszukiwania ciągu
> w ciągu?
O i tu przylazłeś trolować?
-
6. Data: 2013-01-08 18:24:02
Temat: Re: algorytm stringi
Od: bartekltg <b...@g...com>
W dniu 2013-01-08 08:36, jacki pisze:
> W dniu 2013-01-07 17:44, identyfikator: 20040501 pisze:
>> zna Ktoś może jakiś cwany, to znaczy prosty algorytm wyszukiwania ciągu
>> w ciągu?
>
> O i tu przylazłeś trolować?
:)
Jak wywoła trollociag o algorytmach tekstowych, nikomu nie zaszkodzi.
Sam nigdy nie lubiłem tych tablic prefiksów i automatów;-)
pzdr
bartekltg
-
7. Data: 2013-01-08 20:06:36
Temat: Re: algorytm stringi
Od: "identyfikator: 20040501" <N...@g...pl>
wcale nie troluję, a co Panowie myślą na temat takich dwóch książek:
Win32ASM Asembler w Windows
Asembler - podręcznik programisty
między innymi to interesuje mnie na ile te książki przydadzą się w nauce
nowoczesnego assemblera, jak nasm na przykład pod nowoczesny system
operacyjny 64-bitowy?
-
8. Data: 2013-01-09 21:55:13
Temat: Re: algorytm stringi
Od: "M.M." <m...@g...com>
W dniu poniedziałek, 7 stycznia 2013 17:44:25 UTC+1 użytkownik identyfikator:
20040501 napisał:
> zna Ktoś może jakiś cwany, to znaczy prosty algorytm wyszukiwania ciągu w
> ciągu?
Jakoś to się robiło taką sumę, którą można obliczać "przyrostowo", i jak
suma dla wzorca i podciągu była taka sama, to dopiero wtedy porównywało się
znak po znaku - szczegółów nie pamiętam w tej chwili. Im "lepiej" policzymy
sumę, tym mniej porównań znak po znaku. To po pierwsze.
Po drugie, być może potrzebujesz wiele razy wyszukiwać różny wzorzec w
tym samym tekście - wtedy warto zastanowić się nad jakimś zahashowaniem
par (suma,pozycja w tekscie).
Po trzecie, być może tekst w którym wyszukujesz, czasami się zmienia - wtedy
warto pomyśleć o jakimś zahashowaniu które da się modyfikować.
Gdy tekst nie mieści się cały w RAM i jest na dysku - to następna wariacja
na temat. Gdy tekst jest na wielu dyskach w rozproszonym środowisku
komputerów - następna wariacja. Gdy tekst jest na taśmie a nie na dysku
z ruchomą głowicą - jeszcze inna wariacja. Gdy tekst jest w bazie danych, a
baza danych udostępnia gotowe narzędzia - jeszcze inna sprawa.
Kiedyś pisałem programik do gry w odmianę scrabli, tam z kolei było wiele
wzorców (powiedzmy że średnio 100 wzorców) i wiele tekstów do przeszukania -
te teksty to pojedyncze słowa z języka polskiego. Czyli dochodzimy do ciągu
ze znakiem uniwersalnym (który pasuje do dowolnego znaku) i przeszukiwania
milionów króciutkich tekstów...
A niby to tylko wyszukiwanie tekstu w tekście....
Pozdrawiam
-
9. Data: 2013-01-09 22:10:41
Temat: Re: algorytm stringi
Od: bartekltg <b...@g...com>
W dniu 2013-01-09 21:55, M.M. pisze:
> W dniu poniedziałek, 7 stycznia 2013 17:44:25 UTC+1 użytkownik identyfikator:
20040501 napisał:
>> zna Ktoś może jakiś cwany, to znaczy prosty algorytm wyszukiwania ciągu w
>> ciągu?
> Jakoś to się robiło taką sumę, którą można obliczać "przyrostowo", i jak
> suma dla wzorca i podciągu była taka sama, to dopiero wtedy porównywało się
> znak po znaku - szczegółów nie pamiętam w tej chwili.
Algorytm karpa-rabina, już podany ;)
pzdr
bartekltg
-
10. Data: 2013-01-10 01:26:57
Temat: Re: algorytm stringi
Od: "M.M." <m...@g...com>
W dniu środa, 9 stycznia 2013 22:10:41 UTC+1 użytkownik bartekltg napisał:
> W dniu 2013-01-09 21:55, M.M. pisze:
> >> zna Ktoś może jakiś cwany, to znaczy prosty algorytm wyszukiwania ciągu w
> >> ciągu?
> > Jakoś to się robiło taką sumę, którą można obliczać "przyrostowo", i jak
> > suma dla wzorca i podciągu była taka sama, to dopiero wtedy porównywało się
> > znak po znaku - szczegółów nie pamiętam w tej chwili.
> Algorytm karpa-rabina, już podany ;)
Większą moc tego algorytmu widać, gdy trzeba wyszukać zbiór, a nie
ciąg.
Mamy dany zbiór N i ciąg M. Zbiory Mi tworzymy przez przesunięcia
o jeden w ciągu M. Trzeba zbadać ile zbiorów Mi jest identyczna z N.
Algorytm naiwny działa w czasie |N|! * |M|. Algorytm z sortowaniem
|N| * Log|N| * |M|. Algorytm z "przyrostowym" sortowaniem
optymistycznie Log|N| * |M|. Algorytm z hashem odpornym na zmianę kolejności
(P * Log|N| + (1-P)) * |M|, gdzie P jest prawdopodobieństwem że będzie
trzeba sprawdzić dokładnie. Dla małych P mamy algorytm prawie liniowy
względem |M|.
Zdrowia!