Δομές ΔεδομένωνΤμήμα Πληροφορικής ΑΠΘ1 Δομές Δεδομένων - DFS σε κατευθυνόμενο γράφο - Ελάχιστα Μονοπάτια - Τοπολογική Ταξινόμηση - Eλάχιστα Ζευγνύοντα.

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
Επίπεδα Γραφήματα : Προβλήματα και Υπολογιστική Πολυπλοκότητα TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A AA.
Advertisements

Θεωρία Γράφων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές
Θεωρία Γράφων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές
Θεωρία Γραφημάτων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές
Θεωρία Γράφων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές
11-1 ΜΑΘΗΜΑ 12 ο Γράφοι, Διάσχιση Γράφων Υλικό από τις σημειώσεις Ν. Παπασπύρου, 2006.
1Πέτρος ΣτεφανέαςΠρογραμματιστικές Τεχνικές ΓΡΑΦΟΙ (GRAPHS) ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΕΣ ΤΕΧΝΙΚΕΣ Διδάσκοντες:Γιάννης Μαΐστρος Νίκος Παπασπύρου.
Γραφήματα & Επίπεδα Γραφήματα
Διαίρει και Βασίλευε πρόβλημα μεγέθους Ν διάσπαση πρόβλημα μεγέθους Ν-k πρόβλημα μεγέθους k.
Επικαλύπτοντα Δέντρα και Σύνολα Τομής
ΜΑΘΗΜΑ: ΣΧΕΔΙΑΣΗ ΑΛΓΟΡΙΘΜΩΝ ΔΙΔΑΣΚΩΝ: Π. ΚΑΤΣΑΡΟΣ Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου.
Γράφοι: Προβλήματα και Αλγόριθμοι
Θεωρία Γράφων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές
ΕΠΛ 231 – Δομές Δεδομένων και Αλγόριθμοι12-1 Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Ο αλγόριθμος του Prim και ο αλγόριθμος του Kruskal.
Σχεδιαση Αλγοριθμων - Τμημα Πληροφορικης ΑΠΘ - Κεφαλαιο 9ο1 Άπληστοι αλγόριθμοι βελτιστοποίησης Προβλήματα βελτιστοποίησης λύνονται με μια σειρά επιλογών.
Διδάσκων: Παύλος Παυλικκάς1 Ολυμπιάδα Πληροφορικής Γράφοι – Graphs (Εισαγωγή)
Θεωρία Γράφων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές
Διδάσκων: Παύλος Παυλικκάς1 Ολυμπιάδα Πληροφορικής Γράφοι – Διάσχιση.
ΜΑΘΗΜΑ: ΣΧΕΔΙΑΣΗ ΑΛΓΟΡΙΘΜΩΝ ΔΙΔΑΣΚΩΝ: Π. ΚΑΤΣΑΡΟΣ Δευτέρα, 30 Μαρτίου 2015Δευτέρα, 30 Μαρτίου 2015Δευτέρα, 30 Μαρτίου 2015Δευτέρα, 30 Μαρτίου 2015Τμ. Πληροφορικής,
Σχεδίαση Αλγορίθμων - Τμήμα Πληροφορικής ΑΠΘ - Εξάμηνο 4ο1 Ωμή Βία Είναι μία άμεση προσέγγιση που βασίζεται στην εκφώνηση του προβλήματος και τους ορισμούς.
Θεωρία Γράφων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές
Σχεδίαση Αλγορίθμων - Τμήμα Πληροφορικής ΑΠΘ - Eξάμηνο 4ο1 Μείωσε και Βασίλευε Μειώνουμε το στιγμιότυπο του προβλήματος σε ένα μικρότερο στιγμιότυπο.
Διερεύνηση γραφήματος. Ένας αλγόριθμος διερεύνησης γραφήματος επισκέπτεται τους κόμβους του γραφήματος με μια καθορισμένη στρατηγική, π.χ. κατά εύρος.
Ελαφρύτατες διαδρομές TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A AA A A.
Ελάχιστο Συνδετικό Δέντρο
Βέλτιστη Δυναμική Προσαρμογή Τοπολογίας Δικτύων: Γραφοθεωρητικοί Αλγόριθμοι Για περισσότερα: N. Li, J. C. Hou. Topology Control in Heterogeneous Wireless.
Θεωρία Γράφων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές Κεφάλαιο 4: Συνδεσμικότητα Data Engineering Lab 1.
Διερεύνηση γραφήματος. Ένας αλγόριθμος διερεύνησης γραφήματος επισκέπτεται τους κόμβους του γραφήματος με μια καθορισμένη στρατηγική, π.χ. κατά εύρος.
Θεωρία Γράφων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές
Αναζήτηση Κατά Βάθος Διδάσκοντες: Σ. Ζάχος, Δ. Φωτάκης Επιμέλεια διαφανειών: Δ. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο.
1 Κατανεμημένοι αλγόριθμοι για την εύρεση γεννητικών δέντρων (spanning trees) 1.Ένας σταθερός κόμβος στέλνει ένα ‘start’ μήνυμα σε κάθε γειτονική του ακμή.
Θεωρία Γραφημάτων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές
Θεωρία Γραφημάτων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές Ενότητα 4 Δ ΕΝΔΡΑ Σταύρος Δ. Νικολόπουλος 1.
Χρονική Πολυπλοκότητα και Μοντέλα
Γράφημα TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Συνδυαστικό αντικείμενο που αποτελείται από.
Θεωρία Γράφων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές
ΕΠΛ 231 – Δομές Δεδομένων και Αλγόριθμοι13-1 Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Ο αλγόριθμος Dijkstra για εύρεση βραχυτέρων μονοπατιών.
Δένδρα ΘΕΩΡΙΑ ΓΡΑΦΩΝ Εργαστήριο Τεχνολογίας & Επεξεργασίας Δεδομένων Θεωρία Γράφων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές Κεφάλαιο 3: Δένδρα.
Αλγόριθμοι - Τμήμα Πληροφορικής ΑΠΘ - 4ο εξάμηνο
Θεωρία Γράφων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές TSP, Μέτρα κεντρικότητας, Dijkstra Data Engineering Lab.
Ελαφρύτατες διαδρομές TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A AA A A.
ΛΟΓ102: Τεχνολογία Λογισμικού Ι Διδάσκων: Νίκος Παπασπύρου 1Νίκος ΠαπασπύρουΛΟΓ102:
Data Engineering Lab Θεωρία Γράφων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές Θεωρία Γράφων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές Κεφάλαιο 3: Δένδρα 1.
Συνδεσμικότητα ΘΕΩΡΙΑ ΓΡΑΦΩΝ Εργαστήριο Τεχνολογίας & Επεξεργασίας Δεδομένων Θεωρία Γράφων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές Κεφάλαιο 4: Συνδεσμικότητα.
Θεωρία Γραφημάτων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές
ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΕΣ ΤΕΧΝΙΚΕΣ Διδάσκοντες:Γιάννης Μαΐστρος Στάθης Ζάχος Νίκος Παπασπύρου
Μέγιστη ροή TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A AA A A Συνάρτηση χωρητικότητας Κατευθυνόμενο γράφημα.
Συνδετικότητα γραφήματος (graph connectivity). α β Υπάρχει μονοπάτι μεταξύ α και β; Παραδείγματα: υπολογιστές ενός δικτύου ιστοσελίδες ισοδύναμες μεταβλητές.
1 ΔΙΑΣΧΙΣΗ ΓΡΑΦΗΜΑΤΩΝ. 2 Θέματα μελέτης Πρόβλημα αναζήτησης σε γραφήματα –Αναζήτηση κατά βάθος (Depth-first search – DFS) –Αναζήτηση κατά πλάτος (Breadth-first.
Θεωρία & Αλγόριθμοι Γράφων Θεωρία & Αλγόριθμοι Γράφων Εφαρμογές DFS Data Science Lab 1.
Minimum Spanning Trees1 “Ελάχιστα” συνδετικά δέντρα JFK BOS MIA ORD LAX DFW SFO BWI PVD
Γράφημα Συνδυαστικό αντικείμενο που αποτελείται από 2 σύνολα:
ΧΡΩΜΑΤΙΣΜΟΣ ΓΡΑΦΩΝ Δημοκρίτειο Πανεπιστήμιο Θράκης, Μαθηματικό Σπουδαστήριο Πολυτεχνικής Σχολής.
Δένδρα.
Διερεύνηση γραφήματος
Δένδρα Δένδρο είναι ένα συνεκτικό άκυκλο γράφημα. Δένδρο Δένδρο Δένδρο
Μέγιστη ροή Κατευθυνόμενο γράφημα 12 Συνάρτηση χωρητικότητας
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ & ΑΡΧΕΙΩΝ
ΓΡΑΦΟΙ (GRAPHS).
Αλγόριθμοι - Τμήμα Πληροφορικής ΑΠΘ - Κεφάλαιο 9ο
Χρωματισμός κορυφών -Χρωματισμός χαρτών
Επικαλύπτοντα Δέντρα και Σύνολα Τομής
ΘΕΩΡΙΑ ΤΗΣ ΠΕΡΙΛΗΨΗΣ Α΄ΛΥΚΕΙΟΥ
Traveling Salesman-Greedy algorithm (GTS1)
Θεωρία & Αλγόριθμοι Γράφων Κατευθυνόμενοι Γράφοι
Ελαφρύτατες διαδρομές
ΣΤΟΙΧΕΙΑ ΘΕΩΡΙΑΣ ΓΡΑΦΗΜΑΤΩΝ II
გრაფები. ცნებები და განსაზღვრებები.
ΔΙΑΣΤΗΜΑ.
Αναζήτηση (Εξερεύνηση) Πρώτα σε Πλάτος
Μεταγράφημα παρουσίασης:

Δομές ΔεδομένωνΤμήμα Πληροφορικής ΑΠΘ1 Δομές Δεδομένων - DFS σε κατευθυνόμενο γράφο - Ελάχιστα Μονοπάτια - Τοπολογική Ταξινόμηση - Eλάχιστα Ζευγνύοντα Δένδρα

Δομές ΔεδομένωνΤμήμα Πληροφορικής ΑΠΘ2 Depth First Search Μέθοδος που χρησιμοποιείται ευρύτατα από πολλούς αλγορίθμους γραφημάτων. Μπορεί να χρησιμοποιηθεί για: Να απαντήσει αν ο γράφος είναι συνεκτικός ή όχι, Να προσδιοριστούν οι συνεκτικές συνιστώσες του γράφου, Να προσδιορίσουμε τα σημεία άρθρωσης, …

Δομές ΔεδομένωνΤμήμα Πληροφορικής ΑΠΘ3 Αλγόριθμος DFS DFS(G) { for each vertex u  G->V { u->color = EMPTY; } time = 0; for each vertex u  G->V { if (u->color == EMPTY) DFS_Visit(u); } DFS_Visit(u) { u->color = YELLOW; time = time+1; u->d = time; for each v  u->Adj[] { if (v->color == EMPTY) DFS_Visit(v); } u->color = WHITE; time = time+1; u->f = time; }

Δομές ΔεδομένωνΤμήμα Πληροφορικής ΑΠΘ4 Παράδειγμα DFS Πηγή

Δομές ΔεδομένωνΤμήμα Πληροφορικής ΑΠΘ5 1 | | | | | | | | d f Πηγή Παράδειγμα DFS

Δομές ΔεδομένωνΤμήμα Πληροφορικής ΑΠΘ6 1 | | | | | | 2 | | d f Πηγή Παράδειγμα DFS

Δομές ΔεδομένωνΤμήμα Πληροφορικής ΑΠΘ7 1 | | | | |3 | 2 | | d f Πηγή Παράδειγμα DFS

Δομές ΔεδομένωνΤμήμα Πληροφορικής ΑΠΘ8 1 | | | | |3 | 4 2 | | d f Πηγή Παράδειγμα DFS

Δομές ΔεδομένωνΤμήμα Πληροφορικής ΑΠΘ9 1 | | | |5 |3 | 4 2 | | d f Πηγή Παράδειγμα DFS

Δομές ΔεδομένωνΤμήμα Πληροφορικής ΑΠΘ10 1 | | | |5 | 63 | 4 2 | | d f Πηγή Παράδειγμα DFS

Δομές ΔεδομένωνΤμήμα Πληροφορικής ΑΠΘ11 1 |8 | | |5 | 63 | 4 2 | 7 | d f Πηγή Παράδειγμα DFS

Δομές ΔεδομένωνΤμήμα Πληροφορικής ΑΠΘ12 1 |8 | | |5 | 63 | 4 2 | 7 | d f Πηγή Παράδειγμα DFS

Δομές ΔεδομένωνΤμήμα Πληροφορικής ΑΠΘ13 1 |8 | | |5 | 63 | 4 2 | 79 | d f Πηγή Παράδειγμα DFS

Δομές ΔεδομένωνΤμήμα Πληροφορικής ΑΠΘ14 1 |8 | | |5 | 63 | 4 2 | 79 |10 d f Πηγή Παράδειγμα DFS

Δομές ΔεδομένωνΤμήμα Πληροφορικής ΑΠΘ15 1 |8 |11 | |5 | 63 | 4 2 | 79 |10 d f Πηγή Παράδειγμα DFS

Δομές ΔεδομένωνΤμήμα Πληροφορικής ΑΠΘ16 1 |128 |11 | |5 | 63 | 4 2 | 79 |10 d f Πηγή Παράδειγμα DFS

Δομές ΔεδομένωνΤμήμα Πληροφορικής ΑΠΘ17 1 |128 |1113| |5 | 63 | 4 2 | 79 |10 d f Πηγή Παράδειγμα DFS

Δομές ΔεδομένωνΤμήμα Πληροφορικής ΑΠΘ18 1 |128 |1113| 14|5 | 63 | 4 2 | 79 |10 d f Πηγή Παράδειγμα DFS

Δομές ΔεδομένωνΤμήμα Πληροφορικής ΑΠΘ19 1 |128 |1113| 14|155 | 63 | 4 2 | 79 |10 d f Πηγή Παράδειγμα DFS

Δομές ΔεδομένωνΤμήμα Πληροφορικής ΑΠΘ20 1 |128 |1113|16 14|155 | 63 | 4 2 | 79 |10 d f Πηγή Παράδειγμα DFS

Δομές ΔεδομένωνΤμήμα Πληροφορικής ΑΠΘ21 DAG DAG = Directed Acyclic Graph Κατευθυνόμενος γράφος χωρίς κύκλους

Δομές ΔεδομένωνΤμήμα Πληροφορικής ΑΠΘ22 Βασικό Θεώρημα Ένας γράφος G(V,E) είναι DAG εάν και μόνο εάν το δένδρο DFS που προκύπτει δεν έχει πίσω βέλη.

Δομές ΔεδομένωνΤμήμα Πληροφορικής ΑΠΘ23 Τοπολογική Ταξινόμηση UnderwearSocks ShoesPants Belt Shirt Watch Tie Jacket SocksUnderwearPantsShoesWatchShirtBeltTieJacket

Δομές ΔεδομένωνΤμήμα Πληροφορικής ΑΠΘ24 Μέθοδος Topological-Sort() { Εκτέλεση DFS Όταν ολοκληρώσουμε την επίσκεψη σε μία κορυφή, τη δίνουμε στην έξοδο. Οι κορυφές δίδονται στην έξοδο με αντίστροφη σειρά. } Κόστος: O(V+E)

Δομές ΔεδομένωνΤμήμα Πληροφορικής ΑΠΘ25 Ελάχιστα Μονοπάτια Πρόβλημα: Σε ένα γράφο G(V,E) με βάρη, δίνονται οι κορυφές Α και Β και ζητείται να προσδιορίσουμε ένα μονοπάτι που έχει το ελάχιστο κόστος μετάβασης από την Α στη Β.

Δομές ΔεδομένωνΤμήμα Πληροφορικής ΑΠΘ26 Tokyo Subway Map

Δομές ΔεδομένωνΤμήμα Πληροφορικής ΑΠΘ27 Ελάχιστα Ζευγνύοντα Δένδρα Αλλιώς: Minimum Spanning Trees (MST) Είναι το δένδρο που προκύπτει από έναν γράφο G(V,E) αν κρατήσουμε τις ακμές που δίνουν αθροιστικά το ελάχιστο κόστος και ο γράφος που απομένει είναι συνδεδεμένος.

Δομές ΔεδομένωνΤμήμα Πληροφορικής ΑΠΘ28 Minimum Spanning Tree Ποιες ακμές πρέπει να κρατήσουμε στο παρακάτω γράφημα για να έχουμε MST? HBC GED F A

Δομές ΔεδομένωνΤμήμα Πληροφορικής ΑΠΘ29 Minimum Spanning Tree HBC GED F A

Δομές ΔεδομένωνΤμήμα Πληροφορικής ΑΠΘ30 Prim’s Algorithm MST-Prim(G, w, r) Q = V[G]; for each u  Q key[u] =  ; key[r] = 0; p[r] = NULL; while (Q not empty) u = ExtractMin(Q); for each v  Adj[u] if (v  Q and w(u,v) < key[v]) p[v] = u; key[v] = w(u,v);

Δομές ΔεδομένωνΤμήμα Πληροφορικής ΑΠΘ31 Prim’s Algorithm MST-Prim(G, w, r) Q = V[G]; for each u  Q key[u] =  ; key[r] = 0; p[r] = NULL; while (Q not empty) u = ExtractMin(Q); for each v  Adj[u] if (v  Q and w(u,v) < key[v]) p[v] = u; key[v] = w(u,v); Run on example graph

Δομές ΔεδομένωνΤμήμα Πληροφορικής ΑΠΘ32 Prim’s Algorithm MST-Prim(G, w, r) Q = V[G]; for each u  Q key[u] =  ; key[r] = 0; p[r] = NULL; while (Q not empty) u = ExtractMin(Q); for each v  Adj[u] if (v  Q and w(u,v) < key[v]) p[v] = u; key[v] = w(u,v);     Run on example graph

Δομές ΔεδομένωνΤμήμα Πληροφορικής ΑΠΘ33 Prim’s Algorithm MST-Prim(G, w, r) Q = V[G]; for each u  Q key[u] =  ; key[r] = 0; p[r] = NULL; while (Q not empty) u = ExtractMin(Q); for each v  Adj[u] if (v  Q and w(u,v) < key[v]) p[v] = u; key[v] = w(u,v);  0    Pick a start vertex r r

Δομές ΔεδομένωνΤμήμα Πληροφορικής ΑΠΘ34 Prim’s Algorithm MST-Prim(G, w, r) Q = V[G]; for each u  Q key[u] =  ; key[r] = 0; p[r] = NULL; while (Q not empty) u = ExtractMin(Q); for each v  Adj[u] if (v  Q and w(u,v) < key[v]) p[v] = u; key[v] = w(u,v);  0    u

Δομές ΔεδομένωνΤμήμα Πληροφορικής ΑΠΘ35 Prim’s Algorithm MST-Prim(G, w, r) Q = V[G]; for each u  Q key[u] =  ; key[r] = 0; p[r] = NULL; while (Q not empty) u = ExtractMin(Q); for each v  Adj[u] if (v  Q and w(u,v) < key[v]) p[v] = u; key[v] = w(u,v);  0  3  u

Δομές ΔεδομένωνΤμήμα Πληροφορικής ΑΠΘ36 Prim’s Algorithm MST-Prim(G, w, r) Q = V[G]; for each u  Q key[u] =  ; key[r] = 0; p[r] = NULL; while (Q not empty) u = ExtractMin(Q); for each v  Adj[u] if (v  Q and w(u,v) < key[v]) p[v] = u; key[v] = w(u,v); 14  0  3  u

Δομές ΔεδομένωνΤμήμα Πληροφορικής ΑΠΘ37 Prim’s Algorithm MST-Prim(G, w, r) Q = V[G]; for each u  Q key[u] =  ; key[r] = 0; p[r] = NULL; while (Q not empty) u = ExtractMin(Q); for each v  Adj[u] if (v  Q and w(u,v) < key[v]) p[v] = u; key[v] = w(u,v); 14  0  3  u

Δομές ΔεδομένωνΤμήμα Πληροφορικής ΑΠΘ38 Prim’s Algorithm MST-Prim(G, w, r) Q = V[G]; for each u  Q key[u] =  ; key[r] = 0; p[r] = NULL; while (Q not empty) u = ExtractMin(Q); for each v  Adj[u] if (v  Q and w(u,v) < key[v]) p[v] = u; key[v] = w(u,v); 14  08  3  u

Δομές ΔεδομένωνΤμήμα Πληροφορικής ΑΠΘ39 Prim’s Algorithm MST-Prim(G, w, r) Q = V[G]; for each u  Q key[u] =  ; key[r] = 0; p[r] = NULL; while (Q not empty) u = ExtractMin(Q); for each v  Adj[u] if (v  Q and w(u,v) < key[v]) p[v] = u; key[v] = w(u,v); 10  08  3  u

Δομές ΔεδομένωνΤμήμα Πληροφορικής ΑΠΘ40 Prim’s Algorithm MST-Prim(G, w, r) Q = V[G]; for each u  Q key[u] =  ; key[r] = 0; p[r] = NULL; while (Q not empty) u = ExtractMin(Q); for each v  Adj[u] if (v  Q and w(u,v) < key[v]) p[v] = u; key[v] = w(u,v); 10  08  3  u

Δομές ΔεδομένωνΤμήμα Πληροφορικής ΑΠΘ41 Prim’s Algorithm MST-Prim(G, w, r) Q = V[G]; for each u  Q key[u] =  ; key[r] = 0; p[r] = NULL; while (Q not empty) u = ExtractMin(Q); for each v  Adj[u] if (v  Q and w(u,v) < key[v]) p[v] = u; key[v] = w(u,v); 102  08  3  u

Δομές ΔεδομένωνΤμήμα Πληροφορικής ΑΠΘ42 Prim’s Algorithm MST-Prim(G, w, r) Q = V[G]; for each u  Q key[u] =  ; key[r] = 0; p[r] = NULL; while (Q not empty) u = ExtractMin(Q); for each v  Adj[u] if (v  Q and w(u,v) < key[v]) p[v] = u; key[v] = w(u,v); 102   u

Δομές ΔεδομένωνΤμήμα Πληροφορικής ΑΠΘ43 Prim’s Algorithm MST-Prim(G, w, r) Q = V[G]; for each u  Q key[u] =  ; key[r] = 0; p[r] = NULL; while (Q not empty) u = ExtractMin(Q); for each v  Adj[u] if (v  Q and w(u,v) < key[v]) p[v] = u; key[v] = w(u,v); 102   u

Δομές ΔεδομένωνΤμήμα Πληροφορικής ΑΠΘ44 Prim’s Algorithm MST-Prim(G, w, r) Q = V[G]; for each u  Q key[u] =  ; key[r] = 0; p[r] = NULL; while (Q not empty) u = ExtractMin(Q); for each v  Adj[u] if (v  Q and w(u,v) < key[v]) p[v] = u; key[v] = w(u,v);  u

Δομές ΔεδομένωνΤμήμα Πληροφορικής ΑΠΘ45 Prim’s Algorithm MST-Prim(G, w, r) Q = V[G]; for each u  Q key[u] =  ; key[r] = 0; p[r] = NULL; while (Q not empty) u = ExtractMin(Q); for each v  Adj[u] if (v  Q and w(u,v) < key[v]) p[v] = u; key[v] = w(u,v); u

Δομές ΔεδομένωνΤμήμα Πληροφορικής ΑΠΘ46 Prim’s Algorithm MST-Prim(G, w, r) Q = V[G]; for each u  Q key[u] =  ; key[r] = 0; p[r] = NULL; while (Q not empty) u = ExtractMin(Q); for each v  Adj[u] if (v  Q and w(u,v) < key[v]) p[v] = u; key[v] = w(u,v); u

Δομές ΔεδομένωνΤμήμα Πληροφορικής ΑΠΘ47 Prim’s Algorithm MST-Prim(G, w, r) Q = V[G]; for each u  Q key[u] =  ; key[r] = 0; p[r] = NULL; while (Q not empty) u = ExtractMin(Q); for each v  Adj[u] if (v  Q and w(u,v) < key[v]) p[v] = u; key[v] = w(u,v); u

Δομές ΔεδομένωνΤμήμα Πληροφορικής ΑΠΘ48 Prim’s Algorithm MST-Prim(G, w, r) Q = V[G]; for each u  Q key[u] =  ; key[r] = 0; p[r] = NULL; while (Q not empty) u = ExtractMin(Q); for each v  Adj[u] if (v  Q and w(u,v) < key[v]) p[v] = u; key[v] = w(u,v); u

Δομές ΔεδομένωνΤμήμα Πληροφορικής ΑΠΘ49 Prim’s Algorithm MST-Prim(G, w, r) Q = V[G]; for each u  Q key[u] =  ; key[r] = 0; p[r] = NULL; while (Q not empty) u = ExtractMin(Q); for each v  Adj[u] if (v  Q and w(u,v) < key[v]) p[v] = u; key[v] = w(u,v); u

Δομές ΔεδομένωνΤμήμα Πληροφορικής ΑΠΘ50 Prim’s Algorithm MST-Prim(G, w, r) Q = V[G]; for each u  Q key[u] =  ; key[r] = 0; p[r] = NULL; while (Q not empty) u = ExtractMin(Q); for each v  Adj[u] if (v  Q and w(u,v) < key[v]) p[v] = u; key[v] = w(u,v); u