![]() |
|
|
![]()
|
|
| rurik |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 9.4.2011 Репутация: нет Всего: нет |
Здравствуйте,подскажите как лучше написать алгоритм подсчета слов всех файлов в заданной директории.(пишу на Java)
т.е. необходимо пройти по всем файлам в директории(или несколько директорий или директория + файл .на входе массив адресов относительно диска С) , разбить все файлы на слова, посчитать количество раз которое встречается каждое слово и вывести все слова с их счетчиками отсортировав по значению счетчика. подскажите как лучше построить алгоритм, общие мысли), может советы, если что то более детальное еще больше благодарен буду) чтобы он получился наиболее оптимальным, быстрее работал |
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 20 Всего: 454 |
Обычная сортировка подсчётом. Слова строить в обычное бин. дерево. Если прогнозируется значительный процент уникальных слов - возможно, параллельно строить суффиксное дерево для быстрой проверки на униакльность.
-------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| rurik |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 9.4.2011 Репутация: нет Всего: нет |
Расскажите поподробнее о том как именно строить слова в бинарное дерево
|
|||
|
||||
| esperanto |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 194 Регистрация: 31.5.2003 Репутация: 2 Всего: 4 |
TRIE дерево с дополнительным полем для подсчета, имхо более подходит
--------------------
B.Sc ->M.Sc.->Microsoft SDE-> (Ph.D. student + Intel SDE + psyсhology B.A) - > Skype SDET |
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 20 Всего: 454 |
-------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| Silent |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 252 Регистрация: 3.10.2006 Репутация: 1 Всего: 9 |
Возможен еще вариант написать MapReduce на map'е, сразу в несколько потоков забубенить. Для примера код на C# (но кажется, где-то есть ошибочка):
|
|||
|
||||
![]()
|
| Правила форума "Алгоритмы" | |
|
|
Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Алгоритмы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |