Если вы хотите играть с асимптотическими сложностями, будьте строгими.
Начальная сложность Θ(F L)
(скорее всего, но вы не указываете обработку), где F
обозначает количество файлови L
среднее количество строк в файле. (Хотя, поскольку длина строк может варьироваться, было бы безопаснее говорить в терминах среднего числа символов.)
Если вы обрабатываете столько файлов, сколько битов в F
(как вы это сделали)Сложность действительно снижается до Θ(log(F) L)
. Но если вы обрабатываете любой другой файл или даже одну десятую из них, сложность остается Θ(F L)
.
Не существует волшебного рецепта, чтобы уменьшить сложность проблемы. Иногда вы можете получить улучшения, потому что первоначальный алгоритм неэффективен, иногда вы не можете. В данном случае вы, вероятно, не можете (хотя это зависит от конкретной обработки).
То, что вы делаете путем подвыборки файлов, не является улучшением сложности: это обман для уменьшения размера проблемыи вы больше не решаете исходную проблему.