Re: Частота слов в тексте
От: Lloyd Россия  
Дата: 05.10.09 17:18
Оценка: 10 (4)
Здравствуйте, Andriy Melnyk, Вы писали:

AM>Нужны прежде всего эффективные алгоритмы, а не простой перебор.


AM>Куда копать?


Дык, 2, 3, 4 — это разновидности 1-го.
Поскольку слов немного, то каждому слову пожно сопоставить 2-х байтовое число. Поучаем массив 2-х байтовых чисел A.
1. Чтобы найти частоты слов, достаточно найти частоты соответствующих 2-х байтовых чисел.
2. Чтобы найти частоты пар, достаточно сформировать другой массив 4-х байтовых чисел: B[i] = A[i] + A[i+1] >> 16. И найти частоты этих чисел.
3. Для трех слов можно поступить так же, только в формуле будет учавствовать еще и B[i] = A[i] + A[i+1] >> 16 + A[i+2] >> 32
4. Разновидность 2-го: B[i] = A[i] + A[i+2] >> 16
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.