| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Java: Общие вопросы > подсчитать колличество слов в тексте |
| Автор: Samotnik 9.2.2012, 21:11 |
| Задача вроде тривиальна для 1-го курса универа. Но какое решение самое оптимальное и универсальное? Допустим строка очень большая, и нужно подсчитать какое слово больше всего встречается в тексте и сколько раз. Решение split(" ") и дальше проходить циклом очень долгое. Какие ещё идеи есть? ) |
| Автор: Skynin 9.2.2012, 22:14 |
| StringTokenizer сработает в этой задаче в разы быстрей. Быстрее будет только: String.charAt и посик/размещение в сбалансированном двоичном дереве. |
| Автор: Stolzen 10.2.2012, 04:59 |
| В решении олимпиадных задач чаще всего используют StreamTokenizer, т.к. он быстрее всего работает. http://acm.timus.ru/help.aspx?topic=java |
| Автор: Samotnik 10.2.2012, 10:20 |
| Я думаю, всё же вариант с деревом будет по-быстрее. |
| Автор: Stolzen 10.2.2012, 10:23 |
| Почему так думаете? Берете токенизер, создаете HashMap<String, Integer> и считаете количество слов. |
| Автор: Samotnik 10.2.2012, 10:47 |
| надо замерить )) |
| Автор: Pawl 12.2.2012, 21:56 |
| я делал подобное (правда, на 3-курсе |