Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> подсчитать колличество слов в тексте 
:(
    Опции темы
Samotnik
Дата 9.2.2012, 21:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Super star !
****


Профиль
Группа: Awaiting Authorisation
Сообщений: 7192
Регистрация: 4.11.2006
Где: Минск City

Репутация: 8
Всего: 191



Задача вроде тривиальна для 1-го курса универа.
Но какое решение самое оптимальное и универсальное? 
Допустим строка очень большая, и нужно подсчитать какое слово больше всего встречается в тексте и сколько раз. Решение split(" ") и дальше проходить циклом очень долгое. Какие ещё идеи есть? )
PM MAIL   Вверх
Skynin
Дата 9.2.2012, 22:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 359
Регистрация: 1.7.2007
Где: Харьков

Репутация: 6
Всего: 10



StringTokenizer сработает в этой задаче в разы быстрей.

Быстрее будет только:
String.charAt
и посик/размещение в сбалансированном двоичном дереве.
PM MAIL WWW ICQ Skype GTalk YIM MSN   Вверх
Stolzen
Дата 10.2.2012, 04:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1041
Регистрация: 17.10.2005

Репутация: 23
Всего: 48



В решении олимпиадных задач чаще всего используют StreamTokenizer, т.к. он быстрее всего работает.
http://acm.timus.ru/help.aspx?topic=java

Это сообщение отредактировал(а) Stolzen - 10.2.2012, 05:00


--------------------
datatalks.ru - анализ данных, статистика, машинное обучение
PM MAIL WWW   Вверх
Samotnik
Дата 10.2.2012, 10:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Super star !
****


Профиль
Группа: Awaiting Authorisation
Сообщений: 7192
Регистрация: 4.11.2006
Где: Минск City

Репутация: 8
Всего: 191



Я думаю, всё же вариант с деревом будет по-быстрее.
PM MAIL   Вверх
Stolzen
Дата 10.2.2012, 10:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1041
Регистрация: 17.10.2005

Репутация: 23
Всего: 48



Почему так думаете? 
Берете токенизер, создаете HashMap<String, Integer> и считаете количество слов.

Это сообщение отредактировал(а) Stolzen - 10.2.2012, 10:23


--------------------
datatalks.ru - анализ данных, статистика, машинное обучение
PM MAIL WWW   Вверх
Samotnik
Дата 10.2.2012, 10:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Super star !
****


Профиль
Группа: Awaiting Authorisation
Сообщений: 7192
Регистрация: 4.11.2006
Где: Минск City

Репутация: 8
Всего: 191



надо замерить ))
PM MAIL   Вверх
Pawl
Дата 12.2.2012, 21:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 649
Регистрация: 22.4.2008
Где: Витебск

Репутация: 7
Всего: 28



я делал подобное (правда, на 3-курсе smile ). Только еще и слова сортировал TreeMap'ом. Думаю, если HashMap использовать, быстрее будет. Выкладываю исходник - потестите, расскажите, как Вам оно smile .

Присоединённый файл ( Кол-во скачиваний: 10 )
Присоединённый файл  Sorting.zip 7,17 Kb


--------------------
В действительности всё совсем не так, как на самом деле
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
javastic
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1123 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.