Представьте, что у нас есть какой-то файл, который называется, например, «A.txt». Мы знаем, что являются некоторыми дублирующимися элементами. «A.txt» имеет размер очень , больше чем в десять раз больше памяти, может быть, около 50 ГБ. Иногда размер B будет примерно равен размеру A, иногда он будет в много раз меньше размера A.
Пусть оно имеет такую структуру:
a 1
b 2
c 445
a 1
Нам нужно получить файл «B.txt», в котором не будет таких дубликатов. Как пример, это должно быть так:
a 1
b 2
c 445
Я думал об алгоритме, который копирует A и выполняет B, затем берет первую строку в B и ищет друг друга, если находит то же самое, удаляет дубликаты. Затем занимает вторую строку и т. Д.
Но я думаю, что слишком слишком медленно. Что я могу использовать?
A - это , а не база данных! Нет SQL, пожалуйста.
Извините, но ничего не сказано, сортировка в порядке.
Несмотря на то, что он может быть отсортирован, что делать, если он не может быть отсортирован?