Ich versuche einen effizienten Algorithmus zu strukturieren, erhält ungerichteten Graphen und Kante e (u, v) und entscheidet, ob die Kante zu irgendeinem Zyklus im Graphen gehört, aber nicht alle Zyklen! Mein Ansatz besteht darin, die Kante (u, v) aus dem Diagramm herauszunehmen und BFS auszuführen, um zu sehen, ob v noch von u erreichbar ist. Wenn ja, dann hat der ursprüngliche Graph einen Zyklus, der e enthält, sonst nicht. Aber ich bin nicht so sicher, wie man den Algorithmus zwickt, der entscheidet, wenn die Kante nicht zu allen Zyklen des Diagramms gehört.Effizienter Algorithmus, der entscheidet, ob eine Kante zu einem Zyklus gehört
Antwort
Ein ungerichteter Graph kann nur dann eine Kante enthalten, die zu allen Zyklengraphen gehört, wenn dieser Graph einen einzelnen Zyklus hat.
Schauen wir uns ein Beispiel an. Kante (2,3) gehört zu zwei Zyklen, aber Sie können immer einen dritten Zyklus finden, zu dem eine solche Kante nicht gehört.
Nachdem Sie überprüft haben, dass der Rand bis zu einem gewissen Zyklus gehört, können Sie überprüfen, ob dies den einzigen Zyklus im Graphen ist durch diese Kante zu entfernen und prüfen, ob die reduzierte Graph überhaupt keine Zyklen hat. Danke an @nomanpouigt für das Aufzeigen.
Oh, wenn der Graph mehr als 1 Zyklus hat, dann kann eine bestimmte Kante nicht zu allen gehören? Also ist der Algorithmus, den ich geschrieben habe, ausreichend zu benutzen? – 123josh123
@ 123josh123 ja – Yola
@Yola bist du sicher, OP-Algorithmus zu arbeiten? Würde man nicht einfach die Kante entfernen und prüfen, ob es im Diagramm keine weiteren Zyklen gibt, die uns sagen, ob eine bestimmte Kante in allen Zyklen vorhanden ist oder nicht? –
- 1. effizienter Algorithmus all 1-Cuts in einem ungerichteten Graphen
- 2. Effizienter Wortscramble-Algorithmus
- 3. Effizienter Frame-Cutting-Algorithmus
- 4. Effizienter Algorithmus, um Master-Element in einem Array zu finden?
- 5. Brent Zyklus Erkennung Algorithmus
- 6. effizienter Algorithmus statt
- 7. Überprüfen, ob Token zu einem Mitglied der Admin-Gruppe gehört
- 8. Effizienter genetischer Algorithmus
- 9. Laravel gehört zu einem der
- 10. Wie erkennt man, ob das Hinzufügen einer Kante zu einer DAG einen gerichteten Zyklus bildet?
- 11. Ein Algorithmus um festzustellen, ob eine Nummer zu einer Gruppe gehört oder nicht
- 12. Erstelle eine schräge Kante zu einem div
- 13. effizienter Algorithmus 2-Stufen-Nachbarn für alle Knoten in einem gerichteten Graphen zu finden
- 14. Überprüfen, ob eine Kante in einem Diagramm vorhanden ist
- 15. Ein effizienter Algorithmus und Code zum Finden eines Zyklus in einer Zeichenfolge in C++?
- 16. Überprüfen, ob das Datum zu einem Array von Daten gehört
- 17. Ermitteln, ob eine MemberExpression zu einer Instanz gehört
- 18. Effizienter Algorithmus zur Verarbeitung von Wahrscheinlichkeiten
- 19. Überprüfen Sie, ob eine Nummer gehört zu einer Liste
- 20. Prüfen, ob Punkt gehört
- 21. Überprüfen, ob der Browser des Benutzers zu bestimmten Versionen gehört
- 22. Wie man zufälliger Algorithmus effizienter macht
- 23. Effizienter Algorithmus zum Finden aller Schlüsselwörter in einem Text
- 24. Was ist eine sichere Kante im Prims-Algorithmus?
- 25. Was gehört zu einem Prismeninfrastrukturprojekt?
- 26. Warum nennen wir es "Relaxing" eine Kante?
- 27. Wie überprüft man, ob der Punkt zu ConvexShape gehört?
- 28. effizienter Algorithmus für Streicher - regex passend
- 29. Wie kann ich diesen Algorithmus effizienter machen?
- 30. Überprüfen, ob der Benutzer zu Active Directory-Gruppen gehört
Vielleicht etwas kontra intuitiv: Suche nach einem Zyklus, der keine besondere Kante hat: Wenn es mindestens eins gibt, dann haben nicht alle Zyklen es? – Colonder