Nasze strony wykorzystują pliki cookies. Używamy cookies i podobnych m.in. w celach reklamowych i statystycznych oraz w celu dostosowania serwisów do potrzeb użytkowników. Mogą też stosować je nasi reklamodawcy, firmy badawcze oraz dostawcy aplikacji. W przeglądarce można zmienić ustawienia dotyczące cookies. Więcej informacji. Jeśli nie wyrażasz zgody, opuść tę stronę.

Algorytmy wyszukiwania

Forum dyskusyjne, na którym można dyskutować na wszelkie tematy, których nie dotyczą pozostałe fora. Do testów proszę używać forum testowego. Proszę już nie zgłaszać stron do oceny. Za dużo było spamu.

Moderator: Grupa pościgowa ;-)

Algorytmy wyszukiwania

Postprzez Wydra707 » 11 lipca 2005, o 16:50

Interesują mnie argorytmy optymalnego wyszukiwania danych, a konkretnie odnajdowania elementów najczęściej występujących w danym zbiorze (np. słów, które najczęściej powtarzają się w tekście). Chciałbym zastosować to w skrypcie, ale nie interesuje mnie gotowiec - raczej zapoznanie się z procesem od strony samej koncepcji. Lub "z procesami", bo jak przypuszczam, metod jest wiele. W miarę możliwości bez wyższej matematyki...

Czy ktoś zna jakieś przystępne źródło na ten temat, zdatne dla amatora?

Pozdrawiam
Paweł Rajewski
Wydra707
Znawca tematu
Znawca tematu
 
Posty: 482
Dołączył(a): 1 października 2002, o 19:21

Algorytmy wyszukiwania

Postprzez januzi » 11 lipca 2005, o 20:01

poszukaj informacji o drzewach, avt, B, zrownowazonych
w php daloby sie tego uzyc, ale wymagaloby wczytania drzewka i potem dopiero szukania
mozna tez posluzyc sie stogami lub listami
a chyba najlepsze rozwiazanie:
$slowo = get_slowo() ;
$tab[$slowo]++ ;
i juz masz tablice ze slowami i ich iloscia, wystarczy tylko posortowac po wartosci przypisanej do klucza (czyli po ilosci wystapien) i masz ktore slowa sa najczestsze
januzi
Mega GURU
Mega GURU
 
Posty: 1431
Dołączył(a): 18 października 2002, o 13:53

Algorytmy wyszukiwania

Postprzez Wydra707 » 12 lipca 2005, o 00:59

Eeee..? A można by prosić jaśniej? Drzewa, stogi... to chyba nie te, co na polu?

Chodzi mi nie o to, jak zrobić coś w PHP (bo go nie znam i powyższe zapisy nic mi nie mówią), ale o samą metodę - zrozumienie idei, algorytmu takiego wyszukiwania - możliwie optymalnego. A wtedy już sam napiszę sobie skrypt (chodziłoby o VBScript, ale to akurat bez znaczenia).

Pozdrawiam
Paweł Rajewski
Wydra707
Znawca tematu
Znawca tematu
 
Posty: 482
Dołączył(a): 1 października 2002, o 19:21

Algorytmy wyszukiwania

Postprzez januzi » 12 lipca 2005, o 10:08

http://pascal.lo2.opole.pl/drzewo_licznikowe.html
http://www.astagor.net/putinf/data/algo ... -Heap.html
o ile w tym wynalazku mozna tworzyc zmienne dynamiczne, jesli nie mozna, to pozostaje tablica o odpowiedniej strukturze:
[element][liczba][polozenie_nastepnika][element][liczba][polozenie_nastepnika] ... [element][liczba][polozenie_nastepnika]
numerujesz komorki tablicy od 0, wiec element1 jest w 0, liczba w 1, polozenie_nastepnika w 2, powiedzmy ze nastepnik bedzie w 6, wiec w 6 masz element, w 7 jego liczbe, w 8 kolejny nastepnik

drzewo robisz tak, aby posrodku byl wyraz na M lub jakis wyraz na litere ze srodka alfabetu (dzieki temu drzewo bedzie zrownowazone), dostajesz nowy wyraz, porownujesz go z pierwszym elementem drzewa i albo na lewo jesli < albo na prawo jesli >. Robisz tak, az dojedziesz do konca i nie znajdziesz niczego, albo gdy znajdziesz juz ten sam wyraz. Jesli nic nie ma, to wstawiasz wyraz w tym miejscu gdzie znalazles koniec. Jesli jest, to +1 do liczby. Po skonstruowaniu drzewa zabierasz sie za szukanie, tak samo jak dodawanie, ale bez ostatniej operacji doklejania/dodawania. Nie ma ? to komunikat o tym ze nie ma. Jest ? to komunikat o ilosci. Natomiast liczbe wystapien zapisujesz najpierw jako 0, potem przegladasz drzewo i patrzysz ktora liczba jest wieksza niz obecna, jesli jest wieksza, to ustawiasz slowo oraz liczbe wystapien na wartosci w aktualnie ogladanym elemencie drzewa. Po dojechaniu do konca masz najczestsze slowo oraz liczbe jego wystapien w tekscie.
januzi
Mega GURU
Mega GURU
 
Posty: 1431
Dołączył(a): 18 października 2002, o 13:53

Algorytmy wyszukiwania

Postprzez DEXTER:) » 12 lipca 2005, o 10:10

Myślę że najprostszy jest przykład Januzi'ego. Skrypt dostaje słowo/a, które ma szukać i liczy ilość znalezionych. Jednak przydało by się obliczać gęstość, bo w długim tekście może być więcej wskazanych słów, tylko dlatego że jest długi.

Dodatkowo myślę, że warto używając funkcji substr() obciąć kilka znaków z przodu i na końcu by podać funkcji nowe słowa bez końcówek, ale przyznać za znalezione wyniki mniej "punktów" :wink:

Sam nigdy nie pisałem takiego algorytmu, kombinuję na poczekaniu :)

Januzi zapodał byś linkami. Mam o wskazanych algorytmach conieco w książce, ale przyda się na przyszłość.
DEXTER:)
Mega GURU
Mega GURU
 
Posty: 1366
Dołączył(a): 14 lipca 2004, o 11:27

Algorytmy wyszukiwania

Postprzez januzi » 12 lipca 2005, o 10:29

januzi
Mega GURU
Mega GURU
 
Posty: 1431
Dołączył(a): 18 października 2002, o 13:53

Algorytmy wyszukiwania

Postprzez Wydra707 » 12 lipca 2005, o 20:56

Wydra707
Znawca tematu
Znawca tematu
 
Posty: 482
Dołączył(a): 1 października 2002, o 19:21


Powrót do Offtopic czyli tematy niezwiązane

Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników

cron