![]() |
подскажите алгоритм
Народ подскажите, как считать большой текстовый файл(допустим словарь) и очистить его от повторов или наоборот, например найти элемент повторяющийся наибольшее кол-во раз, какой самый быстрый способ (желательно на php)?
|
Убирал совпадения из фалика в 200000 строк таким макаром:
Код:
<?php |
А еще бы комментов :)......
|
>>Народ подскажите, как считать большой текстовый файл
2Helios мало того что алгоритм неэффективен так он еще и под заданную задачу не подходит. |
Комменты:
После считывания файла все его строки сортирую, при этом одинаковые окажутся рядом. На это совпадение и проверяю. При желании можно прикрутить strtoupper/strtolower дабы не обращать внимания на регистр. 2ZaCo Напиши эффективнее, ты ж чингачкук. |
2Helios я напишу вот только задачи не вижу.
|
Цитата:
|
Цитата:
Т.к. память безгранична за счет раздела подкачки, то... ;) |
2 ZaCo задача - находить повторяющиеся элементы в текстовом файле и производить с ними различные действия
|
Скрипт ентот исполняться будет не сотню раз одновременно, а в один поток, поэтому на ОЗУ жаловаться ИМХО нет смысла. А насчет того, что считывать нужно весь файл сразу - в другом случае прогонять поиск совпадений по циклу и сортировку пришлось бы после каждого считывания => время исполнения увеличилось бы в разы.
З.Ы.: Кто знает другие варианты - пишите, а то и самому интерессно) |
| Время: 12:19 |