ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ
|
|
- Σπάρτακος Κρεστενίτης
- 8 χρόνια πριν
- Προβολές:
Transcript
1 ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ Ενότητα 11: Minimum Spanning Trees Αλγόριθμος Prim Αλγόριθμος Kruskal Μαρία Σατρατζέμη Τμήμα Εφαρμοσμένης Πληροφορικής
2 Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύπου άδειας χρήσης, η άδεια χρήσης αναφέρεται ρητώς. ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ Μαρία Σατρατζέμη 2
3 Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού έργου του διδάσκοντα. Το έργο «Ανοικτά Ακαδημαϊκά Μαθήματα στο Πανεπιστήμιο Μακεδονίας» έχει χρηματοδοτήσει μόνο τη αναδιαμόρφωση του εκπαιδευτικού υλικού. Το έργο υλοποιείται στο πλαίσιο του Επιχειρησιακού Προγράμματος «Εκπαίδευση και Δια Βίου Μάθηση» και συγχρηματοδοτείται από την Ευρωπαϊκή Ένωση (Ευρωπαϊκό Κοινωνικό Ταμείο) και από εθνικούς πόρους. ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ Μαρία Σατρατζέμη
4 Minimum Spanning Tree Πρόβλημα: Για δοσμένο συνεκτικό, μη προσανατολισμένο, με βάρος γράφημα
5 Minimum Spanning Tree Πρόβλημα: Για δοσμένο συνεκτικό, μη προσανατολισμένο, με βάρος γράφημα, να βρεθεί ένα δένδρο κάλυμμα (spanning tree) χρησιμοποιώντας ακμές που ελαχιστοποιούν το συνολικό βάρος
6 Ορισμοί Δένδρο κάλυμμα (spanning tree) είναι ένα μερικό γράφημα του συνεκτικού γραφήματος G που είναι δένδρο. Δένδρο: συνεκτικό άκυκλο γράφημα Ισοδύναμες προτάσεις Συνεκτικό με n-1 ακμές Άκυκλο με n-1 ακμές Κάθε ζεύγος κορυφών συνδέεται με ένα μόνο μονοπάτι Αν ενωθούν 2 μη γειτονικές κορυφές με μια ακμή σχηματίζεται κύκλο. 6
7 Ορισμοί Ένα γράφημα g ονομάζεται μερικό γράφημα (partial graph) του γραφήματος G= (V, E) αν οι κορυφές του g είναι οι κορυφές του G και οι ακμές του g είναι υποσύνολο των ακμών του G, δηλαδή g = (V, E ), όπου Ε Ε. Ελάχιστο δένδρο κάλυμμα (minimum spanning tree) το δένδρο κάλυμμα με το ελάχιστο συνολικό βάρος ακμών. 7
8 Minimum Spanning Tree Ποιες ακμές σχηματίζουν Ελάχιστο Δένδρο Κάλυμμα (Minimum Spanning Tree MST) στο παρακάτω γράφημα? A 6 4 H B C 10 2 G E 1 D F
9 Απάντηση: Minimum Spanning Tree A 6 4 H B C 10 2 G E 1 D F
10 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); w(u, v) βάρος ακμής (u, v) 10
11 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; 10 key[v] = w(u,v); Τρέχοντας ένα παράδειγμα 11
12 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); Τρέχοντας ένα παράδειγμα 12
13 Prim s Algorithm MST-Prim(G, w, r) Q = V[G]; for each u Q key[u] = ; key[r] = 0; p[r] = NULL; r 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); Επιλέξτε μια οποιαδήποτε κορυφή ως αρχική r 1
14 Prim s Algorithm MST-Prim(G, w, r) Q = V[G]; for each u Q key[u] = ; key[r] = 0; p[r] = NULL; u 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); Κόκκινες κορυφές έχουν απομακρυνθεί από την Q
15 Prim s Algorithm MST-Prim(G, w, r) Q = V[G]; for each u Q key[u] = ; key[r] = 0; p[r] = NULL; u 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); Κόκκινες κορυφές έχουν απομακρυνθεί από την Q 1
16 Prim s Algorithm MST-Prim(G, w, r) Q = V[G]; for each u Q key[u] = ; key[r] = 0; p[r] = NULL; u 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);
17 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
18 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 2 1 1
19 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 2 1 1
20 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 1 20
21 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 1 21
22 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 1 22
23 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 1 2
24 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 1 24
25 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 1 2
26 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 1 26
27 MST-Prim(G, w, r) Q = V[G]; for each u Q key[u] = ; key[r] = 0; p[r] = NULL; while (Q not empty) Prim s Algorithm 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
28 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 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);
29 MST-Prim(G, w, r) Q = V[G]; for each u Q key[u] = ; key[r] = 0; p[r] = NULL; while (Q not empty) Prim s Algorithm 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 2
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); u 0
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); Ποιο είναι το κρυμμένο κόστος στον αλγόριθμο? 1
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; DecreaseKey(v, w(u,v)); 2
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; DecreaseKey(v, w(u,v)); Πόσο συχνά καλείται η ExtractMin()? Πόσο συχνά καλείται η DecreaseKey()?
34 Ανάλυση: Prim s Algorithm Θ(V) συνολικά MST-Prim(G, w, r) 1 Q = V[G]; 2 for each u Q key[u] = ; 4 key[r] = 0; p[r] = NULL; 6 while (Q not empty) 7 u = ExtractMin(Q); for each v Adj[u] if (v Q and w(u,v) < key[v]) 10 p[v] = u; 11 key[v] = w(u,v); 4
35 Ανάλυση : Prim s Algorithm Θ(V) συνολικά V φορές MST-Prim(G, w, r) 1 Q = V[G]; 2 for each u Q key[u] = ; 4 key[r] = 0; p[r] = NULL; 6 while (Q not empty) 7 u = ExtractMin(Q); for each v Adj[u] if (v Q and w(u,v) < key[v]) 10 p[v] = u; 11 key[v] = w(u,v);
36 Ανάλυση : Prim s Algorithm Θ(V) συνολικά V φορές MST-Prim(G, w, r) 1 Q = V[G]; 2 for each u Q key[u] = ; 4 key[r] = 0; p[r] = NULL; 6 while (Q not empty) 7 u = ExtractMin(Q); for each v Adj[u] if (v Q and w(u,v) < key[v]) degree(u) 10 p[v] = u; φορές 11 key[v] = w(u,v); 6
37 Ανάλυση : Prim s Algorithm Θ(V) συνολικά V φορές MST-Prim(G, w, r) 1 Q = V[G]; 2 for each u Q key[u] = ; 4 key[r] = 0; p[r] = NULL; 6 while (Q not empty) 7 u = ExtractMin(Q); for each v Adj[u] if (v Q and w(u,v) < key[v]) degree(u) 10 p[v] = u; φορές 11 key[v] = w(u,v); v Adj v deg v 2 E v Θ(Ε) DecreaseKey 7
38 Ανάλυση : Prim s Algorithm Χρόνος = Θ(V). Τ ExtractMin + Θ(E). Τ DecreaseKey Q Τ ExtractMin Τ DecreaseKey Συνολικά πίνακας O(V) O(1) O(V 2 ) Διωνυμικός σωρός Σωρός Fibonacci O(log 2 V) O(log 2 V) O(E log 2 V) O(log 2 V) O(1) O(E+V log 2 V)
39 Ανάλυση : Prim s Algorithm Η επίδοση του αλγορίθμου του Prim εξαρτάται από τον τρόπο υλοποίησης της ουράς προτεραιότητας ελαχίστου Q. Αν η Q υλοποιηθεί ως διωνυμικός σωρός ελαχίστου η απόδοση αρχικών τιμών στις γραμμές 1- μπορεί να επιτευχθεί σε χρόνο Ο(V) μέσω της διαδικασίας Κατασκευή Σωρού Ελαχίστου. Το σώμα του βρόχου while εκτελείται V φορές και δεδομένου ότι κάθε πράξη Εξαγωγής Ελαχίστου διαρκεί χρόνο O(log 2 V) ο συνολικός χρόνος για όλες τις κλήσεις Εξαγωγής Ελαχίστου είναι O(V log 2 V). Ο βρόχος for στις γραμμές -11 εκτελείται συνολικά Ο(Ε) φορές αφού το άθροισμα των μηκών όλων των λιστών γειτνίασης είναι 2 Ε. Εντός του βρόχου for ο έλεγχος «συμμετοχής» στη ουρά Q στη γραμμή μπορεί να πραγματοποιηθεί σε σταθερό χρόνο μέσω μιας μοναδικής δύφιας μεταβλητής για κάθε κορυφή, που δείχνει αν η κορυφή ανήκει ή όχι στην Q και ενημερώνεται όταν η κορυφή αφαιρείται από την Q. Η ανάθεση τιμής στη γραμμή 11 περιλαμβάνει μια σιωπηρή πράξη Μείωσης Κλειδιού στο σωρό ελαχίστου μπορεί να υλοποιηθεί σε χρόνο O(log 2 V). O συνολικός χρόνος εκτέλεσης του αλγόριθμου του Prim είναι O(V log 2 V + E log 2 V) = O(E log 2 V).
40 Ανάλυση : Prim s Algorithm MST-Prim(G, w, r) Ποιος είναι ο χρόνος εκτέλεσης? 1 Q = V[G]; A: εξαρτάται από την υλοποίηση της Q 2 for each u Q - με διωνυμικό σωρό ελαχίστων: O(E log 2 V) key[u] = ; - με σωρό Fibonacci : O(V log 2 V + E) 4 key[r] = 0; p[r] = NULL; 6 while (Q not empty) 7 u = ExtractMin(Q); for each v Adj[u] if (v Q and w(u,v) < key[v]) 10 p[v] = u; 11 key[v] = w(u,v); 40
41 Kruskal s Algorithm Kruskal() { } T = ; for each v V MakeSet(v); sort E by increasing edge weight w for each (u,v) E (in sorted order) if FindSet(u) FindSet(v) T = T U {{u,v}}; Union(FindSet(u), FindSet(v)); 41
42 Kruskal() { 1. T = ; 2. for each v V. MakeSet(v); Kruskal s Algorithm 4. sort E by increasing edge weight w. for each (u,v) E (in sorted order) 6. if FindSet(u) FindSet(v) 7. T = T U {{u,v}};. Union(FindSet(u), FindSet(v)); } Στις γραμμές 1- ορίζεται ένα αρχικό σύνολο Τ κενό και δημιουργούνται V δένδρα καθένα απ αυτά περιέχει 1 κόμβο. Στην 4 διατάσσονται οι ακμές του σε αύξουσα διάταξη ως προς το βάρος. 42
43 Kruskal() { 1. T = ; 2. for each v V. MakeSet(v); Kruskal s Algorithm Ο βρόχος στις γραμμές - ελέγχει για κάθε (u, v) αν τα άκρα της u και v ανήκουν στο ίδιο δένδρο. Αν ανήκουν τότε η προσθήκη της (u, v) θα δημιουργήσει κύκλο και άρα απορρίπτεται. Διαφορετικά οι 2 κόμβοι ανήκουν σε διαφορετικά δένδρα η ακμή (u, v) προστίθεται στο Τ στη γραμμή 7 και οι κόμβοι των 2 δένδρων συγχωνεύονται στη γραμμή. 4. sort E by increasing edge weight w. for each (u,v) E (in sorted order) 6. if FindSet(u) FindSet(v) 7. T = T U {{u,v}};. Union(FindSet(u), FindSet(v)); } 4
44 Kruskal s Algorithm Kruskal() { } T = ; for each v V MakeSet(v); Εκτέλεση αλγόριθμου: 2 1 sort E by increasing edge weight w for each (u,v) E (in sorted order) 21 2 if FindSet(u) FindSet(v) 17 1 T = T U {{u,v}}; Union(FindSet(u), FindSet(v)); 1 44
45 Kruskal s Algorithm Kruskal() { } T = ; for each v V MakeSet(v); Εκτέλεση αλγόριθμου: 2 1 sort E by increasing edge weight w for each (u,v) E (in sorted order) 21 2 if FindSet(u) FindSet(v) 17 1 T = T U {{u,v}}; Union(FindSet(u), FindSet(v)); 1 4
46 Kruskal s Algorithm Kruskal() { } T = ; for each v V MakeSet(v); Εκτέλεση αλγόριθμου: 2 1 sort E by increasing edge weight w for each (u,v) E (in sorted order) 21 2 if FindSet(u) FindSet(v) 17 1 T = T U {{u,v}}; Union(FindSet(u), FindSet(v)); 1 46
47 Kruskal s Algorithm Kruskal() { } T = ; for each v V MakeSet(v); Εκτέλεση αλγόριθμου: 2 1 sort E by increasing edge weight w for each (u,v) E (in sorted order) 21 2 if FindSet(u) FindSet(v) 17 1 T = T U {{u,v}}; Union(FindSet(u), FindSet(v)); 1? 47
48 Kruskal s Algorithm Kruskal() { } T = ; for each v V MakeSet(v); Εκτέλεση αλγόριθμου: 2 1 sort E by increasing edge weight w for each (u,v) E (in sorted order) 21 2 if FindSet(u) FindSet(v) 17 1 T = T U {{u,v}}; Union(FindSet(u), FindSet(v)); 1 4
49 Kruskal s Algorithm Kruskal() { } T = ; for each v V MakeSet(v); Εκτέλεση αλγόριθμου: 2? 1 sort E by increasing edge weight w for each (u,v) E (in sorted order) 21 2 if FindSet(u) FindSet(v) 17 1 T = T U {{u,v}}; Union(FindSet(u), FindSet(v)); 1 4
50 Kruskal s Algorithm Kruskal() { } T = ; for each v V MakeSet(v); Εκτέλεση αλγόριθμου: 2 1 sort E by increasing edge weight w for each (u,v) E (in sorted order) 21 2 if FindSet(u) FindSet(v) 17 1 T = T U {{u,v}}; Union(FindSet(u), FindSet(v)); 1 0
51 Kruskal s Algorithm Kruskal() { } T = ; for each v V MakeSet(v); Εκτέλεση αλγόριθμου: 2 1 sort E by increasing edge weight w for each (u,v) E (in sorted order) 21 2 if FindSet(u) FindSet(v) 17 1 T = T U {{u,v}}; Union(FindSet(u), FindSet(v));? 1 1
52 Kruskal s Algorithm Kruskal() { } T = ; for each v V MakeSet(v); Εκτέλεση αλγόριθμου: 2 1 sort E by increasing edge weight w for each (u,v) E (in sorted order) 21 2 if FindSet(u) FindSet(v) 17 1 T = T U {{u,v}}; Union(FindSet(u), FindSet(v)); 1 2
53 Kruskal s Algorithm Kruskal() { } T = ; for each v V MakeSet(v);? Εκτέλεση αλγόριθμου: 2 1 sort E by increasing edge weight w for each (u,v) E (in sorted order) 21 2 if FindSet(u) FindSet(v) 17 1 T = T U {{u,v}}; Union(FindSet(u), FindSet(v)); 1
54 Kruskal s Algorithm Kruskal() { } T = ; for each v V MakeSet(v); Εκτέλεση αλγόριθμου: 2 1 sort E by increasing edge weight w for each (u,v) E (in sorted order) 21 2 if FindSet(u) FindSet(v) 17 1 T = T U {{u,v}}; Union(FindSet(u), FindSet(v)); 1 4
55 Kruskal s Algorithm Kruskal() { } T = ; for each v V MakeSet(v); Εκτέλεση αλγόριθμου: 2 1 sort E by increasing edge weight w for each (u,v) E (in sorted order) 21 2 if FindSet(u) FindSet(v) 17 1 T = T U {{u,v}}; Union(FindSet(u), FindSet(v));? 1
56 Kruskal s Algorithm Kruskal() { } T = ; for each v V MakeSet(v); Εκτέλεση αλγόριθμου: 2 1 sort E by increasing edge weight w for each (u,v) E (in sorted order) 21 2 if FindSet(u) FindSet(v) 17 1 T = T U {{u,v}}; Union(FindSet(u), FindSet(v)); 1 6
57 Kruskal s Algorithm Kruskal() { } T = ; for each v V MakeSet(v); Εκτέλεση αλγόριθμου: 2 1 sort E by increasing edge weight w for each (u,v) E (in sorted order) 21 2 if FindSet(u) FindSet(v) 17 1? T = T U {{u,v}}; Union(FindSet(u), FindSet(v)); 1 7
58 Kruskal s Algorithm Kruskal() { } T = ; for each v V MakeSet(v); Εκτέλεση αλγόριθμου: 2 1 sort E by increasing edge weight w for each (u,v) E (in sorted order) 21 2 if FindSet(u) FindSet(v) 17 1 T = T U {{u,v}}; Union(FindSet(u), FindSet(v)); 1
59 Kruskal s Algorithm Kruskal() { } T = ; for each v V MakeSet(v); Εκτέλεση αλγόριθμου: 2 1? sort E by increasing edge weight w for each (u,v) E (in sorted order) 21 2 if FindSet(u) FindSet(v) 17 1 T = T U {{u,v}}; Union(FindSet(u), FindSet(v)); 1
60 Kruskal s Algorithm Kruskal() { } T = ; for each v V MakeSet(v); Εκτέλεση αλγόριθμου: 2 1 sort E by increasing edge weight w for each (u,v) E (in sorted order) 21 2 if FindSet(u) FindSet(v) 17 1 T = T U {{u,v}}; Union(FindSet(u), FindSet(v)); 1 60
61 Kruskal s Algorithm Kruskal() { } T = ; for each v V MakeSet(v); Εκτέλεση αλγόριθμου: 2 1 sort E by increasing edge weight w for each (u,v) E (in sorted order) 21 2 if FindSet(u) FindSet(v) 17? 1 T = T U {{u,v}}; Union(FindSet(u), FindSet(v)); 1 61
62 Kruskal s Algorithm Kruskal() { } T = ; for each v V MakeSet(v); Εκτέλεση αλγόριθμου: 2 1? sort E by increasing edge weight w for each (u,v) E (in sorted order) 21 2 if FindSet(u) FindSet(v) 17 1 T = T U {{u,v}}; Union(FindSet(u), FindSet(v)); 1 62
63 Kruskal s Algorithm Kruskal() { } T = ; for each v V MakeSet(v); Εκτέλεση αλγόριθμου: 2 1 sort E by increasing edge weight w for each (u,v) E (in sorted order) 21? 2 if FindSet(u) FindSet(v) 17 1 T = T U {{u,v}}; Union(FindSet(u), FindSet(v)); 1 6
64 Kruskal s Algorithm Kruskal() { } T = ; for each v V MakeSet(v); Εκτέλεση αλγόριθμου: 2 1 sort E by increasing edge weight w for each (u,v) E (in sorted order) 21 2? if FindSet(u) FindSet(v) 17 1 T = T U {{u,v}}; Union(FindSet(u), FindSet(v)); 1 64
65 Kruskal s Algorithm Kruskal() { } T = ; for each v V MakeSet(v); Εκτέλεση αλγόριθμου: 2 1 sort E by increasing edge weight w for each (u,v) E (in sorted order) 21 2 if FindSet(u) FindSet(v) 17 1 T = T U {{u,v}}; Union(FindSet(u), FindSet(v)); 1 6
66 Kruskal s Algorithm Kruskal() { } T = ; for each v V MakeSet(v); Εκτέλεση αλγόριθμου: 2 1 sort E by increasing edge weight w for each (u,v) E (in sorted order) 21 2 if FindSet(u) FindSet(v) 17 1 T = T U {{u,v}}; Union(FindSet(u), FindSet(v)); 1 66
67 Kruskal s Algorithm: Χρόνος Εκτέλεσης Kruskal() { 1 T = ; 2 for each v V MakeSet(v); 4 sort E by increasing edge weight w for each (u,v) E (in sorted order) 6 if FindSet(u) FindSet(v) 7 T = T U {{u,v}}; Union(FindSet(u), FindSet(v)); } Τι επηρεάζει το χρόνο εκτέλεσης? 67
68 Kruskal s Algorithm: Χρόνος Εκτέλεσης Ο χρόνος εκτέλεσης του αλγόριθμου του Kruskal εξαρτάται από την υλοποίηση της δομής δεδομένων ξένων συνόλων. Υποθέτουμε ότι ακολουθείται η υλοποίηση του δάσους ξένων συνόλων. Ο αρχικός ορισμός του συνόλου T στην γραμμή 1 απαιτεί χρόνο Ο(1) και η ταξινόμηση των ακμών στην 4 απαιτεί O(Elog 2 E). Ο βρόχος στις γραμμές - εκτελεί Ο(Ε) πράξεις FindSet και Union στο δάσος ξένων συνόλων. Μαζί με τις V πράξεις MakeSet οι εργασίες αυτές απαιτούν συνολικό χρόνο Ο(V + E) α(v) όπου α βραδύτατα αύξουσα συνάρτηση που ορίζεται στην υλοποίηση του δάσους ξένων συνόλων ( 21.4 CLRS). Δεδομένου ότι το G είναι συνεκτικό έχουμε E V - 1 και επομένως οι πράξεις ξένων συνόλων απαιτούν Ο(Ε α(v)). Επιπλέον α(v) = Ο(log 2 V)=O(log 2 E) ο συνολικός χρόνος εκτέλεσης του Kruskal είναι Ο(Ε log 2 E). Δεδομένου ότι E < V 2. έχουμε log 2 E =O(log 2 V) και επομένως ο χρόνος εκτέλεσης του αλγορίθμου Kruskal μπορεί να γραφεί O(Ε log 2 V) 6
69 Kruskal s Algorithm: Χρόνος Εκτέλεσης Kruskal() { 1 T = ; 2 for each v V MakeSet(v); 4 sort E by increasing edge weight w for each (u,v) E (in sorted order) 6 if FindSet(u) FindSet(v) 7 T = T U {{u,v}}; Union(FindSet(u), FindSet(v)); } Τι επηρεάζει το χρόνο εκτέλεσης? 1 Sort O(V) MakeSet() κλήσεις O(E) FindSet() κλήσεις O(V) Union() κλήσεις (πόσες ακριβώς Union()?) 6
70 Kruskal s Algorithm: Χρόνος Εκτέλεσης Συνοψίζοντας: Sort edges: O(E lοg 2 E) O(V) MakeSet() s O(E) FindSet() s O(V) Union() s Τελικό συμπέρασμα: Ο καλύτερος αλγόριθμος για disjoint-set union εκτελεί τις παραπάνω πράξεις σε O(E (E,V)), σχεδόν σταθερή Τελικώς O(E lοg 2 E) O(E lοg 2 V) 70
71 Τέλος Ενότητας
Αλγόριθμοι Γραφημάτων
Αλγόριθμοι Γραφημάτων 1. Minimum Spanning Trees 2. Αλγόριθμος Prim 3. Αλγόριθμος Kruskal Εισαγωγή στην Ανάλυση Αλγορίθμων Μάγια Σατρατζέμη Minimum Spanning Tree Πρόβλημα: Για δοσμένο συνεκτικό, μη προσανατολισμένο,
Δομές Δεδομένων Ενότητα 6
ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Ενότητα 6: Γράφοι Απόστολος Παπαδόπουλος Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό
Αλγόριθμοι Γραφημάτων
Αλγόριθμοι Γραφημάτων 1. Συντομότατα μονοπάτια 2. Αλγόριθμος Bellman-Ford 3. Αλγόριθμος Dijkstra 4. Floyd-Warshall Εισαγωγή στην Ανάλυση Αλγορίθμων Μάγια Σατρατζέμη Single-Source Shortest Path Πρόβλημα:
ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ
ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ Ενότητα 10β: Αλγόριθμοι Γραφημάτων-Γραφήματα- Αναπαράσταση Γραφημάτων- Διερεύνηση Πρώτα σε Πλάτος (BFS) Μαρία Σατρατζέμη Τμήμα Εφαρμοσμένης Πληροφορικής Άδειες Χρήσης Το
ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ
ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ Ενότητα 10γ: Αλγόριθμοι Γραφημάτων- Διερεύνηση Πρώτα σε Βάθος (DFS)- Τοπολογική Ταξινόμηση Μαρία Σατρατζέμη Τμήμα Εφαρμοσμένης Πληροφορικής Άδειες Χρήσης Το παρόν εκπαιδευτικό
ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ
ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ Ενότητα 12: Αλγόριθμοι Γραφημάτων/Συντομότατα μονοπάτια/αλγόριθμος Bellman-Ford/Αλγόριθμος Dijkstra/Floyd-Warshall Μαρία Σατρατζέμη Τμήμα Εφαρμοσμένης Πληροφορικής Άδειες
Αλγόριθμοι Γραφημάτων
Αλγόριθμοι Γραφημάτων. Γραφήματα. Αναπαράσταση Γραφημάτων 3. Διερεύνηση σε Πρώτα σε Πλάτος (BFS) Εισαγωγή στην Ανάλυση Αλγορίθμων Μάγια Σατρατζέμη Γράφημα Ορισμός: Ένα γράφημα G είναι το διατεταγμένο ζεύγος
Αλγόριθµοι και Πολυπλοκότητα
Αλγόριθµοι και Πολυπλοκότητα Ν. Μ. Μισυρλής Τµήµα Πληροφορικής και Τηλεπικοινωνιών, Πανεπιστήµιο Αθηνών Καθηγητής: Ν. Μ. Μισυρλής () Αλγόριθµοι και Πολυπλοκότητα Μαΐου 201 1 / Απληστοι (Greedy) Αλγόριθµοι
Αλγόριθµοι και Πολυπλοκότητα
Αλγόριθµοι και Πολυπλοκότητα Ν. Μ. Μισυρλής Τµήµα Πληροφορικής και Τηλεπικοινωνιών, Πανεπιστήµιο Αθηνών Καθηγητής: Ν. Μ. Μισυρλής () Αλγόριθµοι και Πολυπλοκότητα 26 Ιουνίου 201 1 / Απληστοι (Greedy) Αλγόριθµοι
Ελάχιστο Συνδετικό έντρο
Ελάχιστο Συνδετικό έντρο ιδάσκοντες: Σ. Ζάχος,. Φωτάκης Επιμέλεια διαφανειών:. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Άδεια Χρήσης Το παρόν εκπαιδευτικό
Εισαγωγή στους Αλγορίθμους Φροντιστήριο 5
Εισαγωγή στους Αλγορίθμους Φροντιστήριο 5 Διδάσκων Χρήστος Ζαρολιάγκης Καθηγητής Τμήμα Μηχανικών Η/Υ & Πληροφορικής Πανεπιστήμιο Πατρών Email: zaro@ceid.upatras.gr Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό
Εισαγωγή στους Αλγορίθμους Φροντιστήριο 8
Εισαγωγή στους Αλγορίθμους Φροντιστήριο 8 Διδάσκων Χρήστος Ζαρολιάγκης Καθηγητής Τμήμα Μηχανικών Η/Υ & Πληροφορικής Πανεπιστήμιο Πατρών Email: zaro@ceid.upatras.gr Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό
Αλγόριθµοι και Πολυπλοκότητα
Αλγόριθµοι και Πολυπλοκότητα Ενότητα 3 Αλγόριθµοι Γραφηµάτων Prim-Kruskal Ν. Μ. Μισυρλής Τµήµα Πληροφορικής και Τηλεπικοινωνιών, Καθηγητής: Ν. Μ. Μισυρλής Αλγόριθµοι και Πολυπλοκότητα - Ενότητα 3 Prim-Kruskal
Αλγόριθμοι Γραφημάτων
Αλγόριθμοι Γραφημάτων 1. Διερεύνηση Πρώτα σε Βάθος (DFS) 2. Τοπολογική Ταξινόμηση Εισαγωγή στην Ανάλυση Αλγορίθμων Μάγια Σατρατζέμη Depth-First Search Πρώτα σε Βάθος διερεύνηση (Depth-First Search) είναι
Αλγόριθμοι και πολυπλοκότητα Περιήγηση Πανεπιστημίων
ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Αλγόριθμοι και πολυπλοκότητα Περιήγηση Πανεπιστημίων Ιωάννης Τόλλης Τμήμα Επιστήμης Υπολογιστών Περιήγηση Πανεπιστημίων 5/8/008 :46 AM Campus Tour Περίληψη και ανάγνωση
ΑΛΓΟΡΙΘΜΟΙ. Ενότητα 9: Άπληστοι Αλγόριθμοι. Ιωάννης Μανωλόπουλος, Καθηγητής Αναστάσιος Γούναρης, Επίκουρος Καθηγητής Τμήμα Πληροφορικής ΑΠΘ
ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ ΑΛΓΟΡΙΘΜΟΙ Ενότητα 9: Άπληστοι Ιωάννης Μανωλόπουλος, Καθηγητής Αναστάσιος Γούναρης, Επίκουρος Καθηγητής Άδειες Χρήσης Το παρόν εκπαιδευτικό
Αναζήτηση Κατά Πλάτος
Αναζήτηση Κατά Πλάτος ιδάσκοντες: Σ. Ζάχος,. Φωτάκης Επιμέλεια διαφανειών:. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Άδεια Χρήσης Το παρόν εκπαιδευτικό
ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ
ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ Ενότητα 7β: Όρια Αλγόριθμων Ταξινόμησης Μαρία Σατρατζέμη Τμήμα Εφαρμοσμένης Πληροφορικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commos.
ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. Δομές Δεδομένων. Ιωάννης Γ. Τόλλης Τμήμα Επιστήμης Υπολογιστών Πανεπιστήμιο Κρήτης
ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Δομές Δεδομένων Ιωάννης Γ. Τόλλης Τμήμα Επιστήμης Υπολογιστών Πανεπιστήμιο Κρήτης Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού
Αλγόριθμοι και Πολυπλοκότητα
Αλγόριθμοι και Πολυπλοκότητα Άπληστοι Αλγόριθμοι Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Άπληστοι Αλγόριθμοι Είναι δύσκολο να ορίσουμε ακριβώς την έννοια του άπληστου
Σχεδιαση Αλγοριθμων -Τμημα Πληροφορικης ΑΠΘ - Κεφαλαιο 9ο
Σχεδίαση Αλγορίθμων Άπληστοι Αλγόριθμοι http://delab.csd.auth.gr/~gounaris/courses/ad 1 Άπληστοι αλγόριθμοι Προβλήματα βελτιστοποίησης ηςλύνονται με μια σειρά επιλογών που είναι: εφικτές τοπικά βέλτιστες
Τίτλος Μαθήματος: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ
Τίτλος Μαθήματος: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ Ενότητα 5: Ασκήσεις Μαρία Σατρατζέμη Τμήμα Εφαρμοσμένης Πληροφορικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons.
Πληροφοριακά Συστήματα Διοίκησης (ΜΒΑ) Ενότητα 1: Δικτυωτή Ανάλυση (Θεωρία Γράφων)
Πληροφοριακά Συστήματα Διοίκησης (ΜΒΑ) Ενότητα 1: Δικτυωτή Ανάλυση (Θεωρία Γράφων) Μπεληγιάννης Γρηγόριος Σχολή Οργάνωσης και Διοίκησης Επιχειρήσεων Τμήμα Διοίκησης Επιχειρήσεων Αγροτικών Προϊόντων & Τροφίμων
Πανεπιστήμιο Δυτικής Μακεδονίας. Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών. Διακριτά Μαθηματικά. Ενότητα 3: Δένδρα
Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Διακριτά Μαθηματικά Ενότητα 3: Δένδρα Αν. Καθηγητής Κ. Στεργίου e-mail: kstergiou@uowm.gr Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Άδειες Χρήσης Το
Ελάχιστο Συνδετικό Δέντρο
Ελάχιστο Συνδετικό Δέντρο Διδάσκοντες: Σ. Ζάχος, Δ. Φωτάκης Επιμέλεια διαφανειών: Δ. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Ελάχιστο Συνδετικό Δέντρο
Πληροφοριακά Συστήματα Διοίκησης (ΜΒΑ) Ενότητα 2: Εφαρμογές Δικτυωτής Ανάλυσης (1 ο Μέρος)
Πληροφοριακά Συστήματα Διοίκησης (ΜΒΑ) Ενότητα 2: Εφαρμογές Δικτυωτής Ανάλυσης (1 ο Μέρος) Μπεληγιάννης Γρηγόριος Σχολή Οργάνωσης και Διοίκησης Επιχειρήσεων Τμήμα Διοίκησης Επιχειρήσεων Αγροτικών Προϊόντων
Ελάχιστο Συνδετικό Δέντρο
Ελάχιστο Συνδετικό Δέντρο Διδάσκοντες: Σ. Ζάχος, Δ. Φωτάκης Επιμέλεια διαφανειών: Δ. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Ελάχιστο Συνδετικό Δέντρο
Θεωρία και Αλγόριθμοι Γράφων
ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Ενότητα # 7: Ελάχιστα Ζευγνύοντα Δένδρα Ιωάννης Μανωλόπουλος Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης reative
Ελάχιστο Συνδετικό Δέντρο
Ελάχιστο Συνδετικό Δέντρο Δημήτρης Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Ελάχιστο Συνδετικό Δέντρο (MST) Συνεκτικό μη-κατευθ. G(V, E, w) με βάρη Βάρος
Ελάχιστο Συνδετικό έντρο
Ελάχιστο Συνδετικό έντρο ημήτρης Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Ελάχιστο Συνδετικό έντρο (MST) Συνεκτικό μη-κατευθ. G(V, E, w) με βάρη Βάρος
Εισαγωγή στους Αλγορίθμους Ενότητα 10η
Εισαγωγή στους Αλγορίθμους Ενότητα 10η Διδάσκων Χρήστος Ζαρολιάγκης Καθηγητής Τμήμα Μηχανικών Η/Υ & Πληροφορικής Πανεπιστήμιο Πατρών Email: zaro@ceid.upatras.gr Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό
ΣΥΝΔΥΑΣΤΙΚΗ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ
Ενότητα 5 Τμήμα Εφαρμοσμένης Πληροφορικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύπου άδειας
Αλγόριθµοι και Πολυπλοκότητα
Αλγόριθµοι και Πολυπλοκότητα Ν. Μ. Μισυρλής Τµήµα Πληροφορικής και Τηλεπικοινωνιών, Πανεπιστήµιο Αθηνών Καθηγητής: Ν. Μ. Μισυρλής () Αλγόριθµοι και Πολυπλοκότητα 6 Μαΐου 2015 1 / 42 Εύρεση Ελάχιστου Μονοπατιού
Εισαγωγή στους Αλγορίθμους Φροντιστήριο 4
Εισαγωγή στους Αλγορίθμους Φροντιστήριο 4 Διδάσκων Χρήστος Ζαρολιάγκης Καθηγητής Τμήμα Μηχανικών Η/Υ & Πληροφορικής Πανεπιστήμιο Πατρών Email: zaro@ceid.upatras.gr Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό
Αλγόριθμοι και πολυπλοκότητα Συγχωνευτική Ταξινόμηση
ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Αλγόριθμοι και πολυπλοκότητα Συγχωνευτική Ταξινόμηση Ιωάννης Τόλλης Τμήμα Επιστήμης Υπολογιστών Συγχωνευτική Ταξινόμηση (Merge Sort) 7 2 9 4 2 4 7 9 7 2 2 7 9 4
Ελάχιστα Γεννητορικά ένδρα
λάχιστα Γεννητορικά ένδρα Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: Ο αλγόριθµος του Prim και ο αλγόριθµος του Kruskal για εύρεση λάχιστων Γεννητορικών ένδρων ΠΛ 23 οµές εδοµένων και Αλγόριθµοι
Εισαγωγή στους Αλγορίθμους Ενότητα 9η
Εισαγωγή στους Αλγορίθμους Ενότητα 9η Διδάσκων Χρήστος Ζαρολιάγκης Καθηγητής Τμήμα Μηχανικών Η/Υ & Πληροφορικής Πανεπιστήμιο Πατρών Email: zaro@ceid.upatras.gr Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό
Σχεδίαση και Ανάλυση Αλγορίθμων Ενότητα 3: ΑΝΑΠΑΡΑΣΤΑΣΗ ΔΕΔΟΜΕΝΩΝ - ΓΡΑΦΗΜΑΤΑ
Σχεδίαση και Ανάλυση Αλγορίθμων Ενότητα 3: ΑΝΑΠΑΡΑΣΤΑΣΗ ΔΕΔΟΜΕΝΩΝ - ΓΡΑΦΗΜΑΤΑ Δημήτριος Κουκόπουλος Σχολή Οργάνωσης και Διοίκησης Επιχειρήσεων Τμήμα Διαχείρισης Πολιτισμικού Περιβάλλοντος και Νέων Τεχνολογιών
Εισαγωγή στην Επιστήμη των Υπολογιστών
Εισαγωγή στην Επιστήμη των Υπολογιστών 4 ο εξάμηνο ΣΗΜΜΥ 4 η ενότητα: Γράφοι: προβλήματα και αλγόριθμοι Επιμέλεια διαφανειών: Στάθης Ζάχος, Άρης Παγουρτζής, Δημήτρης Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών
έντρα ιδάσκοντες:. Φωτάκης,. Σούλιου Επιμέλεια διαφανειών:. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο
έντρα ιδάσκοντες:. Φωτάκης,. Σούλιου Επιμέλεια διαφανειών:. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο έντρα έντρο: πρότυπο ιεραρχικής δομής. Αναπαράσταση
ιδάσκοντες: Φ. Αφράτη,. Φωτάκης,. Σούλιου Επιμέλεια διαφανειών:. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών
έντρα ιδάσκοντες: Φ. Αφράτη,. Φωτάκης,. Σούλιου Επιμέλεια διαφανειών:. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο έντρα έντρο: πρότυπο ιεραρχικής δομής.
Αλγόριθµοι και Πολυπλοκότητα
Αλγόριθµοι και Πολυπλοκότητα Ενότητα 3 Αλγόριθµοι Γραφηµάτων Dijkstra Ν. Μ. Μισυρλής Τµήµα Πληροφορικής και Τηλεπικοινωνιών, Καθηγητής: Ν. Μ. Μισυρλής Αλγόριθµοι και Πολυπλοκότητα - Ενότητα 3 Dijkstra
ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΦΡΟΝΤΙΣΤΗΡΙΟ ΑΛΓΟΡΙΘΜΩΝ ΒΟΗΘΟΣ: ΒΑΓΓΕΛΗΣ ΔΟΥΡΟΣ
ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΦΡΟΝΤΙΣΤΗΡΙΟ ΑΛΓΟΡΙΘΜΩΝ ΒΟΗΘΟΣ: ΒΑΓΓΕΛΗΣ ΔΟΥΡΟΣ Φροντιστήριο #7: Ελάχιστα Επικαλυπτικά Δένδρα, Αλγόριθμος Kruskal, Δομές Union-Find Άσκηση # 0 5 0 0 0
Εισαγωγή στους Αλγορίθμους Φροντιστήριο 7
Εισαγωγή στους Αλγορίθμους Φροντιστήριο 7 Διδάσκων Χρήστος Ζαρολιάγκης Καθηγητής Τμήμα Μηχανικών Η/Υ & Πληροφορικής Πανεπιστήμιο Πατρών Email: zaro@ceid.upatras.gr Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό
ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ
ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ Ενότητα 9: Στατιστικά Διάταξης- Στατιστικά σε Μέσο Γραμμικό Χρόνο Μαρία Σατρατζέμη Τμήμα Εφαρμοσμένης Πληροφορικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε
Εισαγωγή στους Αλγορίθμους Ενότητα 7η
Εισαγωγή στους Αλγορίθμους Ενότητα 7η Διδάσκων Χρήστος Ζαρολιάγκης Καθηγητής Τμήμα Μηχανικών Η/Υ & Πληροφορικής Πανεπιστήμιο Πατρών Email: zaro@ceid.upatras.gr Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό
Εισαγωγή στην Επιστήμη των Υπολογιστών
Εισαγωγή στην Επιστήμη των Υπολογιστών 4 ο εξάμηνο ΣΗΜΜΥ 5 η ενότητα: Γράφοι: προβλήματα και αλγόριθμοι Επιμέλεια διαφανειών: Στάθης Ζάχος, Άρης Παγουρτζής, Δημήτρης Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών
Δομημένος Προγραμματισμός
ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Δομημένος Προγραμματισμός Ενότητα: Συναρτήσεις θεωρία Δ. Ε. Μετάφας Τμ. Ηλεκτρονικών Μηχ. Τ.Ε. Άδειες Χρήσης Το παρόν εκπαιδευτικό
ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. Δομές Δεδομένων. Ιωάννης Γ. Τόλλης Τμήμα Επιστήμης Υπολογιστών Πανεπιστήμιο Κρήτης
ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Δομές Δεδομένων Ιωάννης Γ. Τόλλης Τμήμα Επιστήμης Υπολογιστών Πανεπιστήμιο Κρήτης Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού
ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ
ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ Ενότητα 8β: Ταξινόμηση-Ταξινόμηση του Shell Μαρία Σατρατζέμη Τμήμα Εφαρμοσμένης Πληροφορικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative
Εισαγωγή στους Αλγορίθμους Ενότητα 9η Άσκηση - Αλγόριθμος Prim
Εισαγωγή στους Αλγορίθμους Ενότητα 9η Άσκηση - Αλγόριθμος Prim Διδάσκων Χρήστος Ζαρολιάγκης Καθηγητής Τμήμα Μηχανικών Η/Υ & Πληροφορικής Πανεπιστήμιο Πατρών Emil: zro@ei.uptrs.r Άδειες Χρήσης Το παρόν
Θεωρία Γραφημάτων 5η Διάλεξη
Θεωρία Γραφημάτων 5η Διάλεξη Α. Συμβώνης Εθνικο Μετσοβειο Πολυτεχνειο Σχολη Εφαρμοσμενων Μαθηματικων και Φυσικων Επιστημων Τομεασ Μαθηματικων Φεβρουάριος 2016 Α. Συμβώνης (ΕΜΠ) Θεωρία Γραφημάτων 5η Διάλεξη
Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου. Θεωρία Υπολογισμού. Ενότητα 3 : Γραφήματα & Αποδείξεις. Αλέξανδρος Τζάλλας
1 Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου Θεωρία Υπολογισμού Ενότητα 3 : Γραφήματα & Αποδείξεις Αλέξανδρος Τζάλλας 2 Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου Τμήμα Μηχανικών Πληροφορικής
ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα. Συστήματα Αυτομάτου Ελέγχου. Ενότητα Α: Γραμμικά Συστήματα
ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Συστήματα Αυτομάτου Ελέγχου Ενότητα Α: Γραμμικά Συστήματα Όνομα Καθηγητή: Ραγκούση Μαρία Τμήμα: Ηλεκτρονικών Μηχανικών Τ.Ε. Άδειες
Δομές δεδομένων. Ενότητα 8: Ξένα Σύνολα που υποστηρίζουν τη λειτουργία της Ένωσης (Union-Find) Παναγιώτα Φατούρου Τμήμα Επιστήμης Υπολογιστών
ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Δομές δεδομένων Ενότητα 8: Ξένα Σύνολα που υποστηρίζουν τη λειτουργία της Ένωσης (Union-Find) Παναγιώτα Φατούρου Τμήμα Επιστήμης Υπολογιστών Ενότητα 8 Ξένα Σύνολα
ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΦΡΟΝΤΙΣΤΗΡΙΟ ΑΛΓΟΡΙΘΜΩΝ ΒΟΗΘΟΣ: ΒΑΓΓΕΛΗΣ ΔΟΥΡΟΣ
ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΦΡΟΝΤΙΣΤΗΡΙΟ ΑΛΓΟΡΙΘΜΩΝ ΒΟΗΘΟΣ: ΒΑΓΓΕΛΗΣ ΔΟΥΡΟΣ Φροντιστήριο #: Εύρεση Ελαχίστων Μονοπατιών σε Γραφήματα που Περιλαμβάνουν και Αρνητικά Βάρη: Αλγόριθμος
ΓΡΑΜΜΙΚΟΣ & ΔΙΚΤΥΑΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ
ΓΡΑΜΜΙΚΟΣ & ΔΙΚΤΥΑΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Ενότητα 23: Κλασική Ανάλυση Ευαισθησίας, Βασικές Έννοιες Γραφημάτων Σαμαράς Νικόλαος Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative
Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύ
Θεωρία Υπολογισμού Ενότητα 18: Λήμμα Άντλησης για ΓΧΣ Τμήμα Πληροφορικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που
ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ
ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ Ενότητα 3: Ασυμπτωτικός συμβολισμός Μαρία Σατρατζέμη Τμήμα Εφαρμοσμένης Πληροφορικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons.
Ελάχιστο Γεννητικό Δένδρο. Παράδειγμα - Αλγόριθμος Prim. Γιατί δουλεύουν αυτοί οι αλγόριθμοι;
Άπληστοι Αλγόριθμοι ΙΙI Αλγόριθμοι γραφημάτων Ελάχιστο Γεννητικό Δένδρο Παράδειγμα Κατασκευή δικτύων Οδικά, επικοινωνίας Έχουμε ένα συνεκτικό γράφημα (V,E) και ένας βάρος we σε κάθε ακμή e. Να βρεθεί υποσύνολο
Εισαγωγή στους Αλγορίθμους Φροντιστήριο 2
Εισαγωγή στους Αλγορίθμους Φροντιστήριο 2 Διδάσκων Χρήστος Ζαρολιάγκης Καθηγητής Τμήμα Μηχανικών Η/Υ & Πληροφορικής Πανεπιστήμιο Πατρών Email: zaro@ceid.upatras.gr Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό
Κατευθυνόμενα γραφήματα. Μαθηματικά Πληροφορικής 6ο Μάθημα. Βρόγχοι. Μη κατευθυνόμενα γραφήματα. Ορισμός
Κατευθυνόμενα γραφήματα Μαθηματικά Πληροφορικής 6ο Μάθημα Τμήμα Πληροφορικής και Τηλεπικοινωνιών Πανεπιστήμιο Αθηνών Κατευθυνόμενο γράφημα G είναι ένα ζεύγος (V, E ) όπου V πεπερασμένο σύνολο του οποίου
Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύ
Θεωρία Υπολογισμού Ενότητα 10: Ισοδυναμία ντετερμινιστικών και μη ντετερμινιστικών αυτομάτων Τμήμα Πληροφορικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για
Συντομότερα Μονοπάτια για Όλα τα Ζεύγη Κορυφών
Συντομότερα Μονοπάτια για Όλα τα Ζεύγη Κορυφών Αλγόριθμοι και πολυπλοκότητα Στάθης Ζάχος, Δημήτρης Φωτάκης Άδεια Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό
Αναζήτηση Κατά Βάθος. ιδάσκοντες: Σ. Ζάχος,. Φωτάκης Επιμέλεια διαφανειών:. Φωτάκης. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών
Αναζήτηση Κατά Βάθος ιδάσκοντες: Σ. Ζάχος,. Φωτάκης Επιμέλεια διαφανειών:. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Άδεια Χρήσης Το παρόν εκπαιδευτικό
Κατευθυνόμενα γραφήματα. Μαθηματικά Πληροφορικής 6ο Μάθημα. Βρόχοι. Μη κατευθυνόμενα γραφήματα. Ορισμός
Κατευθυνόμενα γραφήματα Μαθηματικά Πληροφορικής 6ο Μάθημα Τμήμα Πληροφορικής και Τηλεπικοινωνιών Πανεπιστήμιο Αθηνών Κατευθυνόμενο γράφημα G είναι ένα ζεύγος (V, E ) όπου V πεπερασμένο σύνολο του οποίου
Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών
Δομημένος Προγραμματισμός Ενότητα 5(γ): Εργαστηριακή Άσκηση Αναπλ. Καθηγητής: Κωνσταντίνος Στεργίου Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται
Δομές Δεδομένων και Αλγόριθμοι
Δομές Δεδομένων και Αλγόριθμοι Χρήστος Γκόγκος ΤΕΙ Ηπείρου Χειμερινό Εξάμηνο 2014-2015 Παρουσίαση 18 Dijkstra s Shortest Path Algorithm 1 / 12 Ο αλγόριθμος εύρεσης της συντομότερης διαδρομής του Dijkstra
Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ
ιάλεξη : λάχιστα εννητορικά ένδρα Αλγόριθμος Prim Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: λάχιστα εννητορικά ένδρα () Minimum Spanning Trees Ο αλγόριθμος του Prim για εύρεση σε γράφους
ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. Δομές Δεδομένων. Ιωάννης Γ. Τόλλης Τμήμα Επιστήμης Υπολογιστών Πανεπιστήμιο Κρήτης
ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Δομές Δεδομένων Ιωάννης Γ. Τόλλης Τμήμα Επιστήμης Υπολογιστών Πανεπιστήμιο Κρήτης Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού
Αλγόριθμοι και πολυπλοκότητα Ταχυταξινόμηση (Quick-Sort)
ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Αλγόριθμοι και πολυπλοκότητα Ταχυταξινόμηση (Quick-Sort) Ιωάννης Τόλλης Τμήμα Επιστήμης Υπολογιστών Ταχυταξινόμηση (Quick-Sort) 7 4 9 6 2 2 4 6 7 9 4 2 2 4 7 9 7
Στοιχεία Θεωρίας Γράφων (Graph Theory)
Στοιχεία Θεωρίας Γράφων (Graph Theory) Ε Εξάμηνο, Τμήμα Πληροφορικής & Τεχνολογίας Υπολογιστών ΤΕΙ Λαμίας plam@inf.teilam.gr, Οι διαφάνειες βασίζονται στα βιβλία:. Αλγόριθμοι, Σχεδιασμός & Ανάλυση, η έκδοση,
ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. Δομές Δεδομένων. Ιωάννης Γ. Τόλλης Τμήμα Επιστήμης Υπολογιστών Πανεπιστήμιο Κρήτης
ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Δομές Δεδομένων Ιωάννης Γ. Τόλλης Τμήμα Επιστήμης Υπολογιστών Πανεπιστήμιο Κρήτης Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού
Πρόβλημα του ελάχιστα εκτεταμένου δένδρου - Minimum spanning tree. Κηρυττόπουλος Κωνσταντίνος Επ. Καθηγητής ΕΜΠ
Πρόβλημα του ελάχιστα εκτεταμένου δένδρου - Minimum spanning tree Κηρυττόπουλος Κωνσταντίνος π. Καθηγητής ΜΠ Άδεια Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. ια εκπαιδευτικό
Network Algorithms and Complexity Παραλληλοποίηση του αλγορίθμου του Prim. Αικατερίνη Κούκιου
Network Algorithms and Complexity Παραλληλοποίηση του αλγορίθμου του Prim Αικατερίνη Κούκιου Άδεια Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό,
Κατ οίκον Εργασία 5 Σκελετοί Λύσεων
Κατ οίκον Εργασία 5 Σκελετοί Λύσεων Άσκηση 1 Χρησιμοποιούμε τις δομές: struct hashtable { struct node array[maxsize]; int maxsize; int size; struct node{ int data; int status; Στο πεδίο status σημειώνουμε
Υπολογιστικά & Διακριτά Μαθηματικά
Υπολογιστικά & Διακριτά Μαθηματικά Ενότητα 4: Διατάξεις Μεταθέσεις Συνδυασμοί Στεφανίδης Γεώργιος Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό
ΤΕΧΝΗΤΗ ΝΟΗΜΟΣΥΝΗ. Ενότητα 6: Προβλήματα ικανοποίησης περιορισμών. Ρεφανίδης Ιωάννης Τμήμα Εφαρμοσμένης Πληροφορικής
Ενότητα 6: Προβλήματα ικανοποίησης περιορισμών Ρεφανίδης Ιωάννης Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται
13/5/2015 ΟΥΡΕΣ ΠΡΟΤΕΡΑΙΟΤΗΤΑΣ. Δομές Δεδομένων. Ουρές Προτεραιότητας
ΟΥΡΕΣ ΠΡΟΤΕΡΑΙΟΤΗΤΑΣ Δομές Δεδομένων Τι θα δούμε Ουρές προτεραιότητας Πράξεις Διωνυμικές Ουρές Διωνυμικά Δέντρα Διωνυμικοί Σωροί Ουρές Fibonacci Αναπαράσταση Πράξεις Ανάλυση Συγκρίσεις Ουρές προτεραιότητας
Ουρά Προτεραιότητας: Heap
Ουρά Προτεραιότητας: Heap ιδάσκοντες: Σ. Ζάχος,. Φωτάκης Επιμέλεια διαφανειών:. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Άδεια Χρήσης Το παρόν εκπαιδευτικό
Εισαγωγή στους Αλγορίθμους Ενότητα 9η Άσκηση - Αλγόριθμος Kruskal
Εισαγωγή στους Αλγορίθμους Ενότητα 9η Άσκηση - Αλγόριθμος Kruskl Διδάσκων Χρήστος Ζαρολιάγκης Καθηγητής Τμήμα Μηχανικών Η/Υ & Πληροφορικής Πανεπιστήμιο Πατρών Emil: zro@ei.uptrs.r Άδειες Χρήσης Το παρόν
ΓΡΑΜΜΙΚΟΣ & ΔΙΚΤΥΑΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ
ΓΡΑΜΜΙΚΟΣ & ΔΙΚΤΥΑΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Ενότητα 15: Κύκλωση Δεσμοί, Κανόνες Περιστροφής Σαμαράς Νικόλαος Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό
ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ
ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ Ενότητα 8α: Ταξινόμηση-Σύγκριση αλγορίθμων ταξινόμησης Μαρία Σατρατζέμη Τμήμα Εφαρμοσμένης Πληροφορικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης
Κατευθυνόμενα γραφήματα. Μαθηματικά Πληροφορικής 6ο Μάθημα. Βρόχοι. Μη κατευθυνόμενα γραφήματα. Ορισμός
Κατευθυνόμενα γραφήματα Μαθηματικά Πληροφορικής 6ο Μάθημα Τμήμα Πληροφορικής και Τηλεπικοινωνιών Πανεπιστήμιο Αθηνών Κατευθυνόμενο γράφημα G είναι ένα ζεύγος (V, E ) όπου V πεπερασμένο σύνολο του οποίου
Θεωρία Πιθανοτήτων & Στατιστική
ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΙΚΑ ΜΑΘΗΜΑΤΑ & Στατιστική Ενότητα η : Τυχαίες Μεταβλητές, Συναρτήσεις Κατανομής Πιθανότητας. Γεώργιος Ζιούτας Τμήμα Ηλεκτρολόγων Μηχανικών & Μηχανικών
Λεξικό, Union Find. ιδάσκοντες: Σ. Ζάχος,. Φωτάκης Επιμέλεια διαφανειών:. Φωτάκης. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών
Λεξικό, Union Find ιδάσκοντες: Σ. Ζάχος,. Φωτάκης Επιμέλεια διαφανειών:. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Άδεια Χρήσης Το παρόν εκπαιδευτικό υλικό
Συντομότερες ιαδρομές
Συντομότερες ιαδρομές ιδάσκοντες: Σ. Ζάχος,. Φωτάκης Επιμέλεια διαφανειών:. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Άδεια Χρήσης Το παρόν εκπαιδευτικό
ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ
ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ Ενότητα 6α: Αναζήτηση Μαρία Σατρατζέμη Τμήμα Εφαρμοσμένης Πληροφορικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commos. Για εκπαιδευτικό
Μοντελοποίηση Λογικών Κυκλωμάτων
Μοντελοποίηση Λογικών Κυκλωμάτων Ενότητα 7: Η γλώσσα VHDL, Μοντελοποίηση, διαχείριση χρόνου Τμήμα Εφαρμοσμένης Πληροφορικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative
ΒΟΗΘΗΤΙΚΕΣ ΣΗΜΕΙΩΣΕΙΣ
Ε.Μ.Π. ΣΧΟΛΗ ΑΡΧΙΤΕΚΤΟΝΩΝ ΤΟΜΕΑΣ ΣΥΝΘΕΣΕΩΝ ΤΕΧΝΟΛΟΓΙΚΗΣ ΑΙΧΜΗΣ ΠΕΡΙΟΧΗ ΟΙΚΟΔΟΜΙΚΗΣ ntua ACADEMIC OPEN COURSES ΒΟΗΘΗΤΙΚΕΣ ΣΗΜΕΙΩΣΕΙΣ ΓΙΑ ΤΟ ΜΑΘΗΜΑ ΤΗΣ ΟΙΚΟΔΟΜΙΚΗΣ II Β. ΤΣΟΥΡΑΣ Επίκουρος Καθηγητής Άδεια
Εισαγωγή στους Αλγορίθμους
Εισαγωγή στους Αλγορίθμους Ενότητα 6 η Άσκηση - DFS δένδρα Διδάσκων Χρήστος Ζαρολιάγκης Καθηγητής Τμήμα Μηχανικών Η/Υ & Πληροφορικής Πανεπιστήμιο Πατρών Email: zaro@ceid.upatras.gr Άδειες Χρήσης Το παρόν
Λογιστικές Εφαρμογές Εργαστήριο
ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Λογιστικές Εφαρμογές Εργαστήριο Ενότητα #7: Αναλυτικό Ημερολόγιο Διαφόρων Πράξεων Μαρία Ροδοσθένους Τμήμα Λογιστικής και Χρηματοοικονομικής
Γράφοι: κατευθυνόμενοι και μη
Γράφοι: κατευθυνόμενοι και μη (V,E ) (V,E ) Γράφος (ή γράφημα): ζεύγος (V,E), V ένα μη κενό σύνολο, Ε διμελής σχέση πάνω στο V Μη κατευθυνόμενος γράφος: σχέση Ε συμμετρική V: κορυφές (vertices), κόμβοι
Πανεπιστήμιο Δυτικής Μακεδονίας. Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών. Διακριτά Μαθηματικά. Ενότητα 2: Γραφήματα
Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Διακριτά Μαθηματικά Ενότητα 2: Γραφήματα Αν. Καθηγητής Κ. Στεργίου e-mail: kstergiou@uowm.gr Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Άδειες Χρήσης
2 n N: 0, 1,..., n A n + 1 A
Θεωρία Υπολογισμού Ενότητα 5: Τεχνικές απόδειξης & Κλειστότητα Τμήμα Πληροφορικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες,
Θεωρία Γραφημάτων 5η Διάλεξη
Θεωρία Γραφημάτων 5η Διάλεξη Α. Συμβώνης Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Εφαρμοσμένων Μαθηματικών και Φυσικών Επιστημών Τομέας Μαθηματικών Φεβρουάριος 2017 Α. Συμβώνης (ΕΜΠ) Θεωρία Γραφημάτων 5η Διάλεξη
Κεφάλαιο 14 Προηγμένες Ουρές Προτεραιότητας
Κεφάλαιο 14 Προηγμένες Ουρές Προτεραιότητας Περιεχόμενα 14.1 Διωνυμικά Δένδρα... 255 14.2 Διωνυμικές Ουρές... 258 14.1.1 Εισαγωγή στοιχείου σε διωνυμική ουρά... 258 14.1.2 Διαγραφή μεγίστου από διωνυμική
ΟΥΡΕΣ ΠΡΟΤΕΡΑΙΟΤΗΤΑΣ
ΟΥΡΕΣ ΠΡΟΤΕΡΑΙΟΤΗΤΑΣ Δομές Δεδομένων Παπαγιαννόπουλος Δημήτριος 30 Μαρτίου 2017 18 Μαΐου 2017 papagianno@ceid.upatras.gr 1 Περιεχόμενα Ουρές προτεραιότητας Πράξεις Διωνυμικές Ουρές Διωνυμικά Δέντρα Διωνυμικοί
Τίτλος Μαθήματος: Θεωρία Γραφημάτων. Ενότητα: Συνεκτικότητα και Δισυνεκτικότητα. Διδάσκων: Λέκτορας Xάρης Παπαδόπουλος. Τμήμα: Μαθηματικών
Τίτλος Μαθήματος: Θεωρία Γραφημάτων Ενότητα: Συνεκτικότητα και Δισυνεκτικότητα Διδάσκων: Λέκτορας Xάρης Παπαδόπουλος Τμήμα: Μαθηματικών Θεωρία Γραφημάτων Χάρης Παπαδόπουλος 2012, Διάλεξη Κεφαλαίου 2 Περιεχόμενα
Πληροφοριακά Συστήματα & Περιβάλλον Ασκήσεις
Αριστοτέλειο Πανεπιστήμιο Θεσσαλονίκης Πληροφοριακά Συστήματα & Περιβάλλον Ασκήσεις Παναγιώτης Λεφάκης και Ζαχαρούλα Ανδρεοπούλου Τμήμα Α.Π.Θ. Θεσσαλονίκη, Οκτώβριος 2013 Άδειες Χρήσης Το παρόν εκπαιδευτικό