Διδάσκων: Παναγιώτης Ανδρέου

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

Download "Διδάσκων: Παναγιώτης Ανδρέου"

Transcript

1 Διάλεξη 0: ΓράφοιIII -Ελάχιστα Γεννητορικά Δέντρα Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Ελάχιστα Γεννητορικά Δένδρα (ΕΓΔ) Minimum Spanning Trees -Ο αλγόριθμος του Primγια εύρεση ΕΓΔ σε γράφους -Ο αλγόριθμος του Kruskalγια εύρεση ΕΓΔ σε γράφους - Παραδείγματα Εκτέλεσης Διδάσκων: Παναγιώτης νδρέου ΕΠΛ3 Δομές Δεδομένων και λγόριθμοι

2 Ελάχιστα Γεννητορικά Δένδρα (ΕΓΔ) - Το πρόβλημα Υποθέστε ότι έχουμε το weightedγράφο G(V,), ο οποίος εκφράζει τις συνδέσεις σε ένα δίκτυο (το βάρος κάθε ακμής εκφράζει κάποιο κόστος π.χ. καθυστέρηση μετάδοσης). Επίσης υποθέστε ότι θέλουμε να στείλουμε από ένα κόμβο (server) ένα video stream στις υπόλοιπες τερματικές κορυφές του γράφου. Ένας τρόπος θα ήταν να στείλουμε ένα video stream ανά κορυφήπαραλήπτη (unicast) Όμως αυτό θα ήταν πολύ ακριβό. Ιδανικά θα θέλαμε να φτιάξουμε ένα μονοπάτι (δένδρο) προς όλους τους τερματικούς κόμβους έτσι ώστε το συνολικό άθροισμα των ακμών να είναι ελάχιστο. Ένα τέτοιο δένδρο θα μας επέτρεπε να στείλουμε την ταινία προς όλους με το ελάχιστο κόστος. Σήμερα θα μελετήσουμε τέτοια Ελάχιστα Γεννητορικά Δένδρα ΕΠΛ3 Δομές Δεδομένων και λγόριθμοι

3 Ελάχιστα Γεννητορικά Δένδρα (ΕΓΔ) Έστω ένας μη-κατευθυνόμενοςγράφος με βάρη, G(V,). Γεννητορικό δένδρο (spanningtree, ΓΔ)του Gονομάζουμε κάθε δένδρο Tπου περιέχει όλους τους κόμβους του Gκαι κάθε ακμή του οποίου είναι και ακμή του G. Σε ένα ΓΔ, όλες οι κορυφές καλύπτονται, γι αυτό το δένδρο ονομάζεται και δένδρο σκελετός (spanningtree: the tree spans all the vertices) Ένα γεννητορικό δένδρο γράφου με nκορυφές έχει n-ακμές. Βάρος ενός ΓΔείναι το άθροισμα των βαρών όλων των ακμών του Ελάχιστο ΓΔ (ΕΓΔ) είναι το ΓΔ με το μικρότερο βάρος. Ένας γράφος δυνατό να έχει περισσότερα από ένα ΕΓΔ. (Εάν ο γράφος δεν είχε βάρη τότε οποιονδήποτε δένδρο που ενώνει όλες τις ακμές = ΕΓΔ) Το πρόβλημα εύρεσης ενός ΓΔ μπορεί να εκφραστεί και για κατευθυνόμενους γράφους αλλά είναι κάπως δυσκολότερη η υλοποίηση ΕΠΛ3 Δομές Δεδομένων και λγόριθμοι 3

4 Παραδείγματα Γεννητορικών Δένδρων Γράφος G Γ -: Βάρος= Γ -: Βάρος= Κατ ακρίβεια αυτό το δένδρο είναι ένα Ελάχιστο ΓΔ (όπως θα δούμε στην συνέχεια) Υπάρχουν άλλα; ΕΠΛ3 Δομές Δεδομένων και λγόριθμοι 4

5 Ιδιότητες ΕΓΔ Υποθέτουμε στην συνέχεια ότι οι γράφοι που μελετάμε είναι συνεκτικοί(δηλαδή υπάρχει τουλάχιστο μια διαδρομή μεταξύ όλων των κορυφών). Δεν κάνει νόημα να βρούμε ένα ΕΓΔ ενός μη-συνεκτικού γράφου γιατί ο ορισμός του ΕΓΔ προϋποθέτει ότι το δένδρο καλύπτει όλες τις κορυφές. Η εύρεση ΕΓΔ είναι γνωστό και βαθιά μελετημένο πρόβλημα στην επεξεργασία γράφων. Έχει ποικίλες εφαρμογές. ΕΠΛ3 Δομές Δεδομένων και λγόριθμοι

6 Ο αλγόριθμός του Prim ρχικά το δένδρο περιέχει ακριβώς μία κορυφή, η οποία επιλέγεται τυχαία. Για να κτίσουμε το δένδρο, σε κάθε βήμα συνδέουμε ακόμα μια κορυφή στο παρόν δένδρο με την επιλογή και εισαγωγή μιας καινούριας ακμής (από τις ακμές του γράφου). Πως μπορούμε να επιλέξουμε την κατάλληλη ακμή; Στην περίπτωση αυτού του αλγόριθμου,αν Sείναι το σύνολο των κορυφών του παρόντος δένδρου, επιλέγουμε Την ακμή με το μικρότερο βάρος,. Την ακμή η οποία μπορεί να μεγαλώσει το δένδρο κατά ένα κόμβο. Την ακμή η οποία δεν θα δημιουργήσει κάποιο κύκλο Ο αλγόριθμος του Prim είναι ένας Άπληστος λγόριθμος (Greedy Algorithm).Σε κάθε βήμα κάνει την κίνηση που ικανοποιεί όλες τις συνθήκες και έχει το πιο λίγο κόστος. ΕΠΛ3 Δομές Δεδομένων και λγόριθμοι

7 Παράδειγμα Εκτέλεσης ΕΠΛ3 Δομές Δεδομένων και λγόριθμοι Γράφος G Ξεκινούµε διαλέγοντας τυχαία µια κορυφή 3

8 Παράδειγμα Εκτέλεσης(συν.) ΕΠΛ3 Δομές Δεδομένων και λγόριθμοι 8 Γράφος G 4

9 Υλοποίηση λγόριθμου Prim Για να υλοποιήσουμε τον αλγόριθμο Prim θα χρησιμοποιήσουμε παράλληλους πίνακες ) visited[n] : Κορυφές από τις οποίες περάσαμε. ) closest[n] : Η κοντινότερη κορυφή κάθε κόμβου στο δένδρο (μια δεδομένη στιγμή) ) distance[n]: Η απόσταση του κάθε επί μέρους κόμβου στο (Β) ρχικοποίηση visited: closest: distance: A Β ΕΠΛ3 Δομές Δεδομένων και λγόριθμοι

10 Υλοποίηση λγόριθμου Prim (συν.) Μέτα την εισαγωγή του στο Δένδρο visited: closest: distance: A Β A 0 A 0 0 Μέτα την εισαγωγή του Βστο Δένδρο visited: closest: distance: A Β A A Προσπαθούμε να μεγαλώσουμε το δένδρο με άπληστο τρόπο (διατηρώντας το συνδεδεμένο) ΕΠΛ3 Δομές Δεδομένων και λγόριθμοι 0

11 Υλοποίηση λγόριθμου Prim (συν.) Μέτα την εισαγωγή του στο Δένδρο visited: closest: distance: A Β A Δυο τρόποι να πάμε στο, διατηρούμε τον ένα. ΕΠΛ3 Δομές Δεδομένων και λγόριθμοι

12 Υλοποίηση λγόριθμου Prim (συν.) Μέτα την εισαγωγή του στο Δένδρο visited: closest: distance: A Β A ΕΠΛ3 Δομές Δεδομένων και λγόριθμοι

13 Η Υλοποίηση του λγόριθμου Prim Prim(graph G){ int visited[n]={}; // Κορυφές που προστέθηκαν στο δένδρο (ρχικά όλα 0 ) int closest[n]={}; // «Πιο Κοντινός Γείτονας» για κάθε i: ρχικά κανένας int distance[n]=, // πόσταση από «Κοντιν. Γείτονα» για κάθε i: ρχικά άπειρο Tree = {}; // Το ΕΓ που θέλουµε να κτίσουµε (περιέχει ακµές (α,β)) // επιλογή αρχικής κορυφής ιάλεξε τυχαία κορυφή v; visited[v] = ; // Τώρα το v ανήκει στο δένδρο για κάθε κορυφή v { // ενηµέρωση πινάκων distance & closest για κάθε w γείτονα του v { if (weight(v,w) < distance[w]) { distance[w] = weight(v,w); // απόσταση κοντινότερου closest[w] = v; // ταυτότητα κοντινότερου } } // εύρεση επόµενης κορυφής µε µικρότερη απόσταση) v = minvertex(visited, distance); visited[v]=; // επιλογή κόµβου Tree = Tree {(closest[v],v)}; //προσθήκη ακµής } } weight(a,b) : βάρος ακμής a-b ΕΠΛ3 Δομές Δεδομένων και λγόριθμοι 3

14 Η βοηθητική συνάρτηση minvertex H βοηθητική διαδικασία minvertexβρίσκει μεταξύ όλων των κορυφών που δεν προστέθηκαν στο MST (Minimum Spanning Tree) την πιο κοντινή κορυφή. Δηλαδή: vertex minvertex(int visited[], int distance[]){ min = ; for (i=0; i< V ; i++) { } if (visited[i] == ) continue; // skip nodes already in MST if (distance[i] < distance[min]) min = i; return min; // Return the minimum among all distances } visited: closest: distance: A Β A A ΕΠΛ3 Δομές Δεδομένων και λγόριθμοι 4

15 νάλυση Χρόνου Εκτέλεσης Η διαδικασία minvertexαπαιτεί χρόνο Ο( V ), όπου V είναι ο αριθμός των κορυφών του γράφου. Ο χρόνος εκτέλεσης του βρόχου της εντολής whileστον αλγόριθμο Prim είναι και αυτός Ο( V ). (Και για υλοποίηση με πίνακα γειτνίασης και για υλοποίηση με λίστα γειτνίασης.) Άρα ο ολικός χρόνος εκτέλεσης είναι Θ( V ²). Μπορούμε να βελτιώσουμε τον αλγόριθμο; Ναι με την χρήση σωρών Με την χρήση σωρών ο αλγόριθμος μπορεί να υλοποιηθεί σε Ο( Ε log ), όπου οι ακμές του γράφου. Ωστόσο δεν θα μελετήσουμε αυτή την υλοποίηση ΕΠΛ3 Δομές Δεδομένων και λγόριθμοι

16 Υλοποίηση με Σωρούς Θεωρούμε υλοποίηση γράφου με λίστα γειτνίασης. Οι πίνακες και Pμπορεί να αντικατασταθούν από ένα σωρό που περιέχει στοιχεία της μορφής (d, u, v), όπου dείναι το βάρος της ακμής (u,v). Κάθε φορά που προστίθεται μια καινούρια κορυφή στο δένδρο, προσθέτουμε στον σωρό πληροφορία για κάθε γειτονική της ακμή, η οποία συγκρατεί το βάρος της ακμής. Άρα ο σωρός θα κρατά περισσότερες από μια πληροφορία για κάθε κορυφή. Ο σωρός θα πρέπει να έχει μήκος. Η επιλογή καινούριας ακμής θα γίνεται με τη μέθοδο σωρών eletemin. φού όμως υπάρχουν περισσότερες από μια πληροφορίες για κάθε ακμή, και αφού η eleteminαφαιρεί μόνο την πληροφορία που αντιστοιχεί στην ακμή με το μικρότερο βάρος, θα πρέπει να είμαστε προσεκτικοί ούτως ώστε να μην προσθέτουμε ακμές μεταξύ κορυφών που ήδη γνωρίζουμε. ΕΠΛ3 Δομές Δεδομένων και λγόριθμοι

17 Η Υλοποίηση του λγόριθμου Prim Prim(graph G){ int visited[n]={}; // Κορυφές που προστέθηκαν στο δένδρο (ρχικά όλα 0 ) int closest[n]={}; // «Πιο Κοντινός Γείτονας» για κάθε i: ρχικά κανένας int distance[n]=, // πόσταση από «Κοντιν. Γείτονα» για κάθε i: ρχικά άπειρο Tree = {}; // Το ΕΓ που θέλουµε να κτίσουµε (περιέχει ακµές (α,β)) // επιλογή αρχικής κορυφής ιάλεξε τυχαία κορυφή v; visited[v] = ; // Τώρα το v ανήκει στο δένδρο για κάθε κορυφή v { // ενηµέρωση πινάκων distance & closest για κάθε w γείτονα του v { Insert((weight(w,v),w,v), H); (d,v,u) = eletemin(h); while (visited[v] == ) (d,v,u) = eletemin(h); visited[v]=; ν = αριθµός των ακµών του G, } } //προσθήκη ακµής Tree = Tree {(closest[v],v)}; weight(a,b) : βάρος ακμής a-b ο χρόνος εκτέλεσης των Ιnsertκαι eletemin είναι log. Oολικός χρόνος εκτέλεσης είναι Ο( Ε log )= Ο( Ε log V ). ΕΠΛ3 Δομές Δεδομένων και λγόριθμοι

18 Ορθότητα του λγόριθμου Είναι εύκολο να δούμε ότι ο αλγόριθμος επιστρέφει ένα ΓΔ. Είναι λιγότερο εύκολο να αποφασίσουμε κατά πόσο το δένδρο που επιστρέφεται είναι ΕΓΔ. πόδειξη με αντίφαση: Έστω ότι το δένδρο δεν είναι ΕΓΔ. Έστω ότι ο αλγόριθμος προσθέτει τις ακμές στο δένδρο με τη σειρά e, e,, e n. Διαλέγουμε την πρώτη ακμή στην ακολουθία, f =e j, για την οποία η ακολουθία e,, e j δεν είναι μέρος κανενός ΕΓΔ του γράφου. Έστω Sτο σύνολο των κορυφών που βρίσκονται στις j- πρώτες ακμές. Τότε η fείναι η ακμή με το μικρότερο βάρος από τις ακμές στη γέφυρα του S. Έστω ότι Τ είναιεγδ που περιέχει τις j- πρώτες ακμές. To Tπρέπει να περιέχει τουλάχιστον μια ακμή eαπό τη γέφυρα του S. ΕΠΛ3 Δομές Δεδομένων και λγόριθμοι 8

19 Ορθότητα του λγόριθμου Το Τ έχει τη μορφή: S e V-S Έστω Τ ο γράφος (δένδρο;) που λαμβάνεται από το Τ με αντικατάσταση της ακμής eμε την ακμή f: S V-S f Το Τ είναι ΓΔ και αφού το Τ είναι ΕΓΔ τότε και το Τ είναι ΕΓΔ. υτό δίνει αντίφαση στην υπόθεση μας ότι οι πρώτες jακμές δεν περιέχονται σε κανένα ΕΓΔ. Επομένως ο αλγόριθμος είναι ορθός. ΕΠΛ3 Δομές Δεδομένων και λγόριθμοι

20 Ο αλγόριθμος του Kruskal κόμα ένας άπληστος (greedy)αλγόριθμος που υπολογίζει το Ελάχιστο Γεννητορικό Δένδρο (ΕΓΔ). Ενώ ο αλγόριθμος του Primεπεξεργάζεται μια-μια τιςκορυφές, ο αλγόριθμος του Kruskalεπεξεργάζεται μια-μια τις ακμέςτου γράφου. Επίσης, ενώ σε κάθε βήμα του αλγόριθμου του Primοι επιλεγμένες ακμές σχηματίζουν ένα δένδρο, στην περίπτωση του αλγόριθμου Kruskal, σχηματίζουν ένα δάσος(ένα σύνολο από δένδρα). Κεντρική ιδέα. ρχικά τοδάσος Τ είναι άδειο. Επεξεργαζόμαστε μια-μια τις ακμές, σε αύξουσα σειρά βάρους. Aν η εισαγωγή της e στο Τ δεν προκαλεί κύκλο,τότε προσθέτουμε την eστο Τ, δηλαδή Τ := Τ {e}. ΕΠΛ03 Δομές Δεδομένων και λγόριθμοι για Ηλ. Μηχ. Και Μηχ. Υπολ. 0

21 Παράδειγμα Εκτέλεσης Ταξινομημένες κμές με το Βάρος ΕΠΛ03 Δομές Δεδομένων και λγόριθμοι για Ηλ. Μηχ. Και Μηχ. Υπολ. Γράφος G 3 4 8

22 Παράδειγμα Εκτέλεσης Γράφος G ρχική Κατάσταση Μετά από επιλογή της πρώτης ακμής (Β,Ε) Ταξινομημένες κμές ΕΠΛ03 Δομές Δεδομένων και λγόριθμοι για Ηλ. Μηχ. Και Μηχ. Υπολ.

23 Παράδειγμα Εκτέλεσης ΕΠΛ03 Δομές Δεδομένων και λγόριθμοι για Ηλ. Μηχ. Και Μηχ. Υπολ. 3 Γράφος G Ταξινομημένες κμές Μετά από επιλογή της πρώτης ακμής (,Ε)

24 Παράδειγμα Εκτέλεσης ΕΠΛ03 Δομές Δεδομένων και λγόριθμοι για Ηλ. Μηχ. Και Μηχ. Υπολ. 4 Γράφος G Ταξινομημένες κμές Μετά από επιλογή της τρίτης ακμής (Β,)

25 Παράδειγμα Εκτέλεσης ΕΠΛ03 Δομές Δεδομένων και λγόριθμοι για Ηλ. Μηχ. Και Μηχ. Υπολ. Γράφος G Ταξινομημένες κμές Μετά από επιλογή της τέταρτης ακμής (Β,)

26 Παράδειγμα Εκτέλεσης ΕΠΛ03 Δομές Δεδομένων και λγόριθμοι για Ηλ. Μηχ. Και Μηχ. Υπολ. Γράφος G Ταξινομημένες κμές Μετά από επιλογή της τέταρτης ακμής (Β,)

27 ποδοτική Εξάλειψη Κύκλων H ταξινόμηση των Άκμων είναι απλή, δηλαδή ταξινομούμε μια φορά όλες τις ακμές με κάποιο αλγόριθμο ταξινόμησης. Βασικό Πρόβλημα:Το πρόβλημα που απομένει είναι πως θα βρίσκουμε αποδοτικά εάν μια ακμή μπορεί να δημιουργήσει κύκλο Λύση Θα χρησιμοποιήσουμε ένα πίνακαti[n](treei)ο οποίος μας υποδεικνύει για κάθε κορυφή v σε πιο δένδρο ανήκειη v. Π.χ. εάνθέλω να προσθέσω μια ακμή (u,v)και u & v ανήκουν στο ίδιο δένδρο (TI[u]==ΤI[v]), τότε αυτή η ακμή θα δημιουργήσει κύκλο. Επομένως δε θα προσθέσω την (u,v) w u To (u,v) θα δημιουργήσει κύκλο γιατί και τα δυο ανήκουν στο ίδιο TI (i.e., ) To (u,w) δεν θα δημιουργήσει κύκλο γιατί οι δυο κόμβο ανήκουν σε διαφορετικά ΤΙ (i.e., και ) ΕΠΛ03 Δομές Δεδομένων και λγόριθμοι για Ηλ. Μηχ. Και Μηχ. Υπολ.

28 Υλοποίηση του λγορίθμου Kruskal Kruskal(graph G(V,)){ Tree = {}; // Το ΕΓ : Ένα σύνολο ακµών (αρχικά κενό) TI[ V ] = {} // Πίνακας που κρατά το TreeI του κάθε κόµβου ount = 0; // Μετρητής που κρατά από πόσες κορυφές πέρασα sortdges(); // Ταξινόµηση Άκµων σε χρόνο O(.log ) // ηµιουργούµε ένα δάσος από δένδρα µεγέθους for (i=0; i< V ; i++) // χρόνο Θ( V ) TI[i] = i; for (i=0; i< ; i++) { // χρόνο O( ) // ανάκτηση επόµενης (µικρότερης) ακµής (u,v) = nextdge(); // χρόνο Θ() If (TI[u]!= TI[v]) { // ν ανήκουν σε διαφορετικά δένδρα Tree = Tree {(u,v)}; // Προσθήκη κµής // Μετρούµε ποιος από τους u,v εµφανίζεται περισσότερο στο TI // και επιστρέφουµε τον µεγαλύτερο σαν TreeI x x = occurence(ti, u, v); // χρόνο O( V ) } } // νάθεση TreeI x σε όλους που έχουν TI[u] ή TI[v] count = merge(ti[u],ti[v],x); } if (count == V ) break; Συνολικός χρόνος: O(.log + V + * V ) ΕΠΛ03 Δομές Δεδομένων και λγόριθμοι για Ηλ. Μηχ. Και Μηχ. Υπολ. 8

29 Εκτέλεση της Υλοποίησης Kruskal Γράφος G. Nextedge => (,). TI[]!= TI[]?=> YS, ΕπομένωςTree = {} {(Β,Ε)}; 3. Merge(TI[],TI[],); 4. Nextedge => (,Ε). TI[]!= TI[]? => YS, Επομένως Tree={(Β,Ε)} {(,Ε)};. Merge(TI[],TI[],); Ταξινομημένες κμές { -=, -Ε=, Β-=, Ε-=, Β-=, -=, -Β=, -= } TI TI TI A 0 3 A 0 A ΕΠΛ03 Δομές Δεδομένων και λγόριθμοι για Ηλ. Μηχ. Και Μηχ. Υπολ.

30 Εκτέλεση της Υλοποίησης Kruskal Γράφος G. Nextedge => (,) 8. TI[]!= TI[]?=> YS,ΕπομένωςTree = {(Β,Ε),(,Ε)} {(Β,)};. Merge(TI[],TI[],); 0. Nextedge => (Ε,) Ταξινομημένες κμές { -=,-Ε=, Β-=, Ε-=, Β-=, -=, -Β=, -= }. TI[Ε]!= TI[]? => ΝΟ, Επομένως δεν χρησιμοποιούμε το (Ε,); TI TI TI 0 A 0 A 0 A ΕΠΛ03 Δομές Δεδομένων και λγόριθμοι για Ηλ. Μηχ. Και Μηχ. Υπολ. 30

31 Εκτέλεση της Υλοποίησης Kruskal Γράφος G. Nextedge => (,) 3.TI[]!=TI[]?=> YS,ΕπομένωςTree = {(Β,Ε),(,Ε), (Β,)} {(Β,)}; 4. Merge(TI[],TI[],);. Nextedge => (,) Ταξινομημένες κμές { -=, -Ε=, Β-=, Ε-=, Β-=, -=, -Β=, -= }. TI[Ε]!= TI[]? => ΝΟ, Επομένως δεν χρησιμοποιούμε το (,); TI TI TI 0 A 0 A 0 A ΕΠΛ03 Δομές Δεδομένων και λγόριθμοι για Ηλ. Μηχ. Και Μηχ. Υπολ. 3

32 Εκτέλεση της Υλοποίησης Kruskal Γράφος G. Nextedge => (,Β) 8. TI[]!= TI[Β]? => YS, ΕπομένωςTree = {(Β,Ε),(Δ,Ε), (Β,Ζ), (Β,Γ)} {(,Β)}; Ταξινομημένες κμές { -=, -Ε=, Β-=, Ε-=, Β-=, -=, -Β=, -= } TI 0 A TI A Εδώ βρήκαμε V vertices, επομένως διακόπτουμε την αναζήτηση. TO ΕΓΔ είναι το {(Β,Ε),(Δ,Ε), (Β,Ζ), (Β,Γ),(,Β)}; ΕΠΛ03 Δομές Δεδομένων και λγόριθμοι για Ηλ. Μηχ. Και Μηχ. Υπολ. 3

33 Παράδειγμα Εκτέλεσης Γράφος G ρχική Κατάσταση Ταξινομημένες κμές { A-=, -=, Β-=, Ε-=, Β-=, -=, -Β=, -= } 0. TI A TI. {A-} TI. {-} TI 3. {-} TI 4. {-}. {-} = τίποτα TI. {-}. break A A A 0 0 A A ΕΠΛ03 Δομές Δεδομένων και λγόριθμοι για Ηλ. Μηχ. Και Μηχ. Υπολ. 33

34 Μερικά Σχόλια Η ορθότητα του αλγόριθμου μπορεί να αποδειχθεί όπως και στην περίπτωση του αλγόριθμου του Prim. Toσύνολο των ακμών μπορεί να διατηρηθεί ως μία σωρός. Για να ελέγξουμε αν μια ακμή μπορεί να προστεθεί, διατηρούμε ένα partition Π όλων των κορυφών: Δυο κορυφές βρίσκονται στο ίδιο υποσύνολο του Π αν υπάρχει μονοπάτι μεταξύ τους. ρχικά κάθε υποσύνολο του Π περιέχει ακριβώς μια κορυφή. Στη συνέχεια, μια ακμή (u,v) μπορεί να προστεθεί αν οι κορυφές uκαι vβρίσκονται σε διαφορετικά υποσύνολα του Π. Με την προσθήκη μιας ακμής (u,v), υποσύνολα του Π που περιέχουν τις κορυφές uκαι v, ενώνονται. ΕΠΛ3 Δομές Δεδομένων και λγόριθμοι 34

35 ΕΓΔ: σκήσεις Εκτελέστε τον αλγόριθμο Prim G 4 H I visited: closest: distance: A Β G H I ΕΠΛ3 Δομές Δεδομένων και λγόριθμοι 3

36 ΕΓΔ: σκήσεις- Εκτελέστε τον αλγόριθμο Kruskal G Ταξινομημένες κμές 4 H I { -H=,-=, -G=, A-=3, -I=3, A-=4, A-=4, G-H=4, -=, -=, H-I=, -=0, -=} TI A 8 G H I ΕΠΛ3 Δομές Δεδομένων και λγόριθμοι 3

Διδάσκων: Παναγιώτης Ανδρέου

Διδάσκων: Παναγιώτης Ανδρέου Διάλεξη 3: Ελάχιστα Γεννητορικά Δέντρα Ο λγόριθμος Prim Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Ελάχιστα Γεννητορικά Δένδρα (ΕΓΔ) Minimum Spanning Trees -Ο αλγόριθμος του Primγια εύρεση

Διαβάστε περισσότερα

Διδάσκων: Παναγιώτης Ανδρέου

Διδάσκων: Παναγιώτης Ανδρέου Διάλεξη 3: Ελάχιστα Γεννητορικά Δέντρα Ο λγόριθμος Kruskal Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: -Ο αλγόριθμος του Kruskalγια εύρεση ΕΓΔ σε γράφους - Παράδειγμα Εκτέλεσης Διδάσκων:

Διαβάστε περισσότερα

Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ

Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ ιάλεξη : λάχιστα εννητορικά ένδρα Αλγόριθμος Prim Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: λάχιστα εννητορικά ένδρα () Minimum Spanning Trees Ο αλγόριθμος του Prim για εύρεση σε γράφους

Διαβάστε περισσότερα

Ελάχιστα Γεννητορικά ένδρα

Ελάχιστα Γεννητορικά ένδρα λάχιστα Γεννητορικά ένδρα Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: Ο αλγόριθµος του Prim και ο αλγόριθµος του Kruskal για εύρεση λάχιστων Γεννητορικών ένδρων ΠΛ 23 οµές εδοµένων και Αλγόριθµοι

Διαβάστε περισσότερα

Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ

Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ ιάλεξη : λάχιστα εννητορικά ένδρα Αλγόριθμος Kruskal Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Ο αλγόριθμος του Kruskal για εύρεση σε γράφους Παράδειγμα κτέλεσης ιδάσκων: Κωνσταντίνος Κώστα

Διαβάστε περισσότερα

Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ

Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ Διάλεξη 23: Βραχύτερα Μονοπάτια σε Γράφους Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Βραχύτερα Μονοπάτια σε γράφους Ο αλγόριθμος Dijkstra για εύρεση της βραχύτερης απόστασης Ο αλγόριθμος

Διαβάστε περισσότερα

Διδάσκων: Παναγιώτης Ανδρέου

Διδάσκων: Παναγιώτης Ανδρέου Διάλεξη 3: Βραχύτερα Μονοπάτια σε Γράφους Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Βραχύτερα Μονοπάτια σε γράφους -Ο αλγόριθμος ijkstraγια εύρεση της βραχύτερης απόστασης -Ο αλγόριθμος

Διαβάστε περισσότερα

Κατ οίκον Εργασία 5 Σκελετοί Λύσεων

Κατ οίκον Εργασία 5 Σκελετοί Λύσεων Κατ οίκον Εργασία 5 Σκελετοί Λύσεων Άσκηση 1 Χρησιμοποιούμε τις δομές: struct hashtable { struct node array[maxsize]; int maxsize; int size; struct node{ int data; int status; Στο πεδίο status σημειώνουμε

Διαβάστε περισσότερα

Διάλεξη 21: Γράφοι IV - Βραχύτερα Μονοπάτια σε Γράφους

Διάλεξη 21: Γράφοι IV - Βραχύτερα Μονοπάτια σε Γράφους Διάλεξη 2: Γράφοι IV - Βραχύτερα Μονοπάτια σε Γράφους Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Βραχύτερα Μονοπάτια σε γράφους - Ο αλγόριθμος Dijkstra για εύρεση της βραχύτερης απόστασης

Διαβάστε περισσότερα

Επίλυση Προβληµάτων µε Greedy Αλγόριθµους

Επίλυση Προβληµάτων µε Greedy Αλγόριθµους Επίλυση Προβληµάτων µε Greedy Αλγόριθµους Περίληψη Επίλυση προβληµάτων χρησιµοποιώντας Greedy Αλγόριθµους Ελάχιστα Δέντρα Επικάλυψης Αλγόριθµος του Prim Αλγόριθµος του Kruskal Πρόβληµα Ελάχιστης Απόστασης

Διαβάστε περισσότερα

Αλγόριθµοι και Πολυπλοκότητα

Αλγόριθµοι και Πολυπλοκότητα Αλγόριθµοι και Πολυπλοκότητα Ν. Μ. Μισυρλής Τµήµα Πληροφορικής και Τηλεπικοινωνιών, Πανεπιστήµιο Αθηνών Καθηγητής: Ν. Μ. Μισυρλής () Αλγόριθµοι και Πολυπλοκότητα 26 Ιουνίου 201 1 / Απληστοι (Greedy) Αλγόριθµοι

Διαβάστε περισσότερα

Αλγόριθµοι και Πολυπλοκότητα

Αλγόριθµοι και Πολυπλοκότητα Αλγόριθµοι και Πολυπλοκότητα Ν. Μ. Μισυρλής Τµήµα Πληροφορικής και Τηλεπικοινωνιών, Πανεπιστήµιο Αθηνών Καθηγητής: Ν. Μ. Μισυρλής () Αλγόριθµοι και Πολυπλοκότητα Μαΐου 201 1 / Απληστοι (Greedy) Αλγόριθµοι

Διαβάστε περισσότερα

Αλγόριθμοι Γραφημάτων

Αλγόριθμοι Γραφημάτων Αλγόριθμοι Γραφημάτων 1. Minimum Spanning Trees 2. Αλγόριθμος Prim 3. Αλγόριθμος Kruskal Εισαγωγή στην Ανάλυση Αλγορίθμων Μάγια Σατρατζέμη Minimum Spanning Tree Πρόβλημα: Για δοσμένο συνεκτικό, μη προσανατολισμένο,

Διαβάστε περισσότερα

Ελάχιστο Γεννητικό Δένδρο. Παράδειγμα - Αλγόριθμος Prim. Γιατί δουλεύουν αυτοί οι αλγόριθμοι;

Ελάχιστο Γεννητικό Δένδρο. Παράδειγμα - Αλγόριθμος Prim. Γιατί δουλεύουν αυτοί οι αλγόριθμοι; Άπληστοι Αλγόριθμοι ΙΙI Αλγόριθμοι γραφημάτων Ελάχιστο Γεννητικό Δένδρο Παράδειγμα Κατασκευή δικτύων Οδικά, επικοινωνίας Έχουμε ένα συνεκτικό γράφημα (V,E) και ένας βάρος we σε κάθε ακμή e. Να βρεθεί υποσύνολο

Διαβάστε περισσότερα

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ Ενότητα 11: Minimum Spanning Trees Αλγόριθμος Prim Αλγόριθμος Kruskal Μαρία Σατρατζέμη Τμήμα Εφαρμοσμένης Πληροφορικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται

Διαβάστε περισσότερα

Διάλεξη 29: Γράφοι. Διδάσκων: Παναγιώτης Ανδρέου

Διάλεξη 29: Γράφοι. Διδάσκων: Παναγιώτης Ανδρέου Διάλεξη 9: Γράφοι Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Γράφοι - ορισμοί και υλοποίηση - Διάσχιση Γράφων Διδάσκων: Παναγιώτης νδρέου ΕΠΛ035 Δομές Δεδομένων και λγόριθμοι για Ηλ. Μηχ.

Διαβάστε περισσότερα

Σχεδιαση Αλγοριθμων -Τμημα Πληροφορικης ΑΠΘ - Κεφαλαιο 9ο

Σχεδιαση Αλγοριθμων -Τμημα Πληροφορικης ΑΠΘ - Κεφαλαιο 9ο Σχεδίαση Αλγορίθμων Άπληστοι Αλγόριθμοι http://delab.csd.auth.gr/~gounaris/courses/ad 1 Άπληστοι αλγόριθμοι Προβλήματα βελτιστοποίησης ηςλύνονται με μια σειρά επιλογών που είναι: εφικτές τοπικά βέλτιστες

Διαβάστε περισσότερα

έντρα ιδάσκοντες:. Φωτάκης,. Σούλιου Επιμέλεια διαφανειών:. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο

έντρα ιδάσκοντες:. Φωτάκης,. Σούλιου Επιμέλεια διαφανειών:. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο έντρα ιδάσκοντες:. Φωτάκης,. Σούλιου Επιμέλεια διαφανειών:. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο έντρα έντρο: πρότυπο ιεραρχικής δομής. Αναπαράσταση

Διαβάστε περισσότερα

Άπληστοι Αλγόριθµοι (CLR, κεφάλαιο 17)

Άπληστοι Αλγόριθµοι (CLR, κεφάλαιο 17) Άπληστοι Αλγόριθµοι (CLR, κεφάλαιο 17) Στην ενότητα αυτή θα µελετηθούν τα εξής θέµατα: Σχεδιασµός αλγορίθµων µε Άπληστους Αλγόριθµους Στοιχεία άπληστων αλγορίθµων Το πρόβληµα επιλογής εργασιών ΕΠΛ 232

Διαβάστε περισσότερα

Διάλεξη 22: Δυαδικά Δέντρα. Διδάσκων: Παναγιώτης Ανδρέου

Διάλεξη 22: Δυαδικά Δέντρα. Διδάσκων: Παναγιώτης Ανδρέου Διάλεξη 22: Δυαδικά Δέντρα Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Δυαδικά Δένδρα - Δυαδικά Δένδρα Αναζήτησης - Πράξεις Εισαγωγής, Εύρεσης Στοιχείου, Διαγραφής Μικρότερου Στοιχείου

Διαβάστε περισσότερα

Δομές Δεδομένων και Αλγόριθμοι

Δομές Δεδομένων και Αλγόριθμοι Δομές Δεδομένων και Αλγόριθμοι Χρήστος Γκόγκος ΤΕΙ Ηπείρου Χειμερινό Εξάμηνο 2014-2015 Παρουσίαση 18 Dijkstra s Shortest Path Algorithm 1 / 12 Ο αλγόριθμος εύρεσης της συντομότερης διαδρομής του Dijkstra

Διαβάστε περισσότερα

ιδάσκοντες: Φ. Αφράτη,. Φωτάκης,. Σούλιου Επιμέλεια διαφανειών:. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών

ιδάσκοντες: Φ. Αφράτη,. Φωτάκης,. Σούλιου Επιμέλεια διαφανειών:. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών έντρα ιδάσκοντες: Φ. Αφράτη,. Φωτάκης,. Σούλιου Επιμέλεια διαφανειών:. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο έντρα έντρο: πρότυπο ιεραρχικής δομής.

Διαβάστε περισσότερα

Λυσεις προβλημάτων τελικής φάσης Παγκύπριου Μαθητικού Διαγωνισμού Πληροφορικής 2007

Λυσεις προβλημάτων τελικής φάσης Παγκύπριου Μαθητικού Διαγωνισμού Πληροφορικής 2007 Λυσεις προβλημάτων τελικής φάσης Παγκύπριου Μαθητικού Διαγωνισμού Πληροφορικής 2007 Πρόβλημα 1 Το πρώτο πρόβλημα λύνεται με τη μέθοδο του Δυναμικού Προγραμματισμού. Για να το λύσουμε με Δυναμικό Προγραμματισμό

Διαβάστε περισσότερα

Αλγόριθμοι εύρεσης ελάχιστων γεννητικών δέντρων (MST)

Αλγόριθμοι εύρεσης ελάχιστων γεννητικών δέντρων (MST) Αλγόριθμοι εύρεσης ελάχιστων γεννητικών δέντρων (MST) Γεννητικό δέντρο (Spanning Tree) Ένα γεννητικό δέντρο για ένα γράφημα G είναι ένα υπογράφημα του G που είναι δέντρο (δηλ., είναι συνεκτικό και δεν

Διαβάστε περισσότερα

Διάλεξη 26: Σωροί. Διδάσκων: Παναγιώτης Ανδρέου

Διάλεξη 26: Σωροί. Διδάσκων: Παναγιώτης Ανδρέου Διάλεξη 26: Σωροί Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Ουρές Προτεραιότητας -Ο ΑΤΔ Σωρός, Υλοποίηση και πράξεις Διδάσκων: Παναγιώτης Ανδρέου ΕΠΛ035 Δομές Δεδομένων και Αλγόριθμοι

Διαβάστε περισσότερα

Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ

Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ Διάλεξη 20: Τοπολογική Ταξινόμηση Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Ολοκλήρωση Αλγορίθμων Διάσχισης Γράφων (Από Διάλεξη 19) Τοπολογική Ταξινόμηση Εφαρμογές, Παραδείγματα, Αλγόριθμοι

Διαβάστε περισσότερα

Διδάσκων: Κωνσταντίνος Κώστα

Διδάσκων: Κωνσταντίνος Κώστα Διάλεξη Ε4: Επανάληψη Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Εισαγωγή σε δενδρικές δομές δεδομένων, Δυαδικά Δένδρα Αναζήτησης Ισοζυγισμένα Δένδρα & 2-3 Δένδρα Διδάσκων: Κωνσταντίνος

Διαβάστε περισσότερα

Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ

Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ Διάλεξη 9: Εισαγωγή στους Γράφους Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Γράφοι - ορισμοί και υλοποίηση Διάσχιση Γράφων Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ

Διαβάστε περισσότερα

Κατ οίκον Εργασία 5 Σκελετοί Λύσεων

Κατ οίκον Εργασία 5 Σκελετοί Λύσεων Κατ οίκον Εργασία 5 Σκελετοί Λύσεων Άσκηση 1 (α) Ο αλγόριθµος χρησιµοποιεί τη διαδικασία DFS(v) η οποία, ως γνωστό, επισκέπτεται όλους τους κόµβους που είναι συνδεδεµένοι µε τον κόµβο v. Για να µετρήσουµε

Διαβάστε περισσότερα

Αλγόριθμοι και Πολυπλοκότητα

Αλγόριθμοι και Πολυπλοκότητα Αλγόριθμοι και Πολυπλοκότητα Άπληστοι Αλγόριθμοι Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Άπληστοι Αλγόριθμοι Είναι δύσκολο να ορίσουμε ακριβώς την έννοια του άπληστου

Διαβάστε περισσότερα

Διάλεξη 17: O Αλγόριθμος Ταξινόμησης HeapSort

Διάλεξη 17: O Αλγόριθμος Ταξινόμησης HeapSort Διάλεξη 17: O Αλγόριθμος Ταξινόμησης HeapSort Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Η διαδικασία PercolateDown, Δημιουργία Σωρού O Αλγόριθμος Ταξινόμησης HeapSort Υλοποίηση, Παραδείγματα

Διαβάστε περισσότερα

Μέγιστη ροή. Κατευθυνόμενο γράφημα. Συνάρτηση χωρητικότητας. αφετηρίακός κόμβος. τερματικός κόμβος. Ροή δικτύου. με τις ακόλουθες ιδιότητες

Μέγιστη ροή. Κατευθυνόμενο γράφημα. Συνάρτηση χωρητικότητας. αφετηρίακός κόμβος. τερματικός κόμβος. Ροή δικτύου. με τις ακόλουθες ιδιότητες Κατευθυνόμενο γράφημα Συνάρτηση χωρητικότητας 12 16 2 Ροή δικτύου Συνάρτηση αφετηρίακός κόμβος 13 1 με τις ακόλουθες ιδιότητες 4 14 9 7 4 τερματικός κόμβος Περιορισμός χωρητικότητας: Αντισυμμετρία: Διατήρηση

Διαβάστε περισσότερα

Διάλεξη 21: Γράφοι II - Τοπολογική Ταξινόμηση

Διάλεξη 21: Γράφοι II - Τοπολογική Ταξινόμηση ΕΠΛ231 Δομές Δεδομένων και Αλγόριθμοι 1 Διάλεξη 21: Γράφοι II - Τοπολογική Ταξινόμηση Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Τοπολογική Ταξινόμηση - Εφαρμογές, Παραδείγματα, Αλγόριθμοι

Διαβάστε περισσότερα

Εισαγωγή στους Αλγορίθμους Φροντιστήριο 8

Εισαγωγή στους Αλγορίθμους Φροντιστήριο 8 Εισαγωγή στους Αλγορίθμους Φροντιστήριο 8 Διδάσκων Χρήστος Ζαρολιάγκης Καθηγητής Τμήμα Μηχανικών Η/Υ & Πληροφορικής Πανεπιστήμιο Πατρών Email: zaro@ceid.upatras.gr Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό

Διαβάστε περισσότερα

Αλγόριθµοι και Πολυπλοκότητα

Αλγόριθµοι και Πολυπλοκότητα Αλγόριθµοι και Πολυπλοκότητα Ενότητα 3 Αλγόριθµοι Γραφηµάτων Prim-Kruskal Ν. Μ. Μισυρλής Τµήµα Πληροφορικής και Τηλεπικοινωνιών, Καθηγητής: Ν. Μ. Μισυρλής Αλγόριθµοι και Πολυπλοκότητα - Ενότητα 3 Prim-Kruskal

Διαβάστε περισσότερα

ηδάζθωλ: εµήηξεο Εεϊλαιηπνύξ

ηδάζθωλ: εµήηξεο Εεϊλαιηπνύξ ηάιεμε : ιάρηζηα ελλεηνξηθά έλδξα Αιγόξηζκνο Prim Σηελ ελόηεηα απηή ζα κειεηεζνύλ ηα εμήο επηκέξνπο ζέκαηα: λάτιζηα εννηηορικά ένδρα () Minimum Spanning Trees Ο αλγόριθμος ηοσ Prim για εύρεζη ζε γράθοσς

Διαβάστε περισσότερα

Κινητός και ιάχυτος Υπολογισµός (Mobile & Pervasive Computing) Ιστοσελίδα του µαθήµατος. Περιεχόµενα. ηµήτριος Κατσαρός, Ph.D.

Κινητός και ιάχυτος Υπολογισµός (Mobile & Pervasive Computing) Ιστοσελίδα του µαθήµατος. Περιεχόµενα. ηµήτριος Κατσαρός, Ph.D. 1 Κινητός και ιάχυτος Υπολογισµός (Mobile & Pervasive Computing) ηµήτριος Κατσαρός, Ph.D. Χειµώνας 2006 ιάλεξη 5η Ιστοσελίδα του µαθήµατος 2 http://skyblue.csd.auth.gr/~dimitris/courses/mpc_fall06.htm

Διαβάστε περισσότερα

Κατανεμημένα Συστήματα Ι

Κατανεμημένα Συστήματα Ι Κατανεμημένα Συστήματα Ι Παναγιώτα Παναγοπούλου Χριστίνα Σπυροπούλου 8η Διάλεξη 8 Δεκεμβρίου 2016 1 Ασύγχρονη κατασκευή BFS δέντρου Στα σύγχρονα συστήματα ο αλγόριθμος της πλημμύρας είναι ένας απλός αλλά

Διαβάστε περισσότερα

ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΦΡΟΝΤΙΣΤΗΡΙΟ ΑΛΓΟΡΙΘΜΩΝ ΒΟΗΘΟΣ: ΒΑΓΓΕΛΗΣ ΔΟΥΡΟΣ

ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΦΡΟΝΤΙΣΤΗΡΙΟ ΑΛΓΟΡΙΘΜΩΝ ΒΟΗΘΟΣ: ΒΑΓΓΕΛΗΣ ΔΟΥΡΟΣ ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΦΡΟΝΤΙΣΤΗΡΙΟ ΑΛΓΟΡΙΘΜΩΝ ΒΟΗΘΟΣ: ΒΑΓΓΕΛΗΣ ΔΟΥΡΟΣ Φροντιστήριο #: Εύρεση Ελαχίστων Μονοπατιών σε Γραφήματα που Περιλαμβάνουν και Αρνητικά Βάρη: Αλγόριθμος

Διαβάστε περισσότερα

Διδάσκων: Παναγιώτης Ανδρέου

Διδάσκων: Παναγιώτης Ανδρέου Διάλεξη 19: ΓράφοιII -ΤοπολογικήΤαξινόμηση Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Τοπολογική Ταξινόμηση - Εφαρμογές, Παραδείγματα, Αλγόριθμοι Διδάσκων: Παναγιώτης Ανδρέου ΕΠΛ231 Δομές

Διαβάστε περισσότερα

Εισαγωγή στους Αλγορίθμους Ενότητα 9η

Εισαγωγή στους Αλγορίθμους Ενότητα 9η Εισαγωγή στους Αλγορίθμους Ενότητα 9η Διδάσκων Χρήστος Ζαρολιάγκης Καθηγητής Τμήμα Μηχανικών Η/Υ & Πληροφορικής Πανεπιστήμιο Πατρών Email: zaro@ceid.upatras.gr Ελάχιστα Γεννητικά Δένδρα Ελάχιστο Γεννητικό

Διαβάστε περισσότερα

Εισαγωγή στην Επιστήμη των Υπολογιστών

Εισαγωγή στην Επιστήμη των Υπολογιστών Εισαγωγή στην Επιστήμη των Υπολογιστών 4 ο εξάμηνο ΣΗΜΜΥ 4 η ενότητα: Γράφοι: προβλήματα και αλγόριθμοι Επιμέλεια διαφανειών: Στάθης Ζάχος, Άρης Παγουρτζής, Δημήτρης Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών

Διαβάστε περισσότερα

ΑΣΚΗΣΗ 1 Για τις ερωτήσεις 1-4 θεωρήσατε τον ακόλουθο γράφο. Ποιές από τις παρακάτω προτάσεις αληθεύουν και ποιές όχι;

ΑΣΚΗΣΗ 1 Για τις ερωτήσεις 1-4 θεωρήσατε τον ακόλουθο γράφο. Ποιές από τις παρακάτω προτάσεις αληθεύουν και ποιές όχι; ΘΕΜΑΤΑ ΔΕΝΔΡΩΝ ΓΙΑ ΤΙΣ ΕΞΕΤΑΣΕΙΣ ΠΛΗ0 ΑΣΚΗΣΗ Για τις ερωτήσεις - θεωρήσατε τον ακόλουθο γράφο. Ποιές από τις παρακάτω προτάσεις αληθεύουν και ποιές όχι; Β Ε Α 6 Δ 5 9 8 0 Γ 7 Ζ Η. Σ/Λ Δυο από τα συνδετικά

Διαβάστε περισσότερα

Εισαγωγή στην Επιστήμη των Υπολογιστών

Εισαγωγή στην Επιστήμη των Υπολογιστών Εισαγωγή στην Επιστήμη των Υπολογιστών 4 ο εξάμηνο ΣΗΜΜΥ 5 η ενότητα: Γράφοι: προβλήματα και αλγόριθμοι Επιμέλεια διαφανειών: Στάθης Ζάχος, Άρης Παγουρτζής, Δημήτρης Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών

Διαβάστε περισσότερα

Πληροφοριακά Συστήματα Διοίκησης (ΜΒΑ) Ενότητα 1: Δικτυωτή Ανάλυση (Θεωρία Γράφων)

Πληροφοριακά Συστήματα Διοίκησης (ΜΒΑ) Ενότητα 1: Δικτυωτή Ανάλυση (Θεωρία Γράφων) Πληροφοριακά Συστήματα Διοίκησης (ΜΒΑ) Ενότητα 1: Δικτυωτή Ανάλυση (Θεωρία Γράφων) Μπεληγιάννης Γρηγόριος Σχολή Οργάνωσης και Διοίκησης Επιχειρήσεων Τμήμα Διοίκησης Επιχειρήσεων Αγροτικών Προϊόντων & Τροφίμων

Διαβάστε περισσότερα

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. ΑΣΚΗΣΗ 4 Σωροί, Γράφοι

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. ΑΣΚΗΣΗ 4 Σωροί, Γράφοι ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ 231: Δομές Δεδομένων και Αλγόριθμοι Εαρινό Εξάμηνο 2013 ΑΣΚΗΣΗ 4 Σωροί, Γράφοι Διδάσκων Καθηγητής: Παναγιώτης Ανδρέου Ημερομηνία Υποβολής: 05/04/2013 Ημερομηνία

Διαβάστε περισσότερα

Κατ οίκον Εργασία 4 Σκελετοί Λύσεων

Κατ οίκον Εργασία 4 Σκελετοί Λύσεων Κατ οίκον Εργασία Σκελετοί Λύσεων Άσκηση Αναδρομική διαδικασία Η αναδρομική διαδικασία RecIsheap παίρνει ως παραμέτρους τον πίνακα, το μέγεθός του καθώς και το στοιχείο το οποίο θα τύχει επεξεργασίας.

Διαβάστε περισσότερα

Στοιχεία Θεωρίας Γράφων (Graph Theory)

Στοιχεία Θεωρίας Γράφων (Graph Theory) Στοιχεία Θεωρίας Γράφων (Graph Theory) Ε Εξάμηνο, Τμήμα Πληροφορικής & Τεχνολογίας Υπολογιστών ΤΕΙ Λαμίας plam@inf.teilam.gr, Οι διαφάνειες βασίζονται στα βιβλία:. Αλγόριθμοι, Σχεδιασμός & Ανάλυση, η έκδοση,

Διαβάστε περισσότερα

Βραχύτερα Μονοπάτια σε Γράφους (CLR, κεφάλαιο 25)

Βραχύτερα Μονοπάτια σε Γράφους (CLR, κεφάλαιο 25) Βραχύτερα Μονοπάτια σε Γράφους (CLR, κεφάλαιο 25) Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: Ο αλγόριθµος των BellmanFord Ο αλγόριθµος του Dijkstra ΕΠΛ 232 Αλγόριθµοι και Πολυπλοκότητα 61

Διαβάστε περισσότερα

Διδάσκων: Παναγιώτης Ανδρέου

Διδάσκων: Παναγιώτης Ανδρέου Διάλεξη 6: ΠαραδείγματαΑνάλυσης Πολυπλοκότητας/Ανάλυση Αναδρομικών Αλγόριθμων Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: -Παραδείγματα Ανάλυσης Πολυπλοκότητας : Μέθοδοι, παραδείγματα -Γραμμική

Διαβάστε περισσότερα

Αλγόριθμοι και Πολυπλοκότητα

Αλγόριθμοι και Πολυπλοκότητα 7ο εξάμηνο Σ.Η.Μ.Μ.Υ. & Σ.Ε.Μ.Φ.Ε. http://www.corelab.ece.ntua.gr/courses/ 4η εβδομάδα: Εύρεση k-οστού Μικρότερου Στοιχείου, Master Theorem, Τεχνική Greedy: Knapsack, Minimum Spanning Tree, Shortest Paths

Διαβάστε περισσότερα

Θεωρία Γράφων Αλγόριθμοι BFS, Prim, Dijkstra, Bellman-Ford

Θεωρία Γράφων Αλγόριθμοι BFS, Prim, Dijkstra, Bellman-Ford Θεωρία ράφων λγόριθμοι BFS, Prim, Dijkstra, Bellman-Ford Θεωρία γράφων Υπογράφοι και spanning trees Ένας γράφος G =(V,E ) είναι υπογράφος (subgraph) ενός γράφου G=(V,E) αν V ' V και E' E Ένας υπογράφος

Διαβάστε περισσότερα

Διάλεξη 16: Σωροί. Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Ουρές Προτεραιότητας - Ο ΑΤΔ Σωρός, Υλοποίηση και πράξεις

Διάλεξη 16: Σωροί. Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Ουρές Προτεραιότητας - Ο ΑΤΔ Σωρός, Υλοποίηση και πράξεις ΕΠΛ231 Δομές Δεδομένων και Αλγόριθμοι 1 Διάλεξη 16: Σωροί Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Ουρές Προτεραιότητας - Ο ΑΤΔ Σωρός, Υλοποίηση και πράξεις Ουρά Προτεραιότητας Η δομή

Διαβάστε περισσότερα

Διδάσκων: Παναγιώτης Ανδρέου

Διδάσκων: Παναγιώτης Ανδρέου Διάλεξη 28: O Αλγόριθμος Ταξινόμησης HeapSort Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Η διαδικασία PercolateDown, Δημιουργία Σωρού - O Αλγόριθμος Ταξινόμησης HeapSort - Υλοποίηση, Παραδείγματα

Διαβάστε περισσότερα

ΑΛΓΟΡΙΘΜΟΙ. Ενότητα 9: Άπληστοι Αλγόριθμοι. Ιωάννης Μανωλόπουλος, Καθηγητής Αναστάσιος Γούναρης, Επίκουρος Καθηγητής Τμήμα Πληροφορικής ΑΠΘ

ΑΛΓΟΡΙΘΜΟΙ. Ενότητα 9: Άπληστοι Αλγόριθμοι. Ιωάννης Μανωλόπουλος, Καθηγητής Αναστάσιος Γούναρης, Επίκουρος Καθηγητής Τμήμα Πληροφορικής ΑΠΘ ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ ΑΛΓΟΡΙΘΜΟΙ Ενότητα 9: Άπληστοι Ιωάννης Μανωλόπουλος, Καθηγητής Αναστάσιος Γούναρης, Επίκουρος Καθηγητής Άδειες Χρήσης Το παρόν εκπαιδευτικό

Διαβάστε περισσότερα

Γράφοι: κατευθυνόμενοι και μη

Γράφοι: κατευθυνόμενοι και μη Γράφοι: κατευθυνόμενοι και μη (V,E ) (V,E ) Γράφος (ή γράφημα): ζεύγος (V,E), V ένα μη κενό σύνολο, Ε διμελής σχέση πάνω στο V Μη κατευθυνόμενος γράφος: σχέση Ε συμμετρική V: κορυφές (vertices), κόμβοι

Διαβάστε περισσότερα

ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΦΡΟΝΤΙΣΤΗΡΙΟ ΑΛΓΟΡΙΘΜΩΝ ΒΟΗΘΟΣ: ΒΑΓΓΕΛΗΣ ΔΟΥΡΟΣ

ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΦΡΟΝΤΙΣΤΗΡΙΟ ΑΛΓΟΡΙΘΜΩΝ ΒΟΗΘΟΣ: ΒΑΓΓΕΛΗΣ ΔΟΥΡΟΣ ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΦΡΟΝΤΙΣΤΗΡΙΟ ΑΛΓΟΡΙΘΜΩΝ ΒΟΗΘΟΣ: ΒΑΓΓΕΛΗΣ ΔΟΥΡΟΣ Φροντιστήριο #7: Ελάχιστα Επικαλυπτικά Δένδρα, Αλγόριθμος Kruskal, Δομές Union-Find Άσκηση # 0 5 0 0 0

Διαβάστε περισσότερα

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. Δομές Δεδομένων. Ιωάννης Γ. Τόλλης Τμήμα Επιστήμης Υπολογιστών Πανεπιστήμιο Κρήτης

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. Δομές Δεδομένων. Ιωάννης Γ. Τόλλης Τμήμα Επιστήμης Υπολογιστών Πανεπιστήμιο Κρήτης ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Δομές Δεδομένων Ιωάννης Γ. Τόλλης Τμήμα Επιστήμης Υπολογιστών Πανεπιστήμιο Κρήτης Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού

Διαβάστε περισσότερα

Εισαγωγή στους Αλγορίθμους Φροντιστήριο 5

Εισαγωγή στους Αλγορίθμους Φροντιστήριο 5 Εισαγωγή στους Αλγορίθμους Φροντιστήριο 5 Διδάσκων Χρήστος Ζαρολιάγκης Καθηγητής Τμήμα Μηχανικών Η/Υ & Πληροφορικής Πανεπιστήμιο Πατρών Email: zaro@ceid.upatras.gr Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό

Διαβάστε περισσότερα

ΕΠΛ 232: Αλγόριθµοι και Πολυπλοκότητα. Κατ οίκον Εργασία 2A Σκελετοί Λύσεων

ΕΠΛ 232: Αλγόριθµοι και Πολυπλοκότητα. Κατ οίκον Εργασία 2A Σκελετοί Λύσεων ΕΠΛ 232: λγόριθµοι και Πολυπλοκότητα Κατ οίκον Εργασία 2A Σκελετοί Λύσεων 1. ια τη σαφή διατύπωση του αλγόριθµου απαιτούνται τα εξής: ιατήρηση της ροής που κτίζεται από τον αλγόριθµο. ιατήρηση της περίσσειας

Διαβάστε περισσότερα

Κατ οίκον Εργασία 1 Σκελετοί Λύσεων

Κατ οίκον Εργασία 1 Σκελετοί Λύσεων ΕΠΛ Δομές Δεδομένων και Αλγόριθμοι Σεπτέμβριος 008 Κατ οίκον Εργασία Σκελετοί Λύσεων Άσκηση Παρατηρούμε ότι ο χρόνος εκτέλεσης μέσης περίπτωσης της κάθε εντολής if ξεχωριστά: if (c mod 0) for (k ; k

Διαβάστε περισσότερα

Θεωρία Γραφημάτων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές

Θεωρία Γραφημάτων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές Θεωρία Γραφημάτων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές Ενότητα ΔΕΝΔΡΑ Σταύρος Δ. Νικολόπουλος 2017-18 www.cs.uoi.gr/~stavros Εισαγωγή Ένα γράφημα G είναι δένδρο αν: 1. Είναι συνδεδεμένο και δεν έχει κύκλους.

Διαβάστε περισσότερα

Ενότητα 5: Αλγόριθμοι γράφων και δικτύων

Ενότητα 5: Αλγόριθμοι γράφων και δικτύων Εισαγωγή στην Επιστήμη των Υπολογιστών ο εξάμηνο ΣΗΜΜΥ Ενότητα : Αλγόριθμοι γράφων και δικτύων Επιμέλεια διαφανειών: Στάθης Ζάχος, Άρης Παγουρτζής, Δημήτρης Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών

Διαβάστε περισσότερα

Ελάχιστο Συνδετικό Δέντρο

Ελάχιστο Συνδετικό Δέντρο Ελάχιστο Συνδετικό Δέντρο Διδάσκοντες: Σ. Ζάχος, Δ. Φωτάκης Επιμέλεια διαφανειών: Δ. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Ελάχιστο Συνδετικό Δέντρο

Διαβάστε περισσότερα

3η Σειρά Γραπτών Ασκήσεων

3η Σειρά Γραπτών Ασκήσεων 1/48 3η Σειρά Γραπτών Ασκήσεων Αλγόριθμοι και Πολυπλοκότητα ΣΗΜΜΥ, Εθνικό Μετσόβιο Πολυτεχνείο 2/48 1 Άσκηση 1: Πομποί και Δέκτες 2 Άσκηση 2: Διακοπές στην Ικαρία 3 Άσκηση 3: Επιστροφή στη Γη 4 Άσκηση

Διαβάστε περισσότερα

Ελάχιστο Συνδετικό Δέντρο

Ελάχιστο Συνδετικό Δέντρο Ελάχιστο Συνδετικό Δέντρο Δημήτρης Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Ελάχιστο Συνδετικό Δέντρο (MST) Συνεκτικό μη-κατευθ. G(V, E, w) με βάρη Βάρος

Διαβάστε περισσότερα

Διάλεξη 11: Φροντιστήριο για Στοίβες. Διδάσκων: Παναγιώτης Ανδρέου. ΕΠΛ035 Δομές Δεδομένων και Αλγόριθμοι για Ηλ. Μηχ. Και Μηχ. Υπολ.

Διάλεξη 11: Φροντιστήριο για Στοίβες. Διδάσκων: Παναγιώτης Ανδρέου. ΕΠΛ035 Δομές Δεδομένων και Αλγόριθμοι για Ηλ. Μηχ. Και Μηχ. Υπολ. Διάλεξη 11: Φροντιστήριο για Στοίβες Διδάσκων: Παναγιώτης Ανδρέου ΕΠΛ035 Δομές Δεδομένων και Αλγόριθμοι για Ηλ. Μηχ. Και Μηχ. Υπολ. 1 ΑΤΔ Στοίβα- Πράξεις Θυμηθείτε τον ΑΤΔ στοίβα με τις πράξεις του: MakeEmptyStack()

Διαβάστε περισσότερα

Εργαστήριο 2: Πίνακες

Εργαστήριο 2: Πίνακες Εργαστήριο 2: Πίνακες Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Επεξεργασία Πινάκων - Υλοποίηση της Δυαδικής Αναζήτησης σε πίνακες - Υλοποίηση της Ταξινόμησης με Επιλογής σε πίνακες ΕΠΛ035

Διαβάστε περισσότερα

Ελάχιστο Συνδετικό έντρο

Ελάχιστο Συνδετικό έντρο Ελάχιστο Συνδετικό έντρο ημήτρης Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Ελάχιστο Συνδετικό έντρο (MST) Συνεκτικό μη-κατευθ. G(V, E, w) με βάρη Βάρος

Διαβάστε περισσότερα

Ελάχιστο Συνδετικό Δέντρο

Ελάχιστο Συνδετικό Δέντρο Ελάχιστο Συνδετικό Δέντρο Διδάσκοντες: Σ. Ζάχος, Δ. Φωτάκης Επιμέλεια διαφανειών: Δ. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Ελάχιστο Συνδετικό Δέντρο

Διαβάστε περισσότερα

Αλγόριθμοι και πολυπλοκότητα Περιήγηση Πανεπιστημίων

Αλγόριθμοι και πολυπλοκότητα Περιήγηση Πανεπιστημίων ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Αλγόριθμοι και πολυπλοκότητα Περιήγηση Πανεπιστημίων Ιωάννης Τόλλης Τμήμα Επιστήμης Υπολογιστών Περιήγηση Πανεπιστημίων 5/8/008 :46 AM Campus Tour Περίληψη και ανάγνωση

Διαβάστε περισσότερα

Διδάσκων: Παναγιώτης Ανδρέου

Διδάσκων: Παναγιώτης Ανδρέου Διάλεξη 23: Ισοζυγισμένα Δέντρα, AVL Δέντρα Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Ισοζυγισμένα Δέντρα - Υλοποίηση AVL-δέντρων - Εισαγωγή Κόμβων και Περιστροφές σε AVL δέντρα Διδάσκων:

Διαβάστε περισσότερα

Διδάσκων: Παναγιώτης Ανδρέου

Διδάσκων: Παναγιώτης Ανδρέου Διάλεξη 20: Αλγόριθμοι ΤαξινόμησηςIII Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Οι αλγόριθμοι ταξινόμησης: Ε. QuickSort Γρήγορη Ταξινόμηση - Έμμεση Ταξινόμηση - Εξωτερική Ταξινόμηση Διδάσκων:

Διαβάστε περισσότερα

Διάλεξη 04: Παραδείγματα Ανάλυσης

Διάλεξη 04: Παραδείγματα Ανάλυσης Διάλεξη 04: Παραδείγματα Ανάλυσης Πολυπλοκότητας/Ανάλυση Αναδρομικών Αλγόριθμων Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Παραδείγματα Ανάλυσης Πολυπλοκότητας : Μέθοδοι, παραδείγματα

Διαβάστε περισσότερα

Γράφοι (συνέχεια) Ο αλγόριθµος Dijkstra για εύρεση βραχυτέρων µονοπατιών Ta µονοπάτια Euler

Γράφοι (συνέχεια) Ο αλγόριθµος Dijkstra για εύρεση βραχυτέρων µονοπατιών Ta µονοπάτια Euler Γράφοι (συνέχεια) Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: Ο αλγόριθµος Dijkstra για εύρεση βραχυτέρων µονοπατιών Ta µονοπάτια Euler ΕΠΛ 231 οµές εδοµένων και Αλγόριθµοι Άννα Φιλίππου,

Διαβάστε περισσότερα

Ενότητα 9 Ξένα Σύνολα που υποστηρίζουν τη λειτουργία της Ένωσης (Union-Find)

Ενότητα 9 Ξένα Σύνολα που υποστηρίζουν τη λειτουργία της Ένωσης (Union-Find) Ενότητα 9 Ξένα Σύνολα που υποστηρίζουν τη (Union-Find) ΗΥ240 - Παναγιώτα Φατούρου 1 Ξένα Σύνολα που υποστηρίζουν τη λειτουργία της Ένωσης Έστω ότι S 1,, S k είναι ξένα υποσύνολα ενός συνόλου U, δηλαδή

Διαβάστε περισσότερα

Θεωρία και Αλγόριθμοι Γράφων

Θεωρία και Αλγόριθμοι Γράφων ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Ενότητα # 7: Ελάχιστα Ζευγνύοντα Δένδρα Ιωάννης Μανωλόπουλος Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης reative

Διαβάστε περισσότερα

Διδάσκων: Παναγιώτης Ανδρέου

Διδάσκων: Παναγιώτης Ανδρέου Διάλεξη 12: Δέντρα ΙΙ -Δυαδικά Δέντρα Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Δυαδικά Δένδρα - Δυαδικά Δένδρα Αναζήτησης(ΔΔΑ) - Εύρεση Τυχαίου, Μέγιστου, Μικρότερου στοιχείου - Εισαγωγή

Διαβάστε περισσότερα

ΠΛΗ111. Ανοιξη 2005. Μάθηµα 10 ο. Γράφοι. Τµήµα Ηλεκτρονικών Μηχανικών και Μηχανικών Υπολογιστών Πολυτεχνείο Κρήτης

ΠΛΗ111. Ανοιξη 2005. Μάθηµα 10 ο. Γράφοι. Τµήµα Ηλεκτρονικών Μηχανικών και Μηχανικών Υπολογιστών Πολυτεχνείο Κρήτης ΠΛΗ111 οµηµένος Προγραµµατισµός Ανοιξη 2005 Μάθηµα 10 ο Γράφοι Τµήµα Ηλεκτρονικών Μηχανικών και Μηχανικών Υπολογιστών Πολυτεχνείο Κρήτης Γράφοι Ορισµός Αφηρηµένος τύπος δεδοµένων Υλοποίηση Αναζήτηση έντρο

Διαβάστε περισσότερα

Διάλεξη 22: Τεχνικές Κατακερματισμού I (Hashing)

Διάλεξη 22: Τεχνικές Κατακερματισμού I (Hashing) Διάλεξη 22: Τεχνικές Κατακερματισμού I (Hashing) Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Ανασκόπηση Προβλήματος και Προκαταρκτικών Λύσεων Bit Διανύσματα Τεχνικές Κατακερματισμού & Συναρτήσεις

Διαβάστε περισσότερα

Εργαστήριο 6: Αναζήτηση, Ανάλυση Πολυπλοκότητας

Εργαστήριο 6: Αναζήτηση, Ανάλυση Πολυπλοκότητας Εργαστήριο 6: Αναζήτηση, Ανάλυση Πολυπλοκότητας Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Αναζήτηση με linearsearch, binarysearch, ternarysearch - Ανάλυση Πολυπλοκότητας ternarysearch

Διαβάστε περισσότερα

Αλγόριθµοι Οπισθοδρόµησης

Αλγόριθµοι Οπισθοδρόµησης Αλγόριθµοι Οπισθοδρόµησης Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: Η οπισθοδρόµηση στο σχεδιασµό αλγορίθµων Το πρόβληµα των σταθερών γάµων και ο αλγόριθµος των Gale-Shapley Το πρόβληµα

Διαβάστε περισσότερα

ΕΠΛ 231 Δοµές Δεδοµένων και Αλγόριθµοι 11-1

ΕΠΛ 231 Δοµές Δεδοµένων και Αλγόριθµοι 11-1 Γράφοι Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: Γράφοι - ορισµοί και υλοποίηση Διάσχιση Γράφων Τοπολογική Ταξινόµηση ΕΠΛ 23 Δοµές Δεδοµένων και Αλγόριθµοι - Γράφοι Η πιο γενική µορφή δοµής

Διαβάστε περισσότερα

Διάλεξη 13: Δέντρα ΙΙΙ Ισοζυγισμένα Δέντρα, AVL Δέντρα. Διδάσκων: Παναγιώτης Ανδρέου

Διάλεξη 13: Δέντρα ΙΙΙ Ισοζυγισμένα Δέντρα, AVL Δέντρα. Διδάσκων: Παναγιώτης Ανδρέου Διάλεξη 13: Δέντρα ΙΙΙ Ισοζυγισμένα Δέντρα, AVL Δέντρα Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Ισοζυγισμένα Δέντρα Υλοποίηση AVL δέντρων Εισαγωγή Κόμβων και Περιστροφές σε AVL δέντρα

Διαβάστε περισσότερα

Άσκηση 1. Ψευδοκώδικας Kruskal. Παρακάτω βλέπουμε την εφαρμογή του στο παρακάτω συνδεδεμένο γράφημα.

Άσκηση 1. Ψευδοκώδικας Kruskal. Παρακάτω βλέπουμε την εφαρμογή του στο παρακάτω συνδεδεμένο γράφημα. Άσκηση 1 Ψευδοκώδικας Kruskal Παρακάτω βλέπουμε την εφαρμογή του στο παρακάτω συνδεδεμένο γράφημα. Αντιστοιχίζω τους κόμβους με αριθμούς από το 0 έως το 4. 2Η ΕΡΓΑΣΙΑ ΑΛΓΟΡΙΘΜΟΙ & ΠΟΛΥΠΛΟΚΟΤΗΤΑ - MAY 2018

Διαβάστε περισσότερα

Τομές Γραφήματος. Γράφημα (μη κατευθυνόμενο) Συνάρτηση βάρους ακμών. Τομή : Διαμέριση του συνόλου των κόμβων σε δύο μη κενά σύνολα

Τομές Γραφήματος. Γράφημα (μη κατευθυνόμενο) Συνάρτηση βάρους ακμών. Τομή : Διαμέριση του συνόλου των κόμβων σε δύο μη κενά σύνολα Τομές Γραφήματος Γράφημα (μη κατευθυνόμενο) Συνάρτηση βάρους ακμών Τομή : Διαμέριση του συνόλου των κόμβων σε δύο μη κενά σύνολα και 12 26 20 10 9 7 17 14 4 Τομές Γραφήματος Γράφημα (μη κατευθυνόμενο)

Διαβάστε περισσότερα

HY380 Αλγόριθμοι και πολυπλοκότητα Hard Problems

HY380 Αλγόριθμοι και πολυπλοκότητα Hard Problems HY380 Αλγόριθμοι και πολυπλοκότητα Hard Problems Ημερομηνία Παράδοσης: 0/1/017 την ώρα του μαθήματος ή με email: mkarabin@csd.uoc.gr Γενικές Οδηγίες α) Επιτρέπεται η αναζήτηση στο Internet και στην βιβλιοθήκη

Διαβάστε περισσότερα

Διάλεξη 18: B-Δένδρα

Διάλεξη 18: B-Δένδρα Διάλεξη 18: B-Δένδρα Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Εισαγωγή & Ισοζυγισμένα Δένδρα 2-3 Δένδρα, Περιγραφή Πράξεων της Εισαγωγής και άλλες πράξεις Β-δένδρα Διδάσκων: Κωνσταντίνος

Διαβάστε περισσότερα

Διάλεξη 17: Δυαδικά Δέντρα. Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ

Διάλεξη 17: Δυαδικά Δέντρα. Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ Διάλεξη 7: Δυαδικά Δέντρα Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Δυαδικά Δένδρα Δυαδικά Δένδρα Αναζήτησης Πράξεις Εισαγωγής, Εύρεσης Στοιχείου, Διαγραφής Μικρότερου Στοιχείου Διδάσκων:

Διαβάστε περισσότερα

u v 4 w G 2 G 1 u v w x y z 4

u v 4 w G 2 G 1 u v w x y z 4 Διάλεξη :.0.06 Θεωρία Γραφημάτων Γραφέας: Σ. Κ. Διδάσκων: Σταύρος Κολλιόπουλος. Εισαγωγικοί ορισμοί Ορισμός. Γράφημα G καλείται ένα ζεύγος G = (V, E) όπου V είναι το σύνολο των κορυφών (ή κόμβων) και E

Διαβάστε περισσότερα

Δοµές Δεδοµένων. 11η Διάλεξη Ταξινόµηση Quicksort και Ιδιότητες Δέντρων. Ε. Μαρκάκης

Δοµές Δεδοµένων. 11η Διάλεξη Ταξινόµηση Quicksort και Ιδιότητες Δέντρων. Ε. Μαρκάκης Δοµές Δεδοµένων 11η Διάλεξη Ταξινόµηση Quicksort και Ιδιότητες Δέντρων Ε. Μαρκάκης Περίληψη Quicksort Χαρακτηριστικά επιδόσεων Μη αναδροµική υλοποίηση Δέντρα Μαθηµατικές ιδιότητες Δοµές Δεδοµένων 11-2

Διαβάστε περισσότερα

Ελάχιστο Συνδετικό έντρο

Ελάχιστο Συνδετικό έντρο Ελάχιστο Συνδετικό έντρο ιδάσκοντες: Σ. Ζάχος,. Φωτάκης Επιμέλεια διαφανειών:. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Άδεια Χρήσης Το παρόν εκπαιδευτικό

Διαβάστε περισσότερα

Διδάσκων: Κωνσταντίνος Κώστα

Διδάσκων: Κωνσταντίνος Κώστα Διάλεξη Ε7: Επανάληψη Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Hashing, Final Exam Διδάσκων: Κωνσταντίνος Κώστα ΕΠΛ 035 Δομές Δεδομένων και Αλγόριθμοι για Ηλ. Μηχ. και Μηχ. Υπολ. Ε7-1

Διαβάστε περισσότερα

Διάλεξη 04: Παραδείγματα Ανάλυσης Πολυπλοκότητας/Ανάλυση Αναδρομικών Αλγόριθμων

Διάλεξη 04: Παραδείγματα Ανάλυσης Πολυπλοκότητας/Ανάλυση Αναδρομικών Αλγόριθμων Διάλεξη 04: Παραδείγματα Ανάλυσης Πολυπλοκότητας/Ανάλυση Αναδρομικών Αλγόριθμων Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Παραδείγματα Ανάλυσης Πολυπλοκότητας : Μέθοδοι, παραδείγματα

Διαβάστε περισσότερα

Εργαστήριο 4: Υλοποίηση Αφηρημένου Τύπου Δεδομένων: Ταξινομημένη Λίστα

Εργαστήριο 4: Υλοποίηση Αφηρημένου Τύπου Δεδομένων: Ταξινομημένη Λίστα Εργαστήριο 4: Υλοποίηση Αφηρημένου Τύπου Δεδομένων: Ταξινομημένη Λίστα Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: -Λίστες -Υλοποίηση ταξινομημένης λίστας με δυναμική δέσμευση μνήμης ΕΠΛ035

Διαβάστε περισσότερα

Αλγόριθμοι και Δομές Δεδομένων (IΙ) (γράφοι και δένδρα)

Αλγόριθμοι και Δομές Δεδομένων (IΙ) (γράφοι και δένδρα) Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2016-17 Αλγόριθμοι και Δομές Δεδομένων (IΙ) (γράφοι και δένδρα) http://mixstef.github.io/courses/csintro/ Μ.Στεφανιδάκης Αφηρημένες

Διαβάστε περισσότερα

ΕΠΛ231 Δομές Δεδομένων και Αλγόριθμοι 4. Παραδείγματα Ανάλυσης Πολυπλοκότητας Ανάλυση Αναδρομικών Αλγόριθμων

ΕΠΛ231 Δομές Δεδομένων και Αλγόριθμοι 4. Παραδείγματα Ανάλυσης Πολυπλοκότητας Ανάλυση Αναδρομικών Αλγόριθμων ΕΠΛ31 Δομές Δεδομένων και Αλγόριθμοι 4. Παραδείγματα Ανάλυσης Πολυπλοκότητας Ανάλυση Αναδρομικών Αλγόριθμων Διάλεξη 04: Παραδείγματα Ανάλυσης Πολυπλοκότητας/Ανάλυση Αναδρομικών Αλγόριθμων Στην ενότητα

Διαβάστε περισσότερα

Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ

Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ Διάλεξη 14: Αλγόριθμοι Ταξινόμησης Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Οι αλγόριθμοι ταξινόμησης 3) Mergesort Ταξινόμηση με Συγχώνευση 4) BucketSort Ταξινόμηση με Κάδους Διδάσκων:

Διαβάστε περισσότερα

Ειδικά θέματα Αλγορίθμων και Δομών Δεδομένων (ΠΛΕ073) Απαντήσεις 1 ου Σετ Ασκήσεων

Ειδικά θέματα Αλγορίθμων και Δομών Δεδομένων (ΠΛΕ073) Απαντήσεις 1 ου Σετ Ασκήσεων Ειδικά θέματα Αλγορίθμων και Δομών Δεδομένων (ΠΛΕ073) Απαντήσεις 1 ου Σετ Ασκήσεων Άσκηση 1 α) Η δομή σταθμισμένης ένωσης με συμπίεση διαδρομής μπορεί να τροποποιηθεί πολύ εύκολα ώστε να υποστηρίζει τις

Διαβάστε περισσότερα

3η Σειρά Γραπτών Ασκήσεων

3η Σειρά Γραπτών Ασκήσεων 1/55 3η Σειρά Γραπτών Ασκήσεων Αλγόριθμοι και Πολυπλοκότητα ΣΗΜΜΥ, Εθνικό Μετσόβιο Πολυτεχνείο 2/55 1 Άσκηση 1: Πομποί και Δέκτες 2 Άσκηση 2: Διακοπές στην Ικαρία 3 Άσκηση 3: Επιστροφή στη Γη 4 Άσκηση

Διαβάστε περισσότερα