Вопрос проверяет умение анализировать влияние структуры данных на сложность алгоритма.
Поиск слова сводится к обращению к отображению по ключу. Это занимает O(1) в среднем случае. Дополнительные затраты возникают только при обработке списка документов.
Использование отображения принципиально меняет сложность поиска.
Отображение «слово → список документов» — это форма инвертированного индекса, реализованная через хеш-таблицу.
поиск слова в отображении — O(1) в среднем,
обход списка документов — O(k), где k — число документов с этим словом.
линейный поиск: O(n · m),
поиск по индексу: O(1 + k).
быстрый отклик на запросы,
предсказуемая производительность,
хорошая масштабируемость.
Использование отображения «слово → список документов» радикально снижает сложность поиска и делает систему пригодной для частых запросов.