Tengo un problema que involucra el área de biología. En este momento tengo 4 archivos MUY GRANDES (cada uno con 0.1 billones de líneas), pero la estructura es bastante simple, cada línea de estos archivos tiene solo 2 campos, ambos significan un tipo de gen.necesito ayuda para diseñar el algoritmo de búsqueda de una manera más eficiente
Mi objetivo es: diseñar un algoritmo eficiente que pueda lograr lo siguiente: Busque un círculo dentro del contenido de estos 4 archivos. El círculo se define como:
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
No puedo pensar en una manera decente de resolver esto, por lo que acaba de escribir un bucle de fuerza bruta-estúpida-4-capa anidada por ahora. Estoy pensando en clasificarlos como orden alfabético, incluso si eso podría ayudar un poco, pero también es obvio que la memoria de la computadora no me permite cargar todo a la vez. ¿Alguien puede decirme una buena manera de resolver este problema de manera eficiente tanto en tiempo como en espacio? ¡¡Gracias!!
qué importa dónde en el archivo de las líneas son? – Chris
¿Qué distribución tienen los campos? ¿Son únicos? ¿O puede tener múltiples líneas con el mismo conjunto de campos? O para decirlo de otra manera, ¿el campo 1 en el archivo 1 coincide con el campo 1 en muchas otras líneas? –