Przyjmijmy że posiadamy plik dyskowy X.txt. Jest to plik tekstowy z podziałem na wiersze; jego długość znacznie przekracza ilość dostępnej pamięci operacyjnej. Problem jest następujący: nasz program musi przeczytać cały ten plik (powiedzmy milion linii ;/) wiersz po wierszu i zapisać te linie do pliku Y.txt w taki sposob, aby unikalna linijka pojawila sie tylko raz. Innymi slowy: jeżeli wczytana linijka to XXX i jeszcze taka nie wystąpiła, to zapisać XXX do Y.txt; jeżeli natomiast linijka XXX już została raz zapisana do pliku, to należy ją zostawić w spokoju i iść dalej.
Problem jest tutaj z tą pamięcią... Zakładamy, że plik jest naprawdę duuuży i nie starczy nam RAMu żeby np. wpisywać linijki do tablicy albo listy ;/? Czy ktoś zna może rozwiązanie tego problemu np. w postaci jakiegoś sensownego algorytmu?
Bardzo dziękuję za pomoc i pozdrawiam,
Bulbin