Σε τι χρησιμοποιείται ο αλγόριθμος Prims;
Σε τι χρησιμοποιείται ο αλγόριθμος Prims;

Βίντεο: Σε τι χρησιμοποιείται ο αλγόριθμος Prims;

Βίντεο: Σε τι χρησιμοποιείται ο αλγόριθμος Prims;
Βίντεο: Prim's algorithm in 2 minutes 2024, Ενδέχεται
Anonim

Στην επιστήμη των υπολογιστών, Prim's (γνωστό και ως Jarník's) αλγόριθμος είναι άπληστος αλγόριθμος που βρίσκει ένα ελάχιστο εκτεινόμενο δέντρο για ένα σταθμισμένο μη κατευθυνόμενο γράφημα. Αυτό σημαίνει ότι βρίσκει ένα υποσύνολο των άκρων που σχηματίζει ένα δέντρο που περιλαμβάνει κάθε κορυφή, όπου το συνολικό βάρος όλων των άκρων στο δέντρο ελαχιστοποιείται.

Εξάλλου, σε τι χρησιμοποιείται ο αλγόριθμος του Kruskal;

Ο αλγόριθμος του Kruskal χρησιμοποιεί η άπληστη προσέγγιση για την εύρεση ενός ελάχιστου εκτεινόμενου δέντρου. Ο αλγόριθμος του Kruskal αντιμετωπίζει κάθε κόμβο ως ανεξάρτητο δέντρο και συνδέει τον έναν με τον άλλον μόνο εάν έχει το χαμηλότερο κόστος σε σύγκριση με όλες τις άλλες διαθέσιμες επιλογές.

Δεύτερον, τι κάνει ο αλγόριθμος του Dijkstra; Ο αλγόριθμος του Dijkstra μπορεί να χρησιμοποιηθεί για τον προσδιορισμό της συντομότερης διαδρομής από έναν κόμβο σε ένα γράφημα σε κάθε άλλο κόμβο εντός της ίδιας δομής δεδομένων γραφήματος, με την προϋπόθεση ότι οι κόμβοι είναι προσβάσιμοι από τον αρχικό κόμβο. Ο αλγόριθμος του Dijkstra μπορεί να χρησιμοποιηθεί για την εύρεση της συντομότερης διαδρομής.

Δεύτερον, ποιος είναι καλύτερος αλγόριθμος Prims και Kruskal;

Αλγόριθμος Kruskal : εκτελεί καλύτερα ασυνήθιστες καταστάσεις (αραιά γραφήματα) επειδή χρησιμοποιεί απλούστερες δομές δεδομένων. Αλγόριθμος Prim : είναι σημαντικά ταχύτερο στο όριο όταν έχετε ένα πραγματικά πυκνό γράφημα με πολλές περισσότερες κορυφές edgesthan.

Ποια είναι η χρονική πολυπλοκότητα του αλγορίθμου Prims;

Έτσι, χρησιμοποιεί έναν ενιαίο πίνακα ακεραίων για τον ορισμό του υπο-γραφήματος ενός γραφήματος. ο χρονική πολυπλοκότητα είναι O(VlogV +ElogV) = O(ElogV), καθιστώντας το ίδιο με Σαλγόριθμος Kruskal . Ωστόσο, Ο αλγόριθμος του Prim μπορεί να βελτιωθεί χρησιμοποιώντας το Fibonacci Heaps (βλ. Cormen) σε O(E + logV).

Συνιστάται: