Вывод строк, содержащихся в двух файлах С++
Здравствуйте!
Задача такая: есть два файла, количество строк в каждом около миллиона.. . Необходимо вывести строки, которые содержатся в обоих файлах.
Как это реализовать? Перебор тут не подходит из-за размера файлов...

  • Загрузи один файл в память и отсортируй быстрой сортировкой. Читай построчно из второго файла и ищи строки в памяти бинарным поиском.
  • А надо сравнивать на полное совпадение?
    Я бы для каждой строки посчитал какую-нить контрольную сумму, потом искал бы результаты среди этих сумм, а потом и строк.

    С чего это вдруг не ускорит? Вполне ускорит. Просто надо правильно подобрать эти суммы и правильно их применить.

  • Есть программка bvsCrossOut
  • Значительно ускорит, особенно если хэш-таблицу составить. Тут в любом случае сортировать надо, а в случае с хэш-таблицей сортировка выходит естественной.

Вас заинтересует