Ответ 1
Сложность времени для DFS равна O (n + m). Мы получаем эту сложность, учитывая тот факт, что мы посещаем каждый node только один раз, а в случае дерева (без циклов) мы пересекаем все края один раз.
Например, если начало node равно u, а конец node равен v, мы думаем в худшем случае, когда v будет последним посещенным node. Итак, мы начинаем посещать каждого первого соседа u подключенного компонента, затем подключенного компонента второго соседа и т.д. До последнего компонента, подключенного к последнему, где мы находим v. Мы посетили каждый node только один раз и didn ' t пересек один и тот же край более одного раза.