Вниз
Скачать: CL | DM;

алгоритм поиска дублирующих строк в файле   Найти похожие ветки 

← →
max   (2008-07-10 15:00) [0]

Добрый день, уважаемые форумчане!
Помогите, пожалуйста, ускорить алгоритм поиска дублирующих
значений в файле.
Есть два файла. Вкаждом порядка 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;


← →
tesseract ©   (2008-07-10 15:22) [1]

ну ещё бы, он не тормозил.  Надо строить самоупорядочивающиеся хэши строк, потом алгоритм сравнения. За сим отправляю к Кнуту и Бакнелу, ибо это страниц 30-40 разъеснений.


← →
Сергей М. ©   (2008-07-10 16:04) [2]

А каков результат примерной оценки количества уникальных строк в результирующем списке ?

Я к тому что возможно приспособить под это дело TStringList, если оценка внушает оптимизм)


← →
Ega23 ©   (2008-07-10 16:25) [3]


> возможно приспособить под это дело TStringList


на 200000 строк?
Хотя может и не будет тормозить...


← →
Rouse_ ©   (2008-07-10 16:26) [4]

вот тут я что-то в свое время писал для чего-то, мошт пригодится:
http://rouse.drkb.ru/files/dict.zip


← →
Игорь Шевченко ©   (2008-07-10 16:37) [5]


> Помогите, пожалуйста, ускорить алгоритм поиска дублирующих
> значений в файле.


есть замечательная программа diff с иходниками. Именно для этого предназначена. Работает довольно быстро. Исходники на С можно найти в интернете (и не одни)


← →
Сергей М. ©   (2008-07-10 17:51) [6]


> Ega23 ©   (10.07.08 16:25) [3]


Имелась ввиду загрузка в TStringList результата, а не оригинала ..



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.009 c
9-1172844946
Пётр_К
2007-03-02 17:15
2008.08.10
Центр окружности по 3-м точкам на дуге.


2-1215697755
Zhentos
2008-07-10 17:49
2008.08.10
Что-то не могу найти ф-цию сравнения чисел по модулю


15-1214124455
Book
2008-06-22 12:47
2008.08.10
Delphi Book


2-1215514162
Newss
2008-07-08 14:49
2008.08.10
работа с базой данных


15-1214552185
Desdechado
2008-06-27 11:36
2008.08.10
Каталогизатор знаний




   Наверх