Μπορούν να χρησιμοποιηθούν τα df για την εύρεση της συντομότερης διαδρομής;

Μπορούν να χρησιμοποιηθούν τα df για την εύρεση της συντομότερης διαδρομής;
Μπορούν να χρησιμοποιηθούν τα df για την εύρεση της συντομότερης διαδρομής;
Anonim

Υπάρχουν αρκετές διαφορές μεταξύ DFS και BFS (σύντομη απάντηση: Και τα δύο μπορούν να βρουν τη συντομότερη διαδρομή στο μη σταθμισμένο γράφημα). Τόσο το BFS όσο και το DFS θα δώσουν τη συντομότερη διαδρομή από το Α στο Β, εάν εφαρμόσατε σωστά.

Είναι η συντομότερη διαδρομή DFS ή BFS;

Το

BFS βρίσκει τη συντομότερη διαδρομή προς τον προορισμό, ενώ το DFS πηγαίνει στο κάτω μέρος ενός υποδέντρου και μετά κάνει backtrack. Η πλήρης μορφή του BFS είναι η αναζήτηση σε πλάτος-πρώτα, ενώ η πλήρης μορφή του DFS είναι η πρώτη αναζήτηση σε βάθος. Το BFS χρησιμοποιεί μια ουρά για να παρακολουθεί την επόμενη τοποθεσία που θα επισκεφτεί.

Μπορεί το DFS να βρει τη συντομότερη διαδρομή στο σταθμισμένο γράφημα;

Όπως και με το BFS, το DFS μπορεί να χρησιμοποιηθεί για την εύρεση όλων των κορυφών που είναι προσβάσιμες από μια αρχή έναρξης v, για τον προσδιορισμό του αν είναι συνδεδεμένο ένα γράφημα ή για τη δημιουργία ενός εκτεινόμενου δέντρου. Σε αντίθεση με το BFS, το δεν μπορεί να χρησιμοποιηθεί για την εύρεση συντομότερων μη σταθμισμένων μονοπατιών.

Μπορείτε να χρησιμοποιήσετε το BFS για να βρείτε τη συντομότερη διαδρομή;

Τεχνικά, η αναζήτηση πρώτου πλάτους (BFS) από μόνη της δεν σας επιτρέπει να βρείτε τη συντομότερη διαδρομή, απλώς και μόνο επειδή το BFS δεν αναζητά τη συντομότερη διαδρομή: Το BFS περιγράφει μια στρατηγική για αναζήτηση γραφήματος, αλλά δεν λέει ότι πρέπει να αναζητήσετε κάτι συγκεκριμένο.

Μπορούμε να χρησιμοποιήσουμε το DFS στο Dijkstra;

2 Απαντήσεις. DFS συνεχίζει να πηδά κατά μήκος των κόμβων μέχρι να βρει μια διαδρομή, ενώ το Dijkstra μοιάζει περισσότερο με ένα BFS εκτός από το ότι παρακολουθεί τα βάρη (δεν έχουν όλα τα μονοπάτια το ίδιο κόστος) και θα συνεχίσει να ελέγχει τη συντομότερη διαδρομήδεν έχει ήδη ελεγχθεί μέχρι να φτάσει στον στόχο.

Συνιστάται: