Prima di iniziare, sì, questo è un compito. Non avrei postato qui se non avessi provato il più possibile per risolvere questo per le ultime 14 ore e non ho ottenuto nulla.C'è un margine che possiamo eliminare senza disconnettere il grafico?
Il problema è il seguente: Voglio verificare se posso eliminare un bordo da un grafico indiretto connesso senza disconnetterlo o meno in tempo O (V), non solo lineare.
Quello che ho raggiunto finora:
Un fronte ciclo può essere rimosso senza scollegare il grafico, quindi semplicemente controllare se il grafico ha un ciclo. Ho due metodi che potrebbero essere utilizzati, uno è DFS e quindi controllo se ho i bordi posteriori; l'altro è contando Vs ed Es e controllando se | E | = | V | - 1, se è vero, il grafico è un albero e non è possibile eliminare alcun nodo senza disconnetterlo.
Entrambi gli approcci precedenti risolvono il problema, ma entrambi hanno bisogno di O (| E | + | V |), e il libro dice che c'è un modo più veloce (probabilmente è un approccio avido).
Posso ottenere qualche suggerimento, per favore?
MODIFICA: In particolare, questa è la mia domanda; dato un grafico collegato G = (V, E), posso rimuovere qualche bordo e in E e il grafico risultante è ancora connesso?
Essere un po 'più preciso nella dichiarazione. Stai chiedendo "dato un grafico collegato G = (V, E), posso rimuovere un particolare bordo e in E e il grafico risultante essere ancora connesso?" oppure "Dato un grafico come prima, esiste un bordo e in E per cui il grafico risultante non è più connesso?" –
Domanda modificata, mi dispiace. Ho bisogno di VERIFICARE se posso rimuovere un bordo da E e avere ancora il grafico connesso. – Fingolfin
Il termine tecnico è [bridge] (http://en.wikipedia.org/wiki/Bridge_ (graph_theory)) – sdcvvc