Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Общие вопросы по программированию, компьютерный форум
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.12.2012, 23:37   #31
vanyapupkin20
Новичок
Джуниор
 
Регистрация: 08.12.2012
Сообщений: 2
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
pu4koff заразил Воспользовался его идеей и встроил сразу разборку fb2 текста и сортировку по частоте вхождения при добавлении нового слова. Прога на D7 без обработки исключений, путь к файлу в исходном тексте прошит. Эксперементировал на файле со сто тысячью слов. Основное время пошло на выделение слов из fb2. На 1-ой картинке время вместе с разборкой файла, на второй только на частотный анализ. Текст проги прилагается
Помоги пожалуйста с задачей как раз на делфи
Запускаю твою прогу и не работает, дай файлы fb1 и fb2?
Дан символьный файл f, содержащий произвольный текст длинной более 5000 слов. Слова в тексте разделены пробелами и знаками препинания. Получить 100 наиболее встречающихся слов и число их появлений. Решить задачу:
а) без ограничения на длины слов
vanyapupkin20 вне форума Ответить с цитированием
Старый 09.12.2012, 00:10   #32
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

Файл в формате fb2 не совсем текстовый. Это xml. Зайди на любой треккер и скачай любую книгу в этом формате. Для текстового файла программку нужно переделать в части чтения исходных данных
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 09.12.2012, 00:28   #33
vanyapupkin20
Новичок
Джуниор
 
Регистрация: 08.12.2012
Сообщений: 2
По умолчанию

не поможешь переделать в текстовый? слов нужно более 5000 тысяч всего
файл со словами сам найду
vanyapupkin20 вне форума Ответить с цитированием
Старый 09.12.2012, 13:09   #34
s-andriano
Старожил
 
Аватар для s-andriano
 
Регистрация: 08.04.2012
Сообщений: 3,229
По умолчанию

Цитата:
Сообщение от Levsha100 Посмотреть сообщение
Самый простой способ это двоичное дерево, где хранится слово и число раз сколько оно встретилось. Проходим по файлу, если не нашли слово, то добаляем в дерево и счетчик ставим 1, иначе увеличиваем счетчик.
Это сбор уникальных слов и их количества.
Как найти наиболее часто встречаемые нужно подумать, но думаю нужно этим занимается при увеличении счетчика.
Угу.
Если результирующее дерево помещается в ОП - самое простое и эффективное решение.
По опыту обработки более 50 млн уникальных имен из файла общим объемом более 200 Гбайт - скорость лимитируется скоростью чтения с диска.
Естественно, все в один проход.
Никаких проблем по дереву найти список наиболее часто встречающихся имен нет. Время выполнения этой работы по факту на пару порядков меньше, чем остальная работа.
Полная обработка 200+ Гбайт текста ~часа (от 40 мин до 1.5 часа в зависимости от компьютера при том, что самый новый из компьютеров 2006 года, правда, диски моложе самих компьютеров).
s-andriano вне форума Ответить с цитированием
Старый 09.12.2012, 13:11   #35
s-andriano
Старожил
 
Аватар для s-andriano
 
Регистрация: 08.04.2012
Сообщений: 3,229
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Это не просто самый простой, это пожалуй самый быстрый - содержать список, сортируемый по мере внесения в него данных, при этом определение места для внесения нового, еще не содержащегося слова в списке или нахождение элемента, содержащего такое слово, проводится бинарным поиском.
Интересно, а каким способом можно осуществить бинарный поиск для списка? Т.е. как найти "средний" элемент.
s-andriano вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
из текстового файл получить 5 наиболее часто встречающихся слов и число их появлений (на Delphi) sifa Помощь студентам 5 09.01.2012 18:34
в тексте слова, содержащие ровно одну из 10 наиболее часто встречающихся букв yaroslav_bondarev Паскаль, Turbo Pascal, PascalABC.NET 3 16.12.2011 10:11
дан текст, написать код, нахождения 10 наиболее часто встречающихся букв yaroslav_bondarev Паскаль, Turbo Pascal, PascalABC.NET 9 14.12.2011 22:08
Получить массив из элементов, встречающихся в исходном массиве ровно один раз без повторений Shikarmo4000 Помощь студентам 0 25.05.2010 01:27
Найти (в процентах) частоту появления каждого из m наиболее часто встречающихся элементов sk1p Паскаль, Turbo Pascal, PascalABC.NET 2 26.09.2008 23:57