В зависимости от 'большого' вы можете избежать больших накладных расходов на файловый ввод-вывод, сохранив один из файлов (только те части, которые вам нужны) в ОЗУ, и затем повторить другой файл только один раз.
Komplexity остается равным O (n * m)
Вы можете уменьшить сложность (если все еще необходимо), сохраняя данные файла, который вы храните в оперативной памяти, в HashMap, который имеет доступсложность O (1) (в большинстве случаев)
Сложность составляет O (m) , где m - размер файла, который не хранится в HashMap (в ОЗУ).
Если «большой» означает, что даже данные из файла меньшего размера не помещаются в ОЗУ, вы можете использовать тот же подход, просто сделав это с кусками размера, которые умещаются в вашей ОЗУ.