Przetwarzanie tekstu

0

Szukam funkcji lub opisu algorytmu poszukującego wzorca w danym pliku. Tj. poszukuje np. ciągu znaków 'abcdef' w plku 'dane.txt'. Chodzi mi o jak najwydajniejszy algorytm, ale za razem prosty w implementacji.

Pozdrawiam

edit : Gdyby ktoś chciał wrzucić tu jakiś kod, to chodzi mi oczywiście o kod w ANSI C.

0

Najproszta metoda jest sprawdzanie ciagu znak po znaku. [diabel]

0

Najproszta metoda jest sprawdzanie ciagu znak po znaku. [diabel]

Że też od razu na to nie wpadłem [glowa], może dlatego, że to zbyt proste :-P Ma ktoś jeszcze jakieś propozycje ?

0

Powyższa metoda jest najprostrza, ale nie najszybsza. W FAQ/Gotowcach/Artykuach są opisane o wiele szybsze algorytmy.

Chciałem podać link, ale wyszukiwarka na głównej stronie nie działa.

0

Polecam ten najprostszy algorytm jesli nie potrzebne Ci bardziej uogolnione wzorce. Jest najprostszy a istniejace szybsze są conajwyzej troche szybsze a nie o wiele. Są przy tym dużo bardziej skomplikowane. Ten algorytm ma w prawdzie zlozonosc obliczeniowa rzedu n^2, jednak w praktyce sredni koszt jest liniowy, wiec nic o wiele szybszego nie ma i byc nie moze.

0

Ten algorytm ma w prawdzie zlozonosc obliczeniowa rzedu n^2

n^2? jakim cudem, skoro wzorzec, z którym porównujesz, ma 1 bajt? pozostałe bajty sprawdza się tylko, gdy pasują poprzednie. statystycznie rzecz biorąc, algorytm jest klasy n*log(n), przy czym logarytm ma podstawę nie dwa, a coś koło 128.

0

sorki co to jest moc obliczeniowa argorytmu ????? jak ja sprawdzić ???

0

sorki co to jest moc obliczeniowa argorytmu ????? jak ja sprawdzić ???

Czas działania algorytmu w zależności od ilości danych, które musi obrobić (najczęściej są to zależności logN, N, NlogN i N^2).

1 użytkowników online, w tym zalogowanych: 0, gości: 1