Ich verstehe das Konzept der Tiefensuche zuerst, wenn es darum geht, Bäume zu überqueren. Aber ich habe es schwer, dfs auf anderen Datenstrukturen (Arrays, 2D-Arrays, etc.) durchzuführen. Wie kann man am besten darüber nachdenken?Wie funktioniert DFS für nicht Bäume?
Antwort
Die Tiefensuche (DFS) wird normalerweise an Bäumen demonstriert. Jetzt, wie Sie die Bäume implementieren, ist Ihr Anruf. Sie können unter Verwendung von Arrays, verkettete Listen Adjazenzmatrix etc. Der beste Weg ist, zu verstehen, implementieren ein zu implementieren, sind hier einige Implementierungen, die helfen können:
Die DFS erstellt eine virtuelle Struktur in jeder Struktur, auf die Sie es anwenden. Dieser Baum ist als spanning tree der Struktur bekannt. Sie existieren für Graphen, Digraphen und sogar Arrays oder andere Strukturen, die von einem DFS besucht werden können.
Natürlich wird es viele Kanten, die nicht auf dem Baum ist. In ungerichteten Graphen und Strukturen sind sie immer "Hinterkanten" (die von einem Kindknoten zu einem Vorfahrknoten gehen), aber bei Strukturen, bei denen die Kanten eine bestimmte Ausrichtung haben können, können sie Vorwärtskanten sein (die auf nicht besuchte Nachfahren zeigen) Knoten) oder Kreuzkanten (die verschiedene Teilbäume kreuzen).
- 1. DFS Bäume und DFS Wald
- 2. DFS rekursiv vs DFS iterativ
- 3. For Schleife für phylogenetische Bäume
- 4. Sortierung Wurzelknoten für Bäume Algorithmus
- 5. Standardwert für hdfs dfs -ls
- 6. hdfs dfs funktioniert nicht, nachdem mehrere Knoten konfiguriert wurden
- 7. Wie geht iteratives DFS zurück?
- 8. Wie mit modifizierten DFS-Algorithmus
- 9. Wie werden Parse-Bäume verwendet?
- 10. Expression Bäume
- 11. rekursive DFS Ruby-Methode
- 12. Wie manipuliere ich Parse Bäume?
- 13. DFS zählen isolierte Knoten für Artikulationspunkte
- 14. Verständnis von Ukkonens Algorithmus für Suffix-Bäume
- 15. Bäume rekursiv sortieren
- 16. Leetcode: Zeit Komplexität für bfs/dfs
- 17. DFS Labyrinth Problem, wie Nachbarn zu finden
- 18. Kombinieren mehrerer Ausdrücke Bäume
- 19. Fusion-Bäume verstehen?
- 20. DFS-Algorithmus Labyrinth-Generator
- 21. Warum zeichnet xgboost meine Bäume nicht?
- 22. SVN verschiedene Bäume verschmelzen
- 23. Wie die Reihenfolge der verschiedenen Bäume Standardsortierung ändern für sale.order.line
- 24. Kantenklassifizierung in iterativem DFS
- 25. Segmentierungsfehler in DFS
- 26. umklappen Bäume in OCaml
- 27. DFS-Algorithmus Traversal
- 28. schnelle Erkundung Zufalls Bäume
- 29. Verwirrt über Huffman-Bäume
- 30. Hadoop DFS Fehler
Versuchen Sie, das Array selbst als Baum zu visualisieren? – CyprUS