Algoritmo ottimale per trovare la circonferenza di un grafico sparso?


20

Mi chiedo come trovare la circonferenza di un grafico sparso non orientato. Per rado intendo . Per ottimale intendo la minore complessità temporale.|E|=O(|V|)

Ho pensato ad alcune modifiche all'algoritmo di Tarjan per i grafici non indirizzati, ma non ho trovato buoni risultati. In realtà ho pensato che se avessi trovato un componente a 2 connessioni in , allora avrei potuto trovare la circonferenza, tramite una sorta di induzione che può essere ottenuta dalla prima parte. Potrei essere sulla strada sbagliata, però. Qualsiasi algoritmo asintoticamente migliore di (cioè ) è il benvenuto.O(|V|)Θ(|V|2)o(|V|2)


Questo è probabilmente ancora un problema aperto e forse più adatto a cstheory.
Aryabhata,

6
Ma sarebbe opportuno chiedere a Cstheory se si tratta di un problema aperto.
JeffE,

1
@Suresh, non riesco a pensare meglio di per BFS. Anche se questo è adatto per CStheory, lo chiederò domani. Ω(n2)

1
Nota: questa domanda è stata trasferita a Cstheory. Votare per chiudere.
Suresh,

2
@Suresh: piuttosto che chiudere, dovremmo solo aggiungere una risposta qui con un link alla risposta lì, dicendo che è stata data risposta in cstheory. Inoltre, come lo chiudiamo? Fuori tema? (Ho aggiunto una risposta in CW).
Aryabhata,

Risposte:


7

Vedi Algoritmo ottimale per trovare la circonferenza di un grafico sparso da cstheory.SE che ha una risposta accettata.


Penso che la risposta in CSTheory non sia completa, sto aspettando più riferimenti, quindi non l'ho ancora contrassegnata come risposta. Ma qui puoi decidere di chiudere questo, ma non lo cancellerò perché penso che sia bello avere una storia di questo problema in CS. PS: So che Shiva è eccellente in campi correlati, ma penso comunque che sia meglio lasciarlo aperto, forse qualcun altro ha riferimenti migliori.

@SaeedAmiri: potresti non trovare sempre un riferimento. È possibile che nessuno abbia considerato questo problema prima o ne abbia preso nota esplicitamente in un elenco di problemi aperto. Tuttavia, puoi sempre lasciare la tua domanda non contrassegnata. a proposito, sono contrario a chiuderlo qui. Questa è una domanda perfettamente valida per questo sito e chiuderla potrebbe dare un'impressione sbagliata ai futuri interrogatori.
Aryabhata,

1
dai un'occhiata alla domanda cstheory ora.
Suresh,

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.