Zanim zacznę, tak, to jest praca domowa. Nie napisałbym tutaj, jeśli nie starałem się tak mocno, jak tylko mogłem, rozwiązać ten problem przez ostatnie 14 godzin i nie udało mi się.Czy można usunąć krawędź bez odłączania wykresu?
Problem jest następujący: Chcę sprawdzić, czy mogę usunąć krawędź z połączonego grafu nieodłączonego bez odłączania go w czasie O (V), a nie tylko liniowo.
Co doszedłem tak daleko:
Krawędź cykl może być usunięte bez odłączania wykres, więc ja po prostu sprawdzić, czy wykres ma cykl. Mam dwie metody, które mogą być używane, jeden jest DFS, a następnie sprawdzanie, czy mam tylne krawędzie; drugi to liczenie Vs i Es i sprawdzenie, czy | E | = | V | - 1, jeśli to prawda, to wykres jest drzewem i nie ma węzła, który możemy usunąć bez jego odłączenia.
Oba wcześniejsze podejścia rozwiązują problem, ale oba wymagają O (| E | + | V |), a książka mówi, że istnieje szybszy sposób (to prawdopodobnie zachłanne podejście).
Czy mogę uzyskać wskazówki, proszę?
EDYCJA: Dokładniej, to jest moje pytanie; mając podłączony wykres G = (V, E), czy mogę usunąć krawędź e w E i czy otrzymany wykres nadal będzie podłączony?
Bądź nieco dokładniejszy w komunikacie. Pytasz "biorąc pod uwagę podłączony wykres G = (V, E), czy mogę usunąć konkretną krawędź e w E i czy otrzymany wykres nadal będzie podłączony?" lub "Biorąc pod uwagę wykres taki jak poprzednio, czy istnieje pewna krawędź e w E, dla której wynikowy wykres nie jest już połączony?" –
Pytanie edytowane, przepraszam. Muszę sprawdzić, czy mogę usunąć krawędź z E i nadal mieć podłączony wykres. – Fingolfin
Termin techniczny jest [most] (http://en.wikipedia.org/wiki/Bridge_ (graph_theory)) – sdcvvc