Bei der ersten Suche in der Tiefe müssen wir, wenn ein Knoten besucht wird, erneut einen seiner benachbarten Knoten nehmen und diesen Prozess für diesen benachbarten Knoten ausführen. Abhängig davon kann es mehrere Tiefensuchaufträge geben. Gibt es eine Möglichkeit, die verschiedenen DFS-Aufträge in einem Diagramm zu zählen, ohne den Algorithmus anzuwenden und manuell zu berechnen? Bitte geben Sie mir die Lösung so schnell wie möglich.Tiefe erste Suchreihenfolge
0
A
Antwort
1
Sie können es tun, indem Sie die Knoten auf jeder Ebene zählen und multiplizieren jedes Mal auf die nächste Ebene.
LinkedList<Node> connections = startNode.connections;
long totalOrders = 1L;
while(!connections.isEmpty()){
LinkedList<Node> newConnections = new LinkedList<>();
List<Integer> conSizes = new LinkedList()<>;
for (Node connection : connections) {
if(!connection.visited){
connection.visited = true;
newConnections.addAll(connection.connections);
totalOrders = totalOrders * factorial(connection.connections.size());
}
}
totalOrders = totalOrders * factorial(connections.size());
connections = newConnections;
}
System.out.println(totalOrders)
public static long factorial(int n) {
long fact = 1; // this will be the result
for (int i = 1; i <= n; i++) {
fact *= i;
}
return fact;
}
Verwandte Themen
- 1. Suchreihenfolge des HttpRequest-Indexers
- 2. Tiefe erste Suche und Breite erste Suche nach Grafik
- 3. C++ gerichtete Graph Tiefe erste Suche
- 4. Tiefe erste Suche zu lösen Puzzle
- 5. Zeit Komplexität der Tiefe-erste Graph-Algorithmus
- 6. Frage zu SQL Server HierarchyID Tiefe erste Leistung
- 7. StackOverflowError beim Ausführen Tiefe erste Suche (ungerichtetes Diagramm)
- 8. Tiefe erste Suche in Java - wie man zum Elternknoten zurückgeht?
- 9. Implementierung eines expliziten Stacks in einer Tiefe erste Suche
- 10. MPI Tiefe-erste Suche mit dynamischen Spawns in Python
- 11. Erste Genetische Programmierung Parameter
- 12. Tiefe/Perspektive mit CoreImage?
- 13. lxml eTree iterparse Tiefe
- 14. Logarithmische Tiefe Puffer
- 15. Sync Tiefe und Farbe
- 16. NSFetchedResultsController Tiefe von geholtenObjekten
- 17. Branching Factor und Tiefe
- 18. Backand tiefe Abfrage
- 19. rekursive Sass in Tiefe
- 20. Tiefe Kopie eines Drawable
- 21. tiefe Kopie der Doktrin
- 22. Tracking-Tiefe in Rekursion
- 23. Tiefe Rendern Artefakte
- 24. Python: Tiefe neuronale Netzwerke
- 25. MySQL Drop Tiefe
- 26. Javascript URL Tiefe (Level)
- 27. Wie implementiert man eine breite erste Suche bis zu einer bestimmten Tiefe?
- 28. Tiefe erste Suche, die meisten prägnanten Pfad, aber nicht kürzesten nach Gewicht in Python
- 29. warum diese tiefe erste Suche mit einem Startknoten von 3 auf diesem Weg geht?
- 30. Erste Hierarchiedaten aus sich selbst verweisende Tabellen