Нужна помощь в разработке для алгоритма поиска более эффективным способом

У меня есть проблема, которая включает в себя область биологии. Прямо сейчас у меня есть 4 очень больших файла (каждый с 0,1 миллиарда линий), но структура довольно проста, каждая строка этих файлов имеет только 2 поля, оба обоих подписчики для типа гена.

Моя цель - это: разработать эффективный алгоритм, который может достигать следующего: Найдите круг в пределах содержимого этих 4 файлов. Круг определяется как:

field #1 in a line in file 1 == field #1 in a line in file 2 and
field #2 in a line in file 2 == field #1 in a line in file 3 and
field #2 in a line in file 3 == field #1 in a line in file 4 and
field #2 in a line in file 4 == field #2 in a line in file 1

Я не могу подумать о приличном способе решить это, поэтому я только что написал петлю в гнездо-4-х слойном цикле. Я думаю о сортировке их в качестве алфавитного порядка, даже если это может немного помочь, но тогда также очевидно, что компьютерная память не позволит мне загрузить все одновременно. Кто-нибудь может сказать мне хороший способ решить эту проблему в оба времени, так и в пространстве? Спасибо!!

6
задан Shang Wang 9 September 2011 в 04:07
поделиться