Ну, есть две шкалы времени, которые вы сравниваете, которые на самом деле не связаны друг с другом. Первый - это алгоритмическая сложность, которую вы выражаете в нотации. Это, однако, не имеет ничего общего со сложностью чтения из файла.
Скажем, в идеальном случае у вас есть все ваши данные в памяти, и вы должны найти дубликаты с помощью алгоритма - в зависимости от того, как организованы ваши данные (например, простой список, карта хеш-функции и т. Д.), Вы можете найти дубликаты, которые могли используйте O (n ^ 2), O (n) или даже O (1), если у вас есть идеальный хеш (только для обнаружения элемента).
Чтение из файла или отображение в память не имеет никакого отношения к нотации "большой-О" вообще, так что вы вообще не учитываете это для вычислений сложности. Вы просто выберете тот, который занимает меньше времени - больше ничего.