Ответы пользователя по тегу Алгоритмы
  • Какой алгоритм использовать для нахождения повторяющихся слов в строке?

    @mib
    Можно использовать наивный метод: в базе данных создать таблицу `table`: `word`|`count_words` (primary key `word`). Потом брать все слова по порядку, и добавлять в таблицу. Если такое слово уже есть - увеличивать его количество повторений на 1, примерно так:
    INSERT INTO `table` (`word`) VALUES ('$new_word') ON DUPLICATE KEY UPDATE `count_words`=`count_words`+1;

    В любом языке не так уж много слов, ну к примеру 50 000, а тескт может быть сколь угодно большим.

    А потом сделать выборку, сортированную по количеству повторений.
    То-же самое можно сделать без базы данных, при помощи хешей: слово переводить в транслит, и увеличивать счетчик соотв хеша.
    Ответ написан
    3 комментария