Witam,
Zastanawiam się jaka jest najbardziej wydajna struktura, która służyłaby do przechowywania ilości występień słów (powiedzmy z jakiegoś dłuższego fragmentu tekstu).
Czego oczekuję w końcowym efekcie? znaleźć x najczęściej lub najrzadziej występujących słów.
Zastanawia mnie na ile wydajne byłoby najprostsze rozwiązanie (map<string,int>) lub jakaś prosta struktura w stylu:
struct Node
{
bool terminator;
int count;
Node* children['Z'-'A'+1];
};
Jakie byłoby najlepsze rozwiązanie dla pełnego zestawu znaków Unicode?
Jakie rozwiązanie użyć gdybym często chciał sprawdzać statystyki, a jakie kiedy powiedzmy tylko raz na końcu?
Są może jakieś gotowce?
Ostatnio denerwuje mnie co chwile zerkanie do słownika i zastanawiam się nad napisaniem programu, który posłużyłby np. w nauce języka. Wrzucam do programu kilka książek lub np. napisy do filmu i znajduję najczęściej występujące słowa, dzięki czemu wiem jakich słów powinienem się uczyć przed przeczytaniem jakiejś książki lub obejrzeniem filmu w danym języku. Można by później rozbudować program i zrobić dzięki temu lepszą wersję super memo, która by miała na celu końcowo przeczytanie czegoś ze zrozumieniem.
PS. Temat wrzuciłem do C++, bo w tym języku chciałem pisać, ale równie dobrze mógłby być w algorytmach i strukturach danych