Я пытаюсь решить следующую задачу графика:Числа компонент связности после удаления к вершинам
Мы дали общий невзвешенный и неориентированный граф и к (к < | V |) вершин, которые уже известных заранее. Вершины удаляются последовательно. После каждого удаления, сколько подключенных компонентов есть?
Я думал использовать алгоритм Tarján в на каждый шаг, чтобы проверить, если текущая вершина будет удален является разрез вершины, так что, когда выполняется удаление, мы можем просто добавить количество соседей числа подключенных компонентов , Сложностью этого алгоритма является O (V (V + E)).
Мне сказали, что для выполнения этой задачи существует алгоритм O (V + E). Но я не могу понять. Исследование Google также не показывает многого. Может ли кто-нибудь мне посоветовать?
Могу ли я сказать, что этот метод будет работать только для неориентированных графов, поскольку используется ufds? – LanceHAOH
@LanceHAOH Да, он работает только для неориентированных графов. – kraskevich