Прежде чем я начну, да, это домашнее задание.Я не написал бы здесь, если бы не пытался изо всех сил, чтобы решить эту проблему в течение последних 14 часов и не получил нигде.
Проблема заключается в следующем: я хочу проверить, могу ли яудалить ребро из связанного неориентированного графа, не отключая его или нет за время O (V), а не просто линейно.
То, чего я достиг к этому моменту:
Ребро цикла можно удалить безотключив график, поэтому я просто проверяю, есть ли на графике цикл.У меня есть два метода, которые можно использовать, один из них - DFS, а затем проверка, есть ли у меня задние края;другой - путем подсчета Vs и Es и проверки, если | E |= | V |- 1, если это так, тогда граф является деревом, и нет узла, который мы можем удалить, не отключая его.
Оба предыдущих подхода решают проблему, но оба требуют O (| E | + | V |), и в книге говорится, что есть более быстрый путь (это, вероятно, жадный подход).
Могу ли я получить какие-либо подсказки, пожалуйста?
РЕДАКТИРОВАТЬ: Более конкретно, это мой вопрос;учитывая связный граф G = (V, E), могу ли я удалить некоторое ребро e в E и получить ли полученный граф еще связным?