74
правки
Изменения
Нет описания правки
Она состоит из нескольких оценок.
#111#222#333Во-первых, обход Обход в глубину выполняет за <tex>O(n)</tex>. Во-вторых, операции #Операции по объединению множеств, которые в сумме для всех разумных <tex>n</tex> затрачивают <tex>O (n)</tex> операций. Каждый запрос <tex>\langle v, u \rangle </tex> будет рассмотрен дважды {{---}} при посещение вершины <tex>u</tex> и <tex>v</tex>, но обработан лишь один раз, поэтому можно считать, что все запросы обработаются суммарно за <tex>O (m)</tex>. В-третьих, для #Для каждого запроса проверка условия и определение результата, опять же, для всех разумных <tex>n</tex> выполняется за <tex>O (1)</tex>.
Итоговая асимптотика получается <tex>O (n + m)</tex>, но при достаточно больших <tex>m</tex> ответ за <tex>O (1)</tex> на один запрос.