![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
алгоритм поиска дублирующих строк в файле [D7]
max © (2008-07-10 15:00:00)Добрый день, уважаемые форумчане!
Помогите, пожалуйста, ускорить алгоритм поиска дублирующих
значений в файле.
Есть два файла. Вкаждом порядка 200000 строк. Используя ниже приведенный код на поиск уходит очень много времени.
while not EOF(f1) do
begin
ReadLn(f1,line1);
Reset(f2);
while not EOF(f2) do
begin
ReadLn(f2, line2);
if line1=line2 then writeln(f_r, line1);
end;
end;
Сергей М. (2008-07-10 17:51:00) [1]
> Ega23 © (10.07.08 16:25) [3]
Имелась ввиду загрузка в TStringList результата, а не оригинала ..
Игорь Шевченко (2008-07-10 16:37:00) [2]
> Помогите, пожалуйста, ускорить алгоритм поиска дублирующих
> значений в файле.
есть замечательная программа diff с иходниками. Именно для этого предназначена. Работает довольно быстро. Исходники на С можно найти в интернете (и не одни)
Rouse_ (2008-07-10 16:26:00) [3]вот тут я что-то в свое время писал для чего-то, мошт пригодится:
http://rouse.drkb.ru/files/dict.zip
Ega23 (2008-07-10 16:25:00) [4]
> возможно приспособить под это дело TStringList
на 200000 строк?
Хотя может и не будет тормозить...
Сергей М. (2008-07-10 16:04:00) [5]А каков результат примерной оценки количества уникальных строк в результирующем списке ?
Я к тому что возможно приспособить под это дело TStringList, если оценка внушает оптимизм)
tesseract (2008-07-10 15:22:00) [6]ну ещё бы, он не тормозил. Надо строить самоупорядочивающиеся хэши строк, потом алгоритм сравнения. За сим отправляю к Кнуту и Бакнелу, ибо это страниц 30-40 разъеснений.