Δομές δεδομένων. Ενότητα 5η: Υλοποίηση Λεξικών με Ισοζυγισμένα Δένδρα Παναγιώτα Φατούρου Τμήμα Επιστήμης Υπολογιστών

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

Download "Δομές δεδομένων. Ενότητα 5η: Υλοποίηση Λεξικών με Ισοζυγισμένα Δένδρα Παναγιώτα Φατούρου Τμήμα Επιστήμης Υπολογιστών"

Transcript

1 ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Δομές δεδομένων Ενότητα 5η: Υλοποίηση Λεξικών με Ισοζυγισμένα Δένδρα Παναγιώτα Φατούρου Τμήμα Επιστήμης Υπολογιστών

2 ΕΝΟΤΗΤΑ 5 ΥΛΟΠΟΙΗΣΗ ΛΕΞΙΚΩΝ ΜΕ ΙΣΟΖΥΓΙΣΜΕΝΑ ΔΕΝΔΡΑ ΗΥ24 - Παναγιώτα Φατούρου 2

3 Ισοζυγισμένα Δένδρα Χρονική Πολυπλοκότητα αναζήτησης σε δομές που έχουν ήδη διδάχθει: Στατική Μη-Ταξινομημένη Λίστα -> Ο(n), όπου n το πλήθος των κόμβων Στατική Ταξινομημένη Λίστα -> Ο(n) Δυναμική μη-ταξινομημένη λίστα -> O(n) Δυναμική ταξινομημένη λίστα -> O(n) Γραμμική πολυπλοκότητα Μη-ταξινομημένα Δένδρα -> O(n), όπου n το πλήθος των κόμβων Ταξινομημένα Δένδρα - > O(h), όπου h το ύψος του δένδρου Τι τιμές μπορεί να πάρει το h; Αναζητούνται δομές δεδομένων για την υλοποίηση δυναμικών λεξικών που να παρουσιάζουν καλύτερη χρονική πολυπλοκότητα: π.χ., όλες οι λειτουργίες να έχουν χρονική πολυπλόκοτητα Ο(logn) ΗΥ24 - Παναγιώτα Φατούρου 3

4 Δένδρα AVL (Adel son, Vel skii & Landis) Ένα ταξινομημένο δυαδικό δένδρο Τ ονομάζεται AVL (ή ισοζυγισμένο κατ ύψος) αν και μόνο αν τα ύψη των δύο υποδένδρων κάθε κόμβου v διαφέρουν το πολύ κατά ένα. Για κάθε κόμβο v ενός δυαδικού δένδρου Τ, ορίζουμε το αριστερό ύψος του v (LeftHeight(v)) ως εξής: LeftHeight () v 1 Height( v LC) αν v->lc == NULL διαφορετικά Ομοίως, ορίζουμε το δεξιό ύψος του v (RightHeight(v)) ως εξής: αν v->rc == NULL RightHeightv () 1 Heightv ( RC) διαφορετικά Το LeftHeight(T) (RightHeight(T)) του δένδρου ισούται με το LeftHeight(R) (RightHeight(R), αντίστοιχα), όπου R είναι ο κόμβος ρίζα του Τ. ΗΥ24 - Παναγιώτα Φατούρου 4

5 Δένδρα AVL Το balance (ισοζύγιο) του κόμβου v ορίζεται ως εξής: balance(v) = RightHeight(v) LeftHeight(v). Σχήμα 7.1: Lewis & Denenberg, Data Structures & Their Algorithms, Addison-Wesley, 1991 Σε ένα δένδρο AVL, κάθε κόμβος πρέπει να έχει balance, ή -1. Πρόταση 1 Κάθε υποδένδρο ενός δένδρου AVL είναι επίσης δένδρο AVL. Θεώρημα Το ύψος h ενός δένδρου AVL με n στοιχεία είναι Ο(logn). Τι μπορούμε να συμπεράνουμε για την πολυπλοκότητα της AVLTreeLookUp()? Τα δένδρα (α), (b) και (c) είναι δένδρα AVL, ενώ τα (d) και (e) δεν είναι. ΗΥ24 - Παναγιώτα Φατούρου 5

6 Δένδρα AVL Απόδειξη Θεωρήματος Αναζητούμε ένα πάνω φράγμα στο μήκος h του μακρύτερου μονοπατιού οποιουδήποτε δένδρου AVL με n κόμβους. Έστω ένας οποιοσδήποτε ακέραιος h. Θα εστιάσουμε στο ερώτημα «Ποιος είναι ο μικρότερος ακέραιος n τ.ω. να υπάρχει ένα δένδρο AVL ύψους h με n κόμβους;» W h : σύνολο όλων των δένδρων AVL ύψους h με ελάχιστο πλήθος κόμβων. w h : πλήθος κόμβων σε οποιoδήποτε από αυτά τα δένδρα. w = 1 και w 1 = 2. Έστω ότι Τ είναι οποιοδήποτε δένδρο AVL στο W h και έστω T L και T R το αριστερό και το δεξιό υποδένδρο του Τ, αντίστοιχα. ΗΥ24 - Παναγιώτα Φατούρου 6

7 Δένδρα AVL Απόδειξη Θεωρήματος Αφού το T έχει ύψος h, είτε το T L ή το T R έχει ύψος h-1 (ας υποθέσουμε χωρίς βλάβη της γενικότητας ότι το T R έχει ύψος h-1). Το T R είναι δένδρο AVL ύψους h-1 και μάλιστα θα πρέπει να έχει το μικρότερο πλήθος κόμβων μεταξύ των δένδρων AVL ύψους h-1 (αφού στην αντίθετη περίπτωση, θα μπορούσε να αντικατασταθεί από κάποιο δένδρο AVL ύψους h-1 με λιγότερους κόμβους και να οδηγηθούμε έτσι σε ένα δένδρο AVL ύψους h με λιγότερους κόμβους από ότι το Τ, το οποίο αντιτίθεται στον ορισμό του Τ). ΗΥ24 - Παναγιώτα Φατούρου 7

8 Δένδρα AVL Απόδειξη Θεωρήματος Άρα, T R W h-1. Αφού το T είναι δένδρο AVL, το T L έχει ύψος είτε h-1 ή h-2. Εφόσον το Τ είναι δένδρο με ελάχιστο πλήθος κόμβων μεταξύ εκείνων με ύψος h, θα πρέπει να ισχύει T L W h-2. Επομένως: w h = 1 + w h-2 + w h-1 Μπορεί να αποδειχθεί (επαγωγικά) ότι w h = F h+3-1, όπου F i είναι ο i-οστός όρος της ακολουθίας Fibonacci, για τον οποίο ισχύει ότι F i > φ i / 5-1, όπου φ = (1+ 5)/2. Επομένως, n w h > φ h+3 / 5-2. Από την παραπάνω ανίσωση προκύπτει ότι h = Ο(logn). 5 ΗΥ24 - Παναγιώτα Φατούρου 8

9 Δένδρα AVL Εισαγωγή Πως μπορούμε να υλοποιήσουμε την Insert()? Που διαφέρει από την Insert() σε δυαδικό δένδρο αναζήτησης? 1η Προσπάθεια Σχεδίασης Αλγορίθμου Εισαγωγής Ακολουθώντας το γνωστό αλγόριθμο εισαγωγής σε δένδρο δυαδικής αναζήτησης, βρίσκουμε το μονοπάτι από τη ρίζα προς τον κατάλληλο κόμβο (έστω v) στον οποίο θα γίνει η εισαγωγή. Υπολογίζουμε τα νέα balances για κάθε κόμβο του μονοπατιού. Αν το balance όλων των κόμβων του μονοπατιού εξακολουθεί να είναι, ή -1, η διαδικασία εισαγωγής τερματίζει. Αν το balance κάποιου κόμβου αλλάζει σε +2 ή σε 2, θα πρέπει να ακολουθηθεί διαδικασία προσαρμογής του balance. Η διαδικασία αυτή θα έχει ως αποτέλεσμα το δένδρο να εξακολουθεί να είναι ταξινομημένο δυαδικό δένδρο με τους ίδιους κόμβους και κλειδιά, αλλά με όλους τους κόμβους να έχουν balance, 1, ή -1. ΗΥ24 - Παναγιώτα Φατούρου 9

10 Δένδρα AVL Περιστροφές Μια περιστροφή είναι μια τοπική λειτουργία σε ένα ταξινομημένο δένδρο η οποία διατηρεί την ιδιότητα της ταξινόμησης. Σχήμα 13.2: Cormen, Leiserson, Rivest & Stein, Εισαγωγή στους Αλγορίθμους, Πανεπιστημιακές Εκδόσεις Κρήτης, 26 Αριστερή Περιστροφή γύρω από έναν κόμβο x (ο οποίος έχει δεξιό θυγατρικό κόμβο y!= nill) Στρέφει τους x και y κατά αντίστροφη φορά αυτής των δεικτών του ρολογιού. Καθιστά τον y νέα ρίζα του υποδένδρου, μετατρέποντας τον x σε αριστερό παιδί του y και το αριστερό υποδένδρο του y σε δεξιό υποδένδρο του x. Σχήμα 13.3: Cormen, Leiserson, Rivest & Stein, Εισαγωγή στους Αλγορίθμους, Πανεπιστημιακές Εκδόσεις Κρήτης, 26 ΗΥ24 - Παναγιώτα Φατούρου 1

11 Δένδρα AVL Περιστροφές Procedure LeftRotate(pointer R, pointer x) { y = x->rc; // ορισμός του y /* μετατροπή αριστερού υποδένδρου y σε δεξιό υποδένδρο x */ x->rc = y->lc; if (y->lc!= NULL) y->lc->p = x; /* νέος πατρικός κόμβος του y γίνεται ο πρώην πατρικός κόμβος του x και αν δεν υπάρχει τέτοιος κόμβος, νέα ρίζα του δένδρου γίνεται το y */ y->p = x->p; if (x->p == NULL) { y-> LC = x; x->p = y; return y; } if (x == x->p->lc) // αν ο x είναι αριστερό παιδί του πατέρα του x->p->lc = y; } else x->p->rc = y; y->lc = x; // αριστερό παιδί του y γίνεται το x x->p = y; // πατέρας του x γίνεται το y Μια δεξιά περιστροφή γίνεται με συμμετρικό τρόπο. Χρονική Πολυπλοκότητα μιας περιστροφής; Ο(1) ΗΥ24 - Παναγιώτα Φατούρου 11

12 w Δένδρα AVL Εισαγωγή Ο πρώτος κόμβος στο μονοπάτι από τον εισαχθέντα κόμβο v προς τη ρίζα, του οποίου το balance ήταν ή -1 (πριν την εισαγωγή) ονομάζεται κρίσιμος κόμβος. Αν ο κόμβος αυτός αποκτά balance +2 ή -2 μετά την εισαγωγή, τότε πρέπει να γίνουν κατάλληλες ενέργειες ώστε να διορθωθεί το balance του. Διακρίνουμε περιπτώσεις ανάλογα με το είδος των δύο πρώτων ακμών του μονοπατιού από τον κρίσιμο κόμβο w προς τον εισαχθέντα κόμβο v., 3 w Σχήμα 7.4: Lewis & Denenberg, Data Structures & Their Algorithms, Addison-Wesley, ,, + 2,, , +2, Εισαγωγή 8, , +2 ΗΥ24 - Παναγιώτα Φατούρου 12 5 R, 4 6 R 7 55 T 1 T 2 R R κρίσιμος κόμβος (w),, 8 v T 3 v

13 w Δένδρα AVL Εισαγωγή Περίπτωση RR (Right-Right): Και οι δύο ακμές οδηγούν δεξιά. w R R Εκτελούμε μια αριστερή περιστροφή γύρω από τον κρίσιμο κόμβο. v Παρατήρηση: Έστω x ο πατρικός κόμβος του w και έστω ότι ο w είναι δεξιό παιδί του x. Το ύψος του w πριν την εισαγωγή και μετά την περιστροφή είναι το ίδιο (στο παράδειγμα h+2), 3 5,, + 2,, , +2, Εισαγωγή 8, , +2 ΗΥ24 - Παναγιώτα Φατούρου 13 κρίσιμος κόμβος (w) 5 R, 4 6 R 7 55,, T 1 T 2 8 v T 3

14 Δένδρα AVL Εισαγωγή Περίπτωση RR Όλοι οι κόμβοι στο μονοπάτι από τον κρίσιμο κόμβο προς τη ρίζα έχουν το ίδιο balance μετά την περιστροφή με αυτό που είχαν πριν την εισαγωγή του v στο δένδρο. x w x πριν την εισαγωγή, μετά την εισαγωγή x 5,,+2 3 κρίσιμος κόμβος πριν την εισαγωγή, 5, 11 μετά την εισαγωγή, , +2 5,,,, ,,, 55, x Εισαγωγή 8 T 1 T 2 7,, 8 v T 3 Μία περιστροφή γύρω από τον κρίσιμο κόμβο αρκεί. 3 7,,,, 9, Μετά περιστροφής T 1 15, 2, ,, T 2 7, ΗΥ24 - Παναγιώτα Φατούρου 14 8 T 3 Δεν χρειάζονται περιστροφές γύρω από κόμβους που βρίσκονται πιο ψηλά από τον κρίσιμο κόμβο στο μονοπάτι από τον v προς τη ρίζα.

15 Δένδρα AVL Εισαγωγή Περίπτωση LL Περίπτωση LL: Και οι δύο ακμές οδηγούν αριστερά. Είναι συμμετρική της περίπτωσης RR! Μία δεξιά περιστροφή γύρω από τον κρίσιμο κόμβο αρκεί για να επιλυθεί το πρόβλημα με το balance του! -1-2 C C -1 T 3 h T 3 h h h T 1 T 2 h T 1 h T 2 C T 1 T 2 h T 3 h ΗΥ24 - Παναγιώτα Φατούρου 15

16 Δένδρα AVL Εισαγωγή Περίπτωση RL Περίπτωση RL: Η πρώτη ακμή οδηγεί δεξιά και η δεύτερη αριστερά. Απαιτούνται δύο περιστροφές, μια δεξιά περιστροφή γύρω από τον επόμενο του κρίσιμου κόμβου στο μονοπάτι που οδηγεί στον v και μια αριστερή περιστροφή γύρω από τον κρίσιμο κόμβο. πριν την εισαγωγή, μετά την εισαγωγή 5,,+2 3 κρίσιμος κόμβος (Α) , +2 5,,, R, ,,, L 7 55 Εισαγωγή 58, T 1, 58 nill, T 4 Σχήμα 7.5: Lewis & Denenberg, Data Structures & Their Algorithms, Addison-Wesley, 1991 T 2 T 3 ΗΥ24 - Παναγιώτα Φατούρου 16

17 Δένδρα AVL Εισαγωγή Περίπτωση RL πριν την εισαγωγή μετά την εισαγωγή, ,,+2 3 Περιστροφή R, ,+2 3 κρίσιμος κόμβος (Α) κρίσιμος κόμβος (Α) , +2 5,,, R, ,,, L 7 55 Εισαγωγή 58, T 1, 58 nill, T Περιστροφή L 15 2, ,+2-1, 6 7, 58, T 2 T 3 πριν την εισαγωγή μετά την εισαγωγή 3 5, , 15 ύψος πριν την εισαγωγή = ύψος μετά την εισαγωγή = 2 3, 55 2,-1, ,, Ίδιες περιστροφές θα πραγματοποιούνταν αν είχαμε εισαγωγή του 53 στο αρχικό δένδρο (το οποίο θα ήταν αριστερό παιδί του 55). ΗΥ24 - Παναγιώτα Φατούρου 17

18 Δένδρα AVL Εισαγωγή Περίπτωση LR Περίπτωση LR: Η πρώτη ακμή οδηγεί αριστερά και η δεύτερη δεξιά. Είναι συμμετρική της περιπτώσεως RL. Απαιτούνται δύο περιστροφές, μια αριστερή περιστροφή γύρω από τον επόμενο του κρίσιμου κόμβου στο μονοπάτι που οδηγεί στον v και μια δεξιά περιστροφή γύρω από τον κρίσιμο κόμβο. Άσκηση για το σπίτι Φτιάξτε τα αντίστοιχα συμμετρικά σχήματα εκείνων που παρουσιάστηκαν στις δύο τελευταίες διαφάνειες και μελετήστε τις ενέργειες που πρέπει να πραγματοποιηθούν στην περίπτωση LR. ΗΥ24 - Παναγιώτα Φατούρου 18

19 Δένδρα AVL Περιστροφές κατά την Εισαγωγή Παρατήρηση Οι περιστροφές γίνονται γύρω από το πολύ δύο κόμβους στο δένδρο ανάλογα με την περίπτωση που πρέπει να εφαρμοστεί: μία περιστροφή γύρω από τον κρίσιμο κόμβο για τις περιπτώσεις LL, RR δύο περιστροφές, η πρώτη γύρω από τον επόμενο του κρίσιμου κόμβου στο μονοπάτι που ακολουθήθηκε κατά την τοποθέτηση του εισαχθέντα κόμβου και η δεύτερη γύρω από τον κρίσιμο κόμβο, για τις περιπτώσεις RL, LR ΗΥ24 - Παναγιώτα Φατούρου 19

20 Δένδρα AVL Εισαγωγή Περιπτώσεις που δεν απαιτούν περιστροφές, 11 5,, 3 κρίσιμος κόμβος 3 7,,,, 9 Εισαγωγή 38, 15,, , 5, 55, 6 7,, ,, ,,,, Σχήμα 7.3: Lewis & Denenberg, Data Structures & Their Algorithms, Addison-Wesley, 1991, 9 Εισαγωγή 9 ΗΥ24 - Παναγιώτα Φατούρου 2

21 Εισαγωγές κόμβων σε AVL δένδρο Παράδειγμα Διαδοχικές εισαγωγές των κλειδιών με τιμές 9, 71, 1, 4, 12, 5, 19, 52 και L κρίσιμος κόμβος L L -1 1 κρίσιμος κόμβος L ΗΥ24 - Παναγιώτα Φατούρου 21

22 Εισαγωγές κόμβων σε AVL δένδρο Παράδειγμα Διαδοχικές εισαγωγές των κλειδιών με τιμές 9, 71, 1, 4, 12, 5, 19, 52 και L R κρίσιμος κόμβος κρίσιμος κόμβος R R 52 κρίσιμος κόμβος ΗΥ24 - Παναγιώτα Φατούρου 22

23 Δένδρα AVL Εισαγωγή - Παρατηρήσεις Κάθε κόμβος στο μονοπάτι από τον εισαχθέντα κόμβο v μέχρι τον κρίσιμο κόμβο w είχε balance πριν την εισαγωγή. Άρα, θα έχει balance ή 1 μετά την εισαγωγή. Τι καθορίζει το αν κάποιος τέτοιος κόμβος θα έχει balance ή 1; Το αν η πρώτη ακμή στο μονοπάτι από τον κόμβο αυτό προς τον εισαχθέντα κόμβο οδηγεί αριστερά ή δεξιά. To balance του κρίσιμου κόμβου w γίνεται είτε ή +2 (ή 2, αντίστοιχα) μετά την τοποθέτηση του νέου κόμβου στην κατάλληλη θέση στο δένδρο. Γιατί; Πότε το balance γίνεται και πότε +2 (ή 2); Αν το balance ήταν (-1) και η πρώτη ακμή στο μονοπάτι από τον w στον v οδηγεί δεξιά (αριστερά, αντίστοιχα), ο w θα έχει balance +2 (-2, αντίστοιχα) μετά την τοποθέτηση του v, ενώ αν το μονοπάτι οδηγεί αριστερά (δεξιά, αντίστοιχα), τότε ο w θα έχει balance μετά την τοποθέτηση του v. ΗΥ24 - Παναγιώτα Φατούρου 23

24 Δένδρα AVL Εισαγωγή - Παρατηρήσεις Καθώς η αναζήτηση του πατρικού κόμβου του v εξελίσσεται, αρκεί να αποθηκεύεται ο τελευταίος κόμβος με balance ή -1 στο μονοπάτι που ακολουθείται. Μετά την τοποθέτηση του v στο δένδρο (και πριν τις περιστροφές), ξεκινώντας από τον κρίσιμο κόμβο w μπορεί να ακολουθηθεί και πάλι το ίδιο μονοπάτι προς τον εισερχόμενο κόμβο ώστε να διορθωθούν τα balances. Γιατί μπορούμε να βρούμε και πάλι αυτό το μονοπάτι? Ακολουθούμε την ίδια διαδικασία αναζήτησης (ξεκινώντας από τον w), δηλαδή αν το κλειδί του προς εισαγωγή κόμβου είναι μικρότερο από εκείνο του τρέχοντος ο επόμενος κόμβος στο μονοπάτι είναι στα αριστερά του τρέχοντος, ενώ διαφορετικά στα δεξιά. Πως διορθώνουμε τα balances? Έστω ένας οποιοσδήποτε κόμβος x στο μονοπάτι από τον w στον v. Ο κόμβος αυτός είχε balance. Αν η πρώτη ακμή στο μονοπάτι από τον x στον v οδηγεί αριστερά του x, τότε το balance του x γίνεται -1, διαφορετικά η νέα τιμή του balance θα είναι. ΗΥ24 - Παναγιώτα Φατούρου 24

25 Δένδρα AVL Εισαγωγή - Πολυπλοκότητα Ποια είναι η πολυπλοκότητα της AVLInsert()? Ο(ύψος δένδρου). Θεώρημα ύψος δένδρου AVL = O(logn) Χρονική Πολυπλοκότητα εισαγωγής = O(logn) ΗΥ24 - Παναγιώτα Φατούρου 25

26 Δένδρα AVL Διαγραφή Ακολουθούμε το γνωστό αλγόριθμο διαγραφής σε ταξινομημένο δένδρο: 1) Διαγραφή του ίδιου του κόμβου v αν είναι φύλλο. 2) Αντικατάστασή του από το παιδί του αν έχει μόνο ένα παιδί. 3) Αντικατάστασή του από τον επόμενό του στην ενδο-διατεταγμένη διάταξη αν έχει δύο παιδιά. Σχήμα 7.6: Lewis & Denenberg, Data Structures & Their Algorithms, Addison-Wesley, 1991 (α) Αρχικό δένδρο, (b) Διαγραφή του Β, (c) Διαγραφή του F, (d) Διαγραφή του M, (e) Διαγραφή του R Balance Αν 1) ή 2), το balance του γονικού κόμβου w του v αλλάζει. Αν 3), το balance του γονικού κόμβου w του επομένου του v στην ενδοδιατεταγμένη διάσχιση αλλάζει. ΗΥ24 - Παναγιώτα Φατούρου 26

27 Δένδρα AVL Αλγόριθμος Διαγραφής Β Α C Ε F H J 1. Εξετάζουμε όλο το μονοπάτι (ας το συμβολίσουμε με P1) από τον w ως τη ρίζα και για κάθε κόμβο του μονοπατιού αυτού που έχει balance +2 ή -2 μετά τη διαγραφή, ίσως χρειαστεί να γίνουν περιστροφές. 2. Έστω u ο πρώτος τέτοιος κόμβος στο P1. w,u Β G D Ε +2 R C R F D H G I I K J K L L ΗΥ24 - Παναγιώτα Φατούρου 27

28 Δένδρα AVL Αλγόριθμος Διαγραφής 3. Καθορίζουμε το μονοπάτι P2 με το μεγαλύτερο μήκος από τον u προς οποιοδήποτε φύλλο του υποδένδρου του και εξετάζουμε τις δύο πρώτες ακμές σε αυτό το μονοπάτι. Αν LL (ή RR) πραγματοποιούμε μια περιστροφή R (L) γύρω από τον u. Αν RL (ή LR) πραγματοποιούμε δύο περιστροφές, την πρώτη τύπου R (L) γύρω από τον επόμενο του u στο μονοπάτι P2 και τη δεύτερη τύπου L (R) γύρω από τον u. w,u Β C +2 R D R Ε F H G I J K L 4. Επαναπροσδιορίζουμε balances κόμβων στο P1 & αν εξακολουθούν να υπάρχουν κόμβοι με μη-επιτρεπτό balance σε αυτό: Θέτουμε u = πρώτος κόμβος στο P1 με μη επιτρεπτό balance; Πηγαίνουμε στο Βήμα 3; ΗΥ24 - Παναγιώτα Φατούρου 28

29 Παράδειγμα Διαγραφής που Οδηγεί σε Πολλαπλές Περιστροφές B C w,u D Β R C D R νέος u Ε Ε R F H G F R I H G I J J K K Κόμβος με μη-επιτρεπτό balance Μακρύτερο μονοπάτι από αυτόν προς οποιοδήποτε φύλλο τύπου RR μία περιστροφή τύπου L γύρω από τον κόμβο Κόμβος με μη-επιτρεπτό balance Μακρύτερο μονοπάτι από αυτόν προς οποιοδήποτε φύλλο τύπου RR μία περιστροφή τύπου L H Αν υπάρχουν περισσότερα του ενός μονοπάτια ίδιου μήκους και το μήκος αυτό είναι B D το μεγαλύτερο, μπορεί να γίνει επιλογή εκείνου του μονοπατιού που οδηγεί στις λιγότερες και πιο απλές περιστροφές! ΗΥ24 - Παναγιώτα Φατούρου 29 C E F G I J K

30 Δένδρα AVL Διαγραφή Σχήμα 5.3: I. Μανωλόπουλος, Δομές Δεδομένων, Μια προσέγγιση με την Pascal, Εκδόσεις Art of Text. R R κρίσιμος κόμβος Παράδειγμα Διαδοχική διαγραφή των κλειδιών 12, 71, 52, 1, 19, 4, και 56. Aντικατάσταση από 1 και μια αριστερή περιστροφή γύρω από το 1 ΗΥ24 - Παναγιώτα Φατούρου 3

31 Δένδρα AVL Διαγραφή - Πολυπλοκότητα Ποια είναι η πολυπλοκότητα της AVLDelete()? Ο(ύψος δένδρου) για τους ακόλουθους λόγους: Για τη διαγραφή του κόμβου το κόστος είναι Ο(ύψος δένδρου). Για κάθε κόμβο u στο P1, θα γίνει εύρεση των δύο πρώτων ακμών του μονοπατιού που καθορίζει το ύψος του u (βάσει του balance του u και του balance του επομένου του u στο μοναπάτι). Θα γίνουν Ο(ύψος δένδρου) περιστροφές και κάθε μια κοστίζει Ο(1). Τα balances αλλάζουν μόνο για τους κόμβους του P1 και τους κόμβους που «εμπλέκονται» στις περιστροφές. Θεώρημα ύψος δένδρου AVL = O(logn) Χρονική Πολυπλοκότητα = O(logn) ΗΥ24 - Παναγιώτα Φατούρου 31

32 2-3 Δένδρα Ιδέα: Το δένδρο είναι τέλεια εξισορροπημένο (όλα τα φύλλα έχουν το ίδιο βάθος) αλλά δεν είναι δυαδικό. Σε ένα 2-3 δένδρο ένας κόμβος που δεν είναι φύλλο έχει δύο παιδιά και σε αυτόν αποθηκεύεται ένα στοιχείο του συνόλου (ένας τέτοιος κόμβος λέγεται 2-κόμβος), ή έχει τρία παιδιά και σε αυτόν αποθηκεύονται δύο στοιχεία του συνόλου (τότε ο κόμβος λέγεται 3-κόμβος). Κάθε φύλλο που αποθηκεύει ένα στοιχείο του συνόλου είναι 2- κόμβος, ενώ κάθε φύλλο που αποθηκεύει δύο στοιχεία του συνόλου είναι 3-κόμβος. Σχήμα 7.7: Lewis & Denenberg, Data Structures & Their Algorithms, Addison-Wesley, 1991 Με κατάλληλη διευθέτηση κόμβων και των δύο ειδών, μπορούμε να φτιάξουμε δένδρο στο οποίο όλα τα φύλλα έχουν το ίδιο βάθος και το οποίο αποθηκεύει οποιοδήποτε επιθυμητό πλήθος κλειδιών. ΗΥ24 - Παναγιώτα Φατούρου 32

33 Ιδιότητες 2-3 Δένδρων 1. Όλα τα φύλλα έχουν το ίδιο βάθος και αποθηκεύουν 1 ή 2 στοιχεία. 2. Κάθε εσωτερικός κόμβος: είτε αποθηκεύει ένα στοιχείο και έχει δύο παιδιά, ή αποθηκεύει δύο στοιχεία και έχει τρία παιδιά. 3. Το δένδρο είναι ταξινομημένο. ΗΥ24 - Παναγιώτα Φατούρου 33

34 2-3 Δένδρα Ένα 2-3 δένδρο είναι ταξινομημένο αν για κάθε κόμβο v ισχύουν τα εξής: Αν ο v είναι 2-κόμβος, τα κλειδιά όλων των στοιχείων που βρίσκονται στο αριστερό υποδένδρο του v είναι μικρότερα από το κλειδί του v, ενώ εκείνα των στοιχείων που βρίσκονται στο δεξί υποδένδρο του v είναι μεγαλύτερα από εκείνα του v. Αν ο v είναι 3-κόμβος, το κλειδί (έστω Κ 1 ) του πρώτου στοιχείου του v είναι μικρότερο από το κλειδί (έστω K 2 ) του δεύτερου στοιχείου του v. Επίσης, τα κλειδιά όλων των στοιχείων στο πρώτο υποδένδρο του v είναι μικρότερα από K 1, τα κλειδιά όλων των στοιχείων στο δεύτερο υποδένδρο του v είναι μεταξύ του Κ 1 και του Κ 2, ενώ τα κλειδιά του τρίτου υποδένδρου του v είναι μεγαλύτερα από K 2. ΗΥ24 - Παναγιώτα Φατούρου 34

35 2-3 Δένδρα Μεταξύ όλων των 2-3 δένδρων ύψους h, ποιο είναι εκείνο με τους λιγότερους κόμβους; Εκείνο του οποίου όλοι οι εσωτερικοί κόμβοι είναι 2-κόμβοι. Ποιο είναι το ύψος αυτού του δένδρου? log 2 n Μεταξύ όλων των 2-3 δένδρων ύψους h, ποιο είναι εκείνο με τους περισσότερους κόμβους; Εκείνο του οποίου όλοι οι εσωτερικοί κόμβοι είναι 3-κόμβοι. Ποιο είναι το ύψος αυτού του δένδρου? log 3 n Πως θα υλοποιήσουμε την LookUp() σε ένα 2-3 δένδρο? Το δένδρο είναι ταξινομημένο. Το ύψος ενός 2-3 δένδρου με n κόμβους είναι Θ(logn). Πολυπλοκότητα LookUp; O(logn) ΗΥ24 - Παναγιώτα Φατούρου 35

36 2-3 Δένδρα - Εισαγωγή Σχήμα 7.8: Lewis & Denenberg, Data Structures & Their Algorithms, Addison-Wesley, Εύρεση του φύλλου w στο οποίο θα έπρεπε σύμφωνα με την ιδιότητα της ταξινόμησης να εισαχθεί το νέο στοιχείο. 2. Διατήρηση των κόμβων του μονοπατιού που ακολουθήθηκε σε στοίβα. 3. Αν το w είναι 2-κόμβος, προσθήκη του νέου στοιχείου στο w και τερματισμός. ΗΥ24 - Παναγιώτα Φατούρου 36

37 2-3 Δένδρα Εισαγωγή Μη επιτρεπτός κόμβος Μη επιτρεπτός κόμβος 4. Αν το w είναι 3-κόμβος, Παράδειγμα: Εισαγωγή Ο μετατρέπεται σε κόμβο που w Μη επιτρεπτός κόμβος πρέπει να αποθηκεύσει 3 στοιχεία το οποίο είναι μη επιτρεπτό. Αντικαθιστούμε το w με δύο 2-κόμβους, έναν που αποθηκεύει το 1ο και έναν που αποθηκεύει το 3ο στοιχείο του w και το μεσαίο στοιχείο του w μεταφέρεται στον πατρικό του κόμβο. Αν δεν υπάρχει πατρικός κόμβος πηγαίνουμε στο βήμα Αν ο πατρικός κόμβος είναι 2-κόμβος, μετατρέπεται σε 3-κόμβο και ο αλγόριθμος τερματίζει. Διαφορετικά, θέτουμε w = <πατρικός κόμβος του w> και επιστρέφουμε στο βήμα Η διαδικασία αυτή επαναλαμβάνεται μέχρι να βρούμε χώρο για το κλειδί σε κάποιο κόμβο στο μονοπάτι προς τη ρίζα ή να φτάσουμε στη ρίζα. Αν συμβεί το δεύτερο, η ρίζα χωρίζεται σε 2 κόμβους και ένας νέος κόμβος που αποτελεί τον πατρικό κόμβο αυτών των δύο κόμβων αποθηκεύει το μεσαίο στοιχείο που θα έπρεπε να αποθηκευθεί στη ρίζα. Έτσι, το ύψος του δένδρου αυξάνεται κατά 1. w ΗΥ24 - Παναγιώτα Φατούρου 37 w

38 2-3 Δένδρα - Διαγραφή Μπορεί να προκύψει το αντίστροφο πρόβλημα: μετά τη διαγραφή, κάποιος κόμβος μπορεί να έχει ένα μόνο παιδί. μη επιτρεπτός κόμβος Παράδειγμα Διαγραφή Ε ΗΥ24- Παναγιώτα Φατούρου ΗΥ24 - Παναγιώτα Φατούρου 38

39 2-3 Δένδρα - Διαγραφή 1. Αν το προς διαγραφή κλειδί Κ περιέχεται σε κόμβο φύλλο, το διαγράφουμε. Διαφορετικά, το κλειδί (έστω Κ ) που είναι επόμενο του K στην ενδο-διατεταγμένη διάσχιση περιέχεται σε φύλλο, οπότε Ν Ν αντικαθιστούμε το Κ με το Κ και διαγράφουμε το Κ. 2. Έστω Ν ο κόμβος από τον οποίο διαγράφεται το κλειδί. Αν ο Ν εξακολουθεί να έχει ένα κλειδί, ο αλγόριθμος τερματίζει. 3. Αν ο Ν είναι η ρίζα, τον διαγράφουμε. Σε αυτή την περίπτωση, ο Ν μπορεί να έχει ένα ή κανένα παιδί. Αν δεν έχει κανένα παιδί, το δένδρο μετά τη διαγραφή είναι άδειο. Διαφορετικά, το παιδί του Ν είναι η νέα ρίζα του δένδρου. S Ν S Ν Σχήμα 7.8: Lewis & Denenberg, Data Structures & Their Algorithms, Addison-Wesley, 1991 ΗΥ24 - Παναγιώτα Φατούρου 39

40 2-3 Δένδρα - Διαγραφή 3. Διαφορετικά, ο Ν έχει τουλάχιστον έναν αδελφικό κόμβο. Έστω Ν ένας οποιοσδήποτε αδελφικός κόμβος του Ν. Έστω P ο πατέρας των Ν, Ν και έστω ότι S είναι το κλειδί του P που χωρίζει τα δύο υπο-δένδρα (που οδηγούν από τον P στους Ν και Ν ). a. Ο Ν είναι 3-κόμβος ακριβώς στα αριστερά (ακριβώς στα δεξιά) του Ν. Μετακινούμε το S στο Ν και αντικαθιστούμε το S στον πατέρα του με το δεξιότερο (αριστερότερο) κλειδί του Ν. Αν οι Ν και Ν είναι εσωτερικοί κόμβοι, μετατρέπουμε το δεξιότερο (αριστερότερο) υποδένδρο του Ν σε αριστερότερο (δεξιότερο) υποδένδρο του Ν. Οι Ν, Ν έχουν πλέον ένα κλειδί ο καθένας και ο αλγόριθμος τερματίζει. b. Ο Ν είναι 2-κόμβος. Συνενώνουμε το S και το κλειδί του Ν σε έναν νέο 3-κόμβο, ο οποίος αντικαθιστά τους Ν, Ν και απoτελεί το μοναδικό παιδί του P (ο οποίος απομένει τώρα χωρίς κλειδί). Θέτουμε Ν = P και επαναλαμβάνουμε από το βήμα 3. S Ν Ν Ν S ΗΥ24 - Παναγιώτα Φατούρου 4 Ν

41 2-3 Δένδρα - Διαγραφή Ένα ακόμη παράδειγμα S N S N N H L B,D J M N N H L B,D J M Πολυπλοκότητα Insert(); Πολυπλοκότητα Delete(); Πολυπλοκότητα LookUp(); Ο(logn) Ο(logn) Ο(logn) ΗΥ24 - Παναγιώτα Φατούρου 41

42 Κοκκινόμαυρα Δένδρα Σχήμα 13.1(α): Cormen, Leiserson, Rivest & Stein, Εισαγωγή στους Αλγορίθμους, Πανεπιστημιακές Εκδόσεις Κρήτης, 26 Ένα κοκκινόμαυρο δένδρο είναι ένα ταξινομημένο δυαδικό δένδρο, στο οποίο κάθε κόμβος περιέχει ένα επιπλέον στοιχείο πληροφορίας, το χρώμα του, το οποίο μπορεί να είναι είτε μαύρο ή κόκκινο. Αν κάποιο παιδί κάποιου κόμβου δεν υφίσταται, ο αντίστοιχος δείκτης είναι nill. Θεωρούμε ότι δείκτες με τιμή nill είναι δείκτες προς εξωτερικούς κόμβους (φύλλα) του δυαδικού δένδρου, ενώ οι συνήθεις κόμβοι που αποθηκεύουν κλειδιά αποτελούν τους εσωτερικούς κόμβους του δένδρου. ΗΥ24 - Παναγιώτα Φατούρου 42

43 Ιδιότητες Κοκκινόμαυρων Δένδρων 1. Κάθε κόμβος έχει είτε κόκκινο είτε μαύρο χρώμα. 2. Το χρώμα της ρίζας είναι πάντα μαύρο. 3. Κάθε NILL κόμβος έχει μαύρο χρώμα. 4. Αν ένας κόμβος έχει κόκκινο χρώμα, τότε και τα δύο παιδιά του έχουν μαύρο χρώμα. 5. Κάθε μονοπάτι από οποιονδήποτε κόμβο προς οποιοδήποτε εξωτερικό κόμβο φύλλο που είναι απόγονός του περιέχει το ίδιο πλήθος μαύρων κόμβων. ΗΥ24 - Παναγιώτα Φατούρου 43

44 Ύψος Κοκκινόμαυρου Δένδρου Μαύρο ύψος bh(v) κόμβου v Πλήθος μαύρων κόμβων σε κάθε μονοπάτι από τον κόμβο v σε οποιοδήποτε εξωτερικό κόμβο nill του υποδένδρου του, χωρίς να συμπεριλαμβάνουμε τον v. Πρόταση: Ένα κόκκινο μαύρο δένδρο με n εσωτερικούςκόμβους έχει ύψος το πολύ 2log(n). Διαίσθηση: Τουλάχιστον οι μισοί κόμβοι σε κάθε μονοπάτι από τη ρίζα σε φύλλο είναι μαύροι. Γιατί; ΗΥ24 - Παναγιώτα Φατούρου 44

45 Ύψος Κοκκινόμαυρου Δένδρου Απόδειξη Αποδεικνύουμε επαγωγικά ότι το υπο-δένδρο με ρίζα κάποιο κόμβο v περιέχει τουλάχιστον 2 bh(v) -1 εσωτερικούς κόμβους (η επαγωγή ως προς το ύψος του v). Βάση επαγωγής: αν ο v έχει ύψος τότε είναι φύλλο (δηλαδή εξωτερικός κόμβος), οπότε ο αριθμός των εσωτερικών κόμβων στο υποδένδρο που εκφύεται από τον v είναι, όπως απαιτείται. Επαγωγική Υπόθεση: Δοθέντος ενός οποιουδήποτε κόμβου v, υποθέτουμε ότι ο ισχυρισμός ισχύει για τα παιδιά του v. ΗΥ24 - Παναγιώτα Φατούρου 45

46 Ύψος Κοκκινόμαυρου Δένδρου Απόδειξη (συνέχεια) Επαγωγικό Βήμα: Αποδεικνύουμε τον ισχυρισμό για τον κόμβο v. Έστω w ένα οποιοδήποτε παιδί του v. Τότε, bh(w) bh(v) 1 (αν ο w είναι κόκκινος τότε bh(w) = bh(v), ενώ αν ο w είναι μαύρος τότε bh(w) bh(v) -1). Αφού το ύψος του w είναι πιο μικρό από εκείνο του v, από επαγωγική υπόθεση, το υποδένδρο που εκφύεται από τον w έχει 2 bh(w) -1 2 bh(v)-1-1 εσωτερικούς κόμβους. Άρα, το υποδένδρο που εκφύεται από τον v έχει τουλάχιστον 2* (2 bh(v)-1-1 ) + 1 = 2 bh(v) -1 εσωτερικούς κόμβους, όπως απαιτείται. Άρα, το υπο-δένδρο που εκφύεται από οποιονδήποτε κόμβο v περιέχει τουλάχιστον 2 bh(v) -1 εσωτερικούς κόμβους. (1) Έστω h το ύψος του δένδρου και r η ρίζα. Είναι bh(r) h/2, αφού βάσει της ιδιότητας 4, σε οποιοδήποτε μονοπάτι από τη ρίζα προς οποιονδήποτε εξωτερικό κόμβο, τουλάχιστον οι μισοί κόμβο (εξαιρουμένης της ίδιας της ρίζας) θα πρέπει να είναι μαύροι. Πως υλοποιείται η LookUp(); Άρα, από (1), n 2 h/2-1 h 2log(n). Ποια είναι η πολυπλοκότητα της; ΗΥ24 - Παναγιώτα Φατούρου 46

47 Κοκκινόμαυρα Δένδρα - Εισαγωγή Αλγόριθμος Εισαγωγή του νέου στοιχείου με τον ίδιο τρόπο όπως σε ταξινομημένο δυαδικό δένδρο. Το μονοπάτι που ακολουθείται για την εισαγωγή του νέου κόμβου αποθηκεύεται σε στοίβα. Ο νέος κόμβος χαρακτηρίζεται κόκκινος. Αν οι ιδιότητες χρωματισμού εξακολουθούν να ισχύουν, ο αλγόριθμοςτερματίζεται. Διαφορετικά, εκτελούνται ενέργειες που αποσκοπούν στην αποκατάσταση των ιδιοτήτων του δένδρου (οι οποίες περιγράφονται στη συνέχεια). Για να απαιτείται η εκτέλεση ενεργειών αποκατάστασης του δένδρου θα πρέπει: Ο πατρικός κόμβος του νέο-εισαχθέντα κόμβου να είναι κόκκινος. Γιατί; Ο πατρικός αυτός κόμβος δεν μπορεί να είναι η ρίζα. Ο παππούς του νέο-εισαχθέντα κόμβου να είναι μαύρος. Γιατί; ΗΥ24 - Παναγιώτα Φατούρου 47

48 Κοκκινόμαυρα Δένδρα - Εισαγωγή Περιγραφή Ενεργειών Αποκατάστασης Υποθέτουμε ότι ο πατέρας του x είναι αριστερό παιδί του παππού του x (η αντίθετη περίπτωση είναι συμμετρική). Αν ο x και ο πατέρας του x είναι κόκκινοι, απαιτούνται ενέργειες αποκατάστασης. Περίπτωση 1: Ο αδελφικός κόμβος y του πατέρα του x είναι κόκκινος. Τότε, αλλάζουμε το χρώμα του πατέρα του x και του αδελφικού του κόμβου y σε μαύρο και το χρώμα του παππού του x σε κόκκινο. Εκτελούμε την εντολή x = παππούς του x. Επαναλαμβάνουμε ξεκινώντας από το Βήμα 1. Σχήμα 13.5: Cormen, Leiserson, Rivest & Stein, Εισαγωγή στους Αλγορίθμους, Πανεπιστημιακές Εκδόσεις Κρήτης, 26 ΗΥ24 - Παναγιώτα Φατούρου 48

49 Κοκκινόμαυρα Δένδρα - Εισαγωγή Περιγραφή Ενεργειών Αποκατάστασης (συνέχεια) Περίπτωση 2: Ο y (αδελφικός κόμβος του πατέρα του x) είναι μαύρος και ο x είναι δεξί παιδί του πατέρα του. Ανάγουμε την περίπτωση αυτή στην περίπτωση 3 με την εκτέλεση μιας αριστερής περιστροφής γύρω από τον πατέρα του x. (Η περίπτωση που ο x είναι αριστερό παιδί του πατέρα του είναι συμμετρική). Περίπτωση 3: Ο x είναι αριστερό παιδί του πατέρα του. Το χρώμα του πατέρα του x αλλάζει σε μαύρο και του παππού σε κόκκινο. Εκτελείται μια δεξιά περιστροφή γύρω από τον παππού του x. Σχήμα 13.6: Cormen, Leiserson, Rivest & Stein, Εισαγωγή στους Αλγορίθμους, Πανεπιστημιακές Εκδόσεις Κρήτης, 26 ΗΥ24 - Παναγιώτα Φατούρου 49

50 Κοκκινόμαυρα Δένδρα Εισαγωγή Κάποιες από τις Συμμετρικές Περιπτώσεις νέο x y y x y y νέο x x Περίπτωση 1: Ο αδελφικός κόμβος y του πατρικού κόμβου του x είναι κόκκινος. (Συμμετρική περίπτωση που ο πατρικός κόμβος του x είναι δεξιό παιδί του παππού του x.) ΗΥ24 - Παναγιώτα Φατούρου 5

51 Κοκκινόμαυρα Δένδρα Εισαγωγή Κάποιες από τις Συμμετρικές Περιπτώσεις a Περίπτωση 2 a Περίπτωση 3 x δ β x a β γ δ β γ γ δ Περίπτωση 2: Ο y (αδελφικός κόμβος του πατέρα του x) είναι μαύρος και ο x είναι αριστερό παιδί του πατέρα του. Ανάγουμε την περίπτωση αυτή στην περίπτωση 3 με την εκτέλεση μιας δεξιάς περιστροφής. Περίπτωση 3: Ο x είναι δεξιό παιδί του πατέρα του. Το χρώμα του πατέρα του x αλλάζει σε μαύρο και του παππού σε κόκκινο. Εκτελείται μια αριστερή περιστροφή. ΗΥ24 - Παναγιώτα Φατούρου 51

52 Κοκκινόμαυρα Δένδρα Εισαγωγή - Ψευδοκώδικας RedBlackTree-Insert(pointer R, Key k) { /* Ο R είναι δείκτης στη ρίζα του δένδρου και το K είναι το προς-εισαγωγή κλειδί. Θεωρώ ότι το δένδρο είναι διπλά συνδεδεμένο */ } y = nill; z = R; while (z!= null) { // έχω αγνοήσει τους ελέγχους για το αν το κλειδί K βρίσκεται ήδη στο δένδρο y = z; // οι οποίοι χρειάζονται if (K < z->key) z = z->lc; else z = z->rc; } x = newcell(); x->key = K; x->lc = x->rc = null; x->color = RED; x->p = y; if (y == null) (κάνε το x ρίζα του δένδρου); else if (x->key < y->key) y->lc = x; // τοποθέτηση του x ως else y->rc = x; ColorPropertiesInsert(R,x) // κατάλληλου παιδιού του y ΗΥ24 - Παναγιώτα Φατούρου 52

53 (1) Κοκκινόμαυρα Δένδρα Εισαγωγή ColorPropertiesInsert(pointer R, pointer x) { while (x->p->color == RED) { //αν το χρώμα του πατέρα του x είναι επίσης κόκκινο if (x->p == x->p->p->lc) { // αν o πατέρας του x είναι αριστερό παιδί του παππού του x y = x->p->p->rc; // o y είναι ο αδελφικός κόμβος του πατέρα του x if (y->color == RED) { x->p->color = BLACK; // πατέρας και αδελφικός κόμβος πατέρα y->color = BLACK; // γίνονται και οι δυο μαύροι x->p->p->color = RED; // ο παππούς γίνεται κόκκινος x = x->p->p; // (νέο x = παππούς x); και επαναλαμβάνουμε } else { if (x == x->p->rc) { // o x είναι δεξιό παιδί του πατέρα του Περίπτωση 2 x = x->p; // ο πατέρας του x θα παίξει το ρόλο του x (δείτε σχήματα) LeftRotate(R, x); // αριστερή περιστροφή γύρω από τον πατέρα του x } x->p->color = BLACK; x->p->p->color = RED; RightRotate(R, x->p->p); } } else ( (1) με εναλλαγή του LC με RC και το αντίστροφο, καθώς και του LeftRotate με RightRotate και το αντίστροφο); } } ΗΥ24 - Παναγιώτα Φατούρου 53

54 Κοκκινόμαυρα Δένδρα Εισαγωγή Παράδειγμα Ποια είναι η χρονική πολυπλοκότητα της RBInsert()? Σχήμα 13.4: Cormen, Leiserson, Rivest & Stein, Εισαγωγή στους Αλγορίθμους, Πανεπιστημιακές Εκδόσεις Κρήτης, 26 ΗΥ24 - Παναγιώτα Φατούρου 54

55 Κοκκινόμαυρα Δένδρα Διαγραφή Η διαγραφή γίνεται με παρόμοιο τρόπο όπως σε ταξινομημένο δυαδικό δένδρο και στη συνέχεια ελέγχεται αν οι ιδιότητες των κοκκινόμαυρων δένδρων ισχύουν ή όχι και γίνονται κατάλληλες ενέργειες αν απαιτούνται. Έστω y ο κόμβος που θα διαγραφεί από το δένδρο. Αν το χρώμα του y είναι κόκκινο, ο y διαγράφεται και ο αλγόριθμος τερματίζει. Γιατί δεν προκύπτει πρόβλημα με τις ιδιότητες χρωματισμού του δένδρου σε αυτή την περίπτωση? Δεν υπάρχουν κόμβοι των οποίων το μαύρο ύψος να έχει μεταβληθεί στο δένδρο Δεν έχει πραγματοποιηθεί καμία απευθείας σύνδεση μεταξύ δύο κόκκινων κόμβων Δεδομένου ότι, αν ο y ήταν κόκκινος, δεν μπορεί να είναι ο ριζικός κόμβος, ο ριζικός κόμβος παραμένει μαύρος. ΗΥ24 - Παναγιώτα Φατούρου 55

56 Κοκκινόμαυρα Δένδρα Διαγραφή Αν το χρώμα του y είναι μαύρο, η διαγραφή του μπορεί να δημιουργήσει τα εξής προβλήματα: Αν ο y ήταν ο ριζικός κόμβος και τεθεί ως νέος ριζικός κάποιος κόκκινος κόμβος, έχει παραβιαστεί η ιδιότητα 2. Αν ο μοναδικός θυγατρικός κόμβος x του y και ο πατρικός κόμβος p του y ήταν και οι δυο κόκκινοι, έχει παραβιαστεί η ιδιότητα 4. Λόγω της διαγραφής του y, όλα τα μονοπάτια που περιείχαν τον y (πριν τη διαγραφή) έχουν ένα μαύρο κόμβο λιγότερο (μετά τη διαγραφή) μετά τη διαγραφή, όλοι οι πρόγονοι του y στο δένδρο παραβιάζουν την ιδιότητα 5. ΗΥ24 - Παναγιώτα Φατούρου 56

57 Κοκκινόμαυρα Δένδρα Διαγραφή Υποθέτουμε ότι η μαύρη ιδιότητα του y μεταφέρεται στο παιδί του (έστω x), το οποίο αν είναι μαύρο γίνεται διπλά μαύρο (που είναι μη επιτρεπτό). Φανταζόμαστε πως κάθε κόμβος έχει ένα και μοναδικό κουπόνι που καθορίζει το χρώμα του (μαύρο ή κόκκινο). Τότε, ένας διπλά-μαύρος κόμβος είναι σαν να έχει δύο κουπόνια με μαύρο χρώμα. Αυτό είναι μη επιτρεπτό και ο κόμβος πρέπει να απαλλαγεί από το επιπρόσθετο μαύρο κουπόνι. Προκειμένου να επιτευχθεί αυτό, το επιπρόσθετο μαύρο κουπόνι μεταφέρεται προς τα πάνω (ακολουθώντας το μονοπάτι από τον κόμβο προς τη ρίζα) μέχρι είτε: να φθάσουμε στη ρίζα, ή να βρούμε έναν κόκκινο κόμβο που τον επαναχρωματίζουμε μαύρο και ο αλγόριθμος τερματίζει, ή να μπορούν να εκτελεστούν κατάλληλες περιστροφές και επαναχρωματισμοί κάποιων κόμβων ώστε να επιλυθεί το πρόβλημα. ΗΥ24 - Παναγιώτα Φατούρου 57

58 Κοκκινόμαυρα Δένδρα Διαγραφή Θεωρώ ότι το δένδρο υλοποιείται με κόμβο φρουρό. Έτσι, όλοι οι nill δείκτες δείχνουν στον κόμβο φρουρό. (Αυτό εξυπηρετεί στη μείωση των ελέγχων που απαιτούνται στον κώδικα που θα παρουσιαστεί σε επόμενες διαφάνειες). Σχήμα 13.1: Cormen, Leiserson, Rivest & Stein, Εισαγωγή στους Αλγορίθμους, Πανεπιστημιακές Εκδόσεις Κρήτης, 26 ΗΥ24 - Παναγιώτα Φατούρου 58

59 Κοκκινόμαυρα Δένδρα- Διαγραφή p Έστω x το παιδί του κόμβου που διαγράφεται, w ο αδελφικός κόμβος και p ο πατέρας του x. Αν ο x είναι διπλά μαύρος, ο w δεν μπορεί να είναι ο κόμβος φρουρός. Γιατί; Υποθέτουμε ότι ο x είναι αριστερό παιδί του πατρικού του κόμβου (η αντίθετη περίπτωση είναι συμμετρική) Διακρίνουμε περιπτώσεις ως προς το χρώμα του w. Σχήμα 13.7: Cormen, Leiserson, Rivest & Stein, Εισαγωγή στους Αλγορίθμους, Πανεπιστημιακές Εκδόσεις Κρήτης, 26 ΗΥ24 - Παναγιώτα Φατούρου 59

60 Κοκκινόμαυρα Δένδρα - Διαγραφή p Βασική Ιδέα Σε όλες τις περιπτώσεις, ο μετασχηματισμός διατηρεί το πλήθος των μαύρων κόμβων (συμπεριλαμβανομένου και του extra μαύρου κουπονιού του x) από τον ριζικό κόμβο του εικονιζόμενου υποδένδρου (συμπεριλαμβανομένου του ριζικού) μέχρι καθένα από τα υποδένδρα α,β,γ,δ,ε και ζ. ΗΥ24 - Παναγιώτα Φατούρου 6

61 1. Περίπτωση 1: Ο w είναι κόκκινος. Αλλάζουμε το χρώμα του w σε μαύρο και του p σε κόκκινο και εκτελούμε μια αριστερή περιστροφή γύρω από τον πατέρα του x. Έτσι, μεταπίπτουμε στην περίπτωση 2, 3, ή 4. Κοκκινόμαυρα Δένδρα - Διαγραφή p Περίπτωση 2: Ο w είναι μαύρος κόμβος και τα δύο παιδιά του w είναι μαύρα. Αλλάζουμε το χρώμα του w σε κόκκινο, του x σε μαύρο (από διπλά μαύρο) και μεταφέρουμε το μαύρο που αφαιρέσαμε από τους w, x στον p. Αν ο p ήταν κόκκινος γίνεται μαύρος και ο αλγόριθμος τερματίζει. Διαφορετικά, ο p γίνεται διπλά μαύρος και ο αλγόριθμος επαναλαμβάνεται με x = p. ΗΥ24 - Παναγιώτα Φατούρου 61

62 3.Περίπτωση 3: Το w->lc είναι κόκκινο και το w->rc μαύρο. Αλλάζω το χρώμα του w σε κόκκινο και του w->lc σε μαύρο και εκτελώ μια περιστροφή γύρω από το w Μεταπίπτουμε στην περίπτωση 4 4. Περίπτωση 4: Το w->rc είναι κόκκινο. Αλλάζω το χρώμα του w->rc σε μαύρο, του w σε ότι ήταν το χρώμα του p και του p σε μαύρο και εκτελώ μια περιστροφή γύρω από τον p. Ο αλγόριθμος τερματίζει. Κοκκινόμαυρα Δένδρα - Διαγραφή p ΗΥ24 - Παναγιώτα Φατούρου 62

63 Κοκκινόμαυρα Δένδρα Διαγραφή - Ψευδοκώδικας RedBlack-Delete(pointer R, pointer z) { if (z->rc == NULL OR z->lc == NULL) y = z; else y = TreeSuccessor(R,z); if (y->lc!= NULL) x = y->lc; // ο x δείχνει στο μοναδικό παιδί του y else x = y->rc; x->p = y->p; if (y->p == NULL) (κάνε το x ρίζα του δένδρου); else if (y == y->p->lc) y->p->lc = x; else y->p->rc = x; if (y!= z) { z->key = y->key; // αντιγραφή όλων των πεδίων δεδομένων (αντιγραφή των υπολοίπων πεδίων δεδομένων του y στο z); } if (y->color == BLACK) ColorPropertiesDelete(R,x); } return y; // αν ο z έχει ένα ή κανένα παιδί, διαγράφεται ο ίδιος ο z // διαφορετικά, διαγράφεται ο επόμενος κόμβος στην ενδ/γμένη διάσχιση // αν ο y είναι αριστερό παιδί του πατέρα του // αν ο προς διαγραφή κόμβος είναι ο επόμενος στην ενδ/γμένη διάσχιση // αν η διαγραφή αφορούσε κόμβο με χρώμα μαύρο, εκτέλεση κατάλληλων // ενεργειών για την επαναφορά των ιδιοτήτων χρωματισμού του δένδρου ΗΥ24 - Παναγιώτα Φατούρου 63

64 Κοκκινόμαυρα Δένδρα Διαγραφή - Ψευδοκώδικας ColorPropertiesDelete(pointer R, pointer x) { while (x!= R AND x->color == BLACK) { if (x == x->p->lc) { // αν ο x είναι αριστερό παιδί (2) w = x->p->rc; if (w->color == RED) { w->color = BLACK; // Περίπτωση 1 x->p->color = RED; // Περίπτωση 1 LeftRotation(R, x->p); // Περίπτωση 1 w = x->p->rc; // Περίπτωση 1 // αν αδελφικός του x κόκκινος } if (w->lc->color == BLACK AND w->rc->color == BLACK) { // αν και τα δύο παιδιά του w είναι μαύρα w->color = RED; // Περίπτωση 2 x = x->p; // Περίπτωση 2 } else { if (w->rc->color == BLACK) { // αν δεξιό παιδί του x μαύρο w->lc->color = BLACK; // Περίπτωση 3 w->color = RED; // Περίπτωση 3 RightRotation(R,w); // Περίπτωση 3 w = x->p->rc; // Περίπτωση 3 } w->color = x->p->color; // Περίπτωση 4 x->p->color = BLACK; // Περίπτωση 4 } w->rc->color = BLACK;//Περίπτωση 4 LeftRotation(R, x->p);//περίπτωση 4 x = R; // Περίπτωση 4 } /* else */ } /* if */ else (ίδια με (2) με εναλλαγή του LC με RC και το αντίστροφο, καθώς και του LeftRotate με RightRotate και το αντίστροφο); } x->color = BLACK; Ποια είναι η χρονική πολυπλοκότητα της RBDelete()? ΗΥ24 - Παναγιώτα Φατούρου 64

65 Αναφορές Το υλικό της ενότητας αυτής περιέχεται στα ακόλουθα βιβλία: Harry Lewis and Larry Denenberg, Data Structures and Their Algorithms, Harper Collins Publishers, Inc., New York, 1991 Chapter 7: Tree Structures for Dynamic Dictionaries Cormen, Leiserson, Rivest & Stein, Εισαγωγή στους Αλγορίθμους, Πανεπιστημιακές Εκδόσεις Κρήτης, 26. Κεφάλαιο 13: Μελανέρυθρα Δένδρα Ι. Μανωλόπουλος, Δομές Δεδομένων, Μια προσέγγιση με την Pascal, Εκδόσεις Art of Text. Κεφάλαιο 5: Ισοζυγισμένα Δένδρα ΗΥ24 - Παναγιώτα Φατούρου 65

66 Τέλος Ενότητας

67 Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού έργου του διδάσκοντα. Το έργο «Ανοικτά Ακαδημαϊκά Μαθήματα στο Πανεπιστήμιο Κρήτης» έχει χρηματοδοτήσει μόνο τη αναδιαμόρφωση του εκπαιδευτικού υλικού. Το έργο υλοποιείται στο πλαίσιο του Επιχειρησιακού Προγράμματος «Εκπαίδευση και Δια Βίου Μάθηση» και συγχρηματοδοτείται από την Ευρωπαϊκή Ένωση (Ευρωπαϊκό Κοινωνικό Ταμείο) και από εθνικούς πόρους.

68 Σημειώματα

69 Σημείωμα αδειοδότησης Το παρόν υλικό διατίθεται με τους όρους της άδειας χρήσης Creative Commons Αναφορά Δημιουργού - Μη Εμπορική Χρήση - Παρόμοια Διανομή 4. [1] ή μεταγενέστερη, Διεθνής Έκδοση. Εξαιρούνται τα αυτοτελή έργα τρίτων π.χ. φωτογραφίες, διαγράμματα κ.λ.π., τα οποία εμπεριέχονται σε αυτό και τα οποία αναφέρονται μαζί με τους όρους χρήσης τους στο «Σημείωμα Χρήσης Έργων Τρίτων». [1] Ως Μη Εμπορική ορίζεται η χρήση: που δεν περιλαμβάνει άμεσο ή έμμεσο οικονομικό όφελος από την χρήση του έργου, για το διανομέα του έργου και αδειοδόχο που δεν περιλαμβάνει οικονομική συναλλαγή ως προϋπόθεση για τη χρήση ή πρόσβαση στο έργο που δεν προσπορίζει στο διανομέα του έργου και αδειοδόχο έμμεσο οικονομικό όφελος (π.χ. διαφημίσεις) από την προβολή του έργου σε διαδικτυακό τόπο Ο δικαιούχος μπορεί να παρέχει στον αδειοδόχο ξεχωριστή άδεια να χρησιμοποιεί το έργο για εμπορική χρήση, εφόσον αυτό του ζητηθεί..

70 Σημείωμα Αναφοράς Copyright Πανεπιστήμιο Κρήτης, Παναγιώτα Φατούρου. «Δομές δεδομένων. Ενότητα 5η: Υλοποίηση Λεξικών με Ισοζυγισμένα Δένδρα». Έκδοση: 1.. Ηράκλειο/Ρέθυμνο 213. Διαθέσιμο από τη δικτυακή διεύθυνση:

ΗΥ240 - Παναγιώτα Φατούρου 2

ΗΥ240 - Παναγιώτα Φατούρου 2 ΕΝΟΤΗΤΑ ΥΛΟΠΟΙΗΣΗ ΛΕΞΙΚΩΝ ΜΕ ΙΣΟΖΥΓΙΣΜΕΝΑ ΕΝ ΡΑ ΗΥ24 - Παναγιώτα Φατούρου 1 Ισοζυγισµένα ένδρα Χρονική Πολυπλοκότητα αναζήτησης σε δοµές που έχουν ήδη διδάχθει: Στατική Μη-Ταξινοµηµένη Λίστα -> Ο(n), όπου

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

Δομές δεδομένων. Ενότητα 8: Ξένα Σύνολα που υποστηρίζουν τη λειτουργία της Ένωσης (Union-Find) Παναγιώτα Φατούρου Τμήμα Επιστήμης Υπολογιστών

Δομές δεδομένων. Ενότητα 8: Ξένα Σύνολα που υποστηρίζουν τη λειτουργία της Ένωσης (Union-Find) Παναγιώτα Φατούρου Τμήμα Επιστήμης Υπολογιστών ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Δομές δεδομένων Ενότητα 8: Ξένα Σύνολα που υποστηρίζουν τη λειτουργία της Ένωσης (Union-Find) Παναγιώτα Φατούρου Τμήμα Επιστήμης Υπολογιστών Ενότητα 8 Ξένα Σύνολα

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

h/2. Άρα, n 2 h/2-1 h 2log(n+1). Πως υλοποιούµε τη LookUp()? Πολυπλοκότητα?

h/2. Άρα, n 2 h/2-1 h 2log(n+1). Πως υλοποιούµε τη LookUp()? Πολυπλοκότητα? Κόκκινα-Μαύρα ένδρα (Red-Black Trees) Ένα κόκκινο-µαύρο δένδρο είναι ένα δυαδικό δένδρο αναζήτησης στο οποίο οι κόµβοι µπορούν να χαρακτηρίζονται από ένα εκ των δύο χρωµάτων: µαύρο-κόκκινο. Το χρώµα της

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

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

Ενότητα 9 Ξένα Σύνολα που υποστηρίζουν τη λειτουργία της Ένωσης (Union-Find) Ενότητα 9 (Union-Find) ΗΥ240 - Παναγιώτα Φατούρου 1 Έστω ότι S 1,, S k είναι ξένα υποσύνολα ενός συνόλου U, δηλαδή ισχύει ότι S i S j =, για κάθε i,j µε i j και S 1 S k = U. Λειτουργίες q MakeSet(X): επιστρέφει

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

Ισορροπημένα Δένδρα. για κάθε λειτουργία; Ισορροπημένο δένδρο : Διατηρεί ύψος κάθε εισαγωγή ή διαγραφή

Ισορροπημένα Δένδρα. για κάθε λειτουργία; Ισορροπημένο δένδρο : Διατηρεί ύψος κάθε εισαγωγή ή διαγραφή Ισορροπημένα Δένδρα Μπορούμε να επιτύχουμε για κάθε λειτουργία; χρόνο εκτέλεσης Ισορροπημένο δένδρο : Διατηρεί ύψος κάθε εισαγωγή ή διαγραφή μετά από Περιστροφές x αριστερή περιστροφή από το x y α β y

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

Ενότητα 7 Ουρές Προτεραιότητας

Ενότητα 7 Ουρές Προτεραιότητας Ενότητα 7 Ουρές Προτεραιότητας ΗΥ240 - Παναγιώτα Φατούρου Ουρές Προτεραιότητας Θεωρούµε ένα χώρο κλειδιών U και έστω ότι µε κάθε κλειδί Κ (τύπου Key) έχει συσχετισθεί κάποια πληροφορία Ι (τύπου Type).

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

Αλγόριθμοι και πολυπλοκότητα Μελανέρυθρα δεντρα

Αλγόριθμοι και πολυπλοκότητα Μελανέρυθρα δεντρα ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Αλγόριθμοι και πολυπλοκότητα Μελανέρυθρα δεντρα Ιωάννης Τόλλης Τμήμα Επιστήμης Υπολογιστών Μελανέρυθρα δεντρα v 3 8 z Red-Black Trees 1 Περιγραφή και Διαβασμα Από

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

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

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

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

ΕΝΟΤΗΤΑ 5 ΥΝΑΜΙΚΑ ΛΕΞΙΚΑ ΙΣΟΖΥΓΙΣΜΕΝΑ ΕΝ ΡΑ

ΕΝΟΤΗΤΑ 5 ΥΝΑΜΙΚΑ ΛΕΞΙΚΑ ΙΣΟΖΥΓΙΣΜΕΝΑ ΕΝ ΡΑ ΕΝΟΤΗΤΑ 5 ΥΝΑΜΙΚΑ ΛΕΞΙΚΑ ΙΣΟΖΥΓΙΣΜΕΝΑ ΕΝ ΡΑ ενδρικές οµές για Υλοποίηση υναµικών Λεξικών υναµικά λεξικά λειτουργίες LookUp( ), Insert( ) και Delete( ) Αναζητούµε δένδρα για την αποτελεσµατική υλοποίηση

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

Ενότητα 7 Ουρές Προτεραιότητας

Ενότητα 7 Ουρές Προτεραιότητας Ενότητα Ουρές Προτεραιότητας ΗΥ4 - Παναγιώτα Φατούρου Ουρές Προτεραιότητας Θεωρούµε ένα χώρο κλειδιών U και έστω ότι µε κάθε κλειδί Κ (τύπου Key) έχει συσχετισθεί κάποια πληροφορία Ι (τύπου Type). Έστω

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

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

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

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

Ισορροπημένα Δένδρα. για κάθε λειτουργία; Ισορροπημένο δένδρο : Διατηρεί ύψος κάθε εισαγωγή ή διαγραφή

Ισορροπημένα Δένδρα. για κάθε λειτουργία; Ισορροπημένο δένδρο : Διατηρεί ύψος κάθε εισαγωγή ή διαγραφή Ισορροπημένα Δένδρα Μπορούμε να επιτύχουμε για κάθε λειτουργία; χρόνο εκτέλεσης Ισορροπημένο δένδρο : Διατηρεί ύψος κάθε εισαγωγή ή διαγραφή μετά από Περιστροφές x αριστερή περιστροφή από το x y α β y

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

Δομές Δεδομένων. Ενότητα 13: B-Δέντρα/AVL-Δέντρα. Καθηγήτρια Μαρία Σατρατζέμη. Τμήμα Εφαρμοσμένης Πληροφορικής. Δομές Δεδομένων

Δομές Δεδομένων. Ενότητα 13: B-Δέντρα/AVL-Δέντρα. Καθηγήτρια Μαρία Σατρατζέμη. Τμήμα Εφαρμοσμένης Πληροφορικής. Δομές Δεδομένων Ενότητα 13: B-Δέντρα/AVL-Δέντρα Καθηγήτρια Μαρία Σατρατζέμη Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε

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

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

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

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

Σχεδίαση και Ανάλυση Αλγορίθμων Ενότητα 8: ΧΡΗΣΗ ΔΟΜΩΝ ΔΕΝΤΡΟΥ ΚΑΙ ΣΩΡΟΥ ΓΙΑ ΕΠΙΛΥΣΗ ΠΡΟΒΛΗΜΑΤΟΣ ΤΑΞΙΝΟΜΗΣΗΣ ΑΛΓΟΡΙΘΜΟΣ HEAPSORT

Σχεδίαση και Ανάλυση Αλγορίθμων Ενότητα 8: ΧΡΗΣΗ ΔΟΜΩΝ ΔΕΝΤΡΟΥ ΚΑΙ ΣΩΡΟΥ ΓΙΑ ΕΠΙΛΥΣΗ ΠΡΟΒΛΗΜΑΤΟΣ ΤΑΞΙΝΟΜΗΣΗΣ ΑΛΓΟΡΙΘΜΟΣ HEAPSORT Σχεδίαση και Ανάλυση Αλγορίθμων Ενότητα 8: ΧΡΗΣΗ ΔΟΜΩΝ ΔΕΝΤΡΟΥ ΚΑΙ ΣΩΡΟΥ ΓΙΑ ΕΠΙΛΥΣΗ ΠΡΟΒΛΗΜΑΤΟΣ ΤΑΞΙΝΟΜΗΣΗΣ ΑΛΓΟΡΙΘΜΟΣ HEAPSORT Δημήτριος Κουκόπουλος Σχολή Οργάνωσης και Διοίκησης Επιχειρήσεων Τμήμα Διαχείρισης

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

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

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

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

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

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

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

Σχεδίαση και Ανάλυση Αλγορίθμων Ενότητα 9: ΒΑΣΙΚΕΣ ΤΕΧΝΙΚΕΣ ΣΧΕΔΙΑΣΜΟΥ ΚΑΙ ΑΝΑΛΥΣΗΣ ΑΛΓΟΡΙΘΜΩΝ ΕΞΙΣΟΡΡΟΠΗΣΗ, ΔΙΑΙΡΕΙ ΚΑΙ ΒΑΣΙΛΕΥΕ

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

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

Σχεδίαση και Ανάλυση Αλγορίθμων Ενότητα 5: ΚΑΤΗΓΟΡΙΕΣ ΑΛΓΟΡΙΘΜΙΚΩΝ ΠΡΟΒΛΗΜΑΤΩΝ-ΑΝΑΓΩΓΗ

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

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

Οντοκεντρικός Προγραμματισμός

Οντοκεντρικός Προγραμματισμός Οντοκεντρικός Προγραμματισμός Ενότητα 8: C++ ΒΙΒΛΙΟΗΚΗ STL, ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ Δομές Δεδομένων ΔΙΔΑΣΚΟΝΤΕΣ: Ιωάννης Χατζηλυγερούδης, Χρήστος Μακρής Πολυτεχνική Σχολή Τμήμα Μηχανικών Η/Υ & Πληροφορικής Δομές

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

Διαφήμιση και Δημόσιες Σχέσεις Ενότητα 9: Σχέσεις διαφημιστή-διαφημιζόμενου

Διαφήμιση και Δημόσιες Σχέσεις Ενότητα 9: Σχέσεις διαφημιστή-διαφημιζόμενου Διαφήμιση και Δημόσιες Σχέσεις Ενότητα 9: Σχέσεις διαφημιστή-διαφημιζόμενου Θεοδωρίδης Προκόπης Σχολή Οργάνωσης και Διοίκησης Επιχειρήσεων Τμήμα Διοίκησης Επιχειρήσεων Αγροτικών Προϊόντων & Τροφίμων (Δ.Ε.Α.Π.Τ.)

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

Σχεδίαση και Ανάλυση Αλγορίθμων Ενότητα 4: ΑΝΑΠΑΡΑΣΤΑΣΗ ΔΕΔΟΜΕΝΩΝ - ΔΕΝΤΡΑ

Σχεδίαση και Ανάλυση Αλγορίθμων Ενότητα 4: ΑΝΑΠΑΡΑΣΤΑΣΗ ΔΕΔΟΜΕΝΩΝ - ΔΕΝΤΡΑ Σχεδίαση και Ανάλυση Αλγορίθμων Ενότητα 4: ΑΝΑΠΑΡΑΣΤΑΣΗ ΔΕΔΟΜΕΝΩΝ - ΔΕΝΤΡΑ Δημήτριος Κουκόπουλος Σχολή Οργάνωσης και Διοίκησης Επιχειρήσεων Τμήμα Διαχείρισης Πολιτισμικού Περιβάλλοντος και Νέων Τεχνολογιών

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

4 η Διάλεξη. Ενδεικτικές λύσεις ασκήσεων

4 η Διάλεξη. Ενδεικτικές λύσεις ασκήσεων 4 η Διάλεξη Ενδεικτικές λύσεις ασκήσεων 1 Περιεχόμενα 1 η Άσκηση... 3 2 η Άσκηση... 3 3 η Άσκηση... 4 4 η Άσκηση... 5 5 η Άσκηση... 6 6 η Άσκηση... 7 Χρηματοδότηση... 8 Σημείωμα Αναφοράς... 9 Σημείωμα

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

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

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. Δομές δεδομένων. Ενότητα 3η: Δένδρα Παναγιώτα Φατούρου Τμήμα Επιστήμης Υπολογιστών ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Δομές δεδομένων Ενότητα 3η: Δένδρα Παναγιώτα Φατούρου Τμήμα Επιστήμης Υπολογιστών ΕΝΟΤΗΤΑ 3 ΔΕΝΔΡΑ ΗΥ240 - Παναγιώτα Φατούρου 2 Δένδρα Ένα δένδρο Τ αποτελείται από

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

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

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

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

Διδακτική Πληροφορικής

Διδακτική Πληροφορικής Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων Διδακτική Πληροφορικής Ενότητα 4: Διδακτικός μετασχηματισμός βασικών εννοιών πληροφορικής Το περιεχόμενο του μαθήματος διατίθεται με άδεια Creative Commons

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

Σχεδίαση και Ανάλυση Αλγορίθμων Ενότητα 10: ΤΕΧΝΙΚΕΣ ΣΧΕΔΙΑΣΜΟΥ ΚΑΙ ΑΝΑΛΥΣΗΣ ΑΛΓΟΡΙΘΜΩΝ ΓΙΑ ΠΡΟΒΛΗΜΑΤΑ ΜΕ ΑΠΑΓΟΡΕΥΤΙΚΟ ΑΡΙΘΜΟ ΠΕΡΙΠΤΩΣΕΩΝ

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

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

Προγραμματισμός Η/Υ. Αλγόριθμοι. ΤΕΙ Ιονίων Νήσων Τμήμα Τεχνολόγων Περιβάλλοντος Κατεύθυνση Τεχνολογιών Φυσικού Περιβάλλοντος

Προγραμματισμός Η/Υ. Αλγόριθμοι. ΤΕΙ Ιονίων Νήσων Τμήμα Τεχνολόγων Περιβάλλοντος Κατεύθυνση Τεχνολογιών Φυσικού Περιβάλλοντος Προγραμματισμός Η/Υ Αλγόριθμοι ΤΕΙ Ιονίων Νήσων Τμήμα Τεχνολόγων Περιβάλλοντος Κατεύθυνση Τεχνολογιών Φυσικού Περιβάλλοντος Ανάπτυξη Λογισμικού Η διαδικασία ανάπτυξης λογισμικού μπορεί να παρομοιαστεί

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

Πληροφοριακά Συστήματα Διοίκησης Ενότητα 10: Διαχείριση Έργων (2ο Μέρος)

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

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

Πληροφοριακά Συστήματα Διοίκησης (ΜΒΑ) Ενότητα 5: Διαχείριση Έργων υπό συνθήκες αβεβαιότητας

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

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

Πληροφοριακά Συστήματα Διοίκησης (ΜΒΑ) Ενότητα 6: Συμπίεση Έργου

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

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

Μηχανολογικό Σχέδιο Ι

Μηχανολογικό Σχέδιο Ι ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΧΤΑ ΑΚΑΔΗΜΑΙΚΑ ΜΑΘΗΜΑΤΑ Ενότητα # 8: Άτρακτοι και σφήνες Μ. Γρηγοριάδου Μηχανολόγων Μηχανικών Α.Π.Θ. Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες

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

Σχεδίαση και Ανάλυση Αλγορίθμων Ενότητα 11: ΠΡΟΒΛΗΜΑ ΔΙΑΤΡΕΞΗΣ ΓΡΑΦΗΜΑΤΟΣ

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

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

Διοικητική Λογιστική

Διοικητική Λογιστική Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων Διοικητική Λογιστική Ενότητα 6: Μέθοδοι ς Το περιεχόμενο του μαθήματος διατίθεται με άδεια Creative Commons εκτός και αν αναφέρεται διαφορετικά Το έργο

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

Εισαγωγή στην Διοίκηση Επιχειρήσεων

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

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

Ενότητες 3 & 4: Δένδρα, Σύνολα & Λεξικά Ασκήσεις και Λύσεις

Ενότητες 3 & 4: Δένδρα, Σύνολα & Λεξικά Ασκήσεις και Λύσεις Ενότητες 3 & 4: Δένδρα, Σύνολα & Λεξικά Ασκήσεις και Λύσεις Άσκηση 1 Γράψτε μία αναδρομική συνάρτηση που θα παίρνει ως παράμετρο ένα δείκτη στη ρίζα ενός δυαδικού δένδρου και θα επιστρέφει το βαθμό του

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

Κβαντική Επεξεργασία Πληροφορίας

Κβαντική Επεξεργασία Πληροφορίας Κβαντική Επεξεργασία Πληροφορίας Ενότητα 11: Είδη και μετασχηματισμοί πινάκων Σγάρμπας Κυριάκος Πολυτεχνική Σχολή Τμήμα Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών Σκοποί ενότητας Είδη και μετασχηματισμοί

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

Λογιστική Κόστους Ενότητα 8: Κοστολογική διάρθρωση Κύρια / Βοηθητικά Κέντρα Κόστους.

Λογιστική Κόστους Ενότητα 8: Κοστολογική διάρθρωση Κύρια / Βοηθητικά Κέντρα Κόστους. Λογιστική Κόστους Ενότητα 8: Κοστολογική διάρθρωση Κύρια / Βοηθητικά Κέντρα Κόστους. Μαυρίδης Δημήτριος Τμήμα Λογιστικής και Χρηματοοικονομικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες

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

Βάσεις Δεδομένων. Ενότητα 5: ΚΑΝΟΝΙΚΟΠΟΙΗΣΗ ΒΑΣΗΣ ΔΕΔΟΜΕΝΩΝ. Πασχαλίδης Δημοσθένης Τμήμα Ιερατικών σπουδών

Βάσεις Δεδομένων. Ενότητα 5: ΚΑΝΟΝΙΚΟΠΟΙΗΣΗ ΒΑΣΗΣ ΔΕΔΟΜΕΝΩΝ. Πασχαλίδης Δημοσθένης Τμήμα Ιερατικών σπουδών Βάσεις Δεδομένων Ενότητα 5: ΚΑΝΟΝΙΚΟΠΟΙΗΣΗ ΒΑΣΗΣ ΔΕΔΟΜΕΝΩΝ Πασχαλίδης Δημοσθένης Τμήμα Ιερατικών σπουδών Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό

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

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Εισαγωγή στα Δίκτυα Υπηρεσιών Άσκηση αυτοαξιολόγησης 3: Java Restful Web Services Μύρων Παπαδάκης Τμήμα Επιστήμης Υπολογιστών Τμήμα Επιστήμης Υπολογιστών Πανεπιστήμιο

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

Πληροφορική ΙΙ Ενότητα 1

Πληροφορική ΙΙ Ενότητα 1 Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων Πληροφορική ΙΙ Ενότητα 1: Εισαγωγή Θεματική Ενότητα: Εισαγωγή στον Προγραμματισμό Το περιεχόμενο του μαθήματος διατίθεται με άδεια Creative Commons εκτός

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

Ψηφιακή Επεξεργασία Εικόνων

Ψηφιακή Επεξεργασία Εικόνων ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Ψηφιακή Επεξεργασία Εικόνων Ενότητα # 15: Τμηματοποίηση σε τοπολογικά συνεκτικές περιοχές Καθηγητής Γιώργος Τζιρίτας Τμήμα Επιστήμης Υπολογιστών Διαμέριση σε συνεκτικές

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

Red- black δέντρα Εκτενείς Δομές Δεδομένων (Κεφ. 5)

Red- black δέντρα Εκτενείς Δομές Δεδομένων (Κεφ. 5) ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ Η/Υ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ Red- black δέντρα Εκτενείς Δομές Δεδομένων (Κεφ. ) Δομές Δεδομένων Μπαλτάς Αλέξανδρος 4 Μαρτίου 0 ampaltas@ceid.upatras.gr Περιεχόμενα. Εισαγωγή. Ορισμός red- black

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

Τίτλος Μαθήματος: Μαθηματική Ανάλυση Ενότητα Γ. Ολοκληρωτικός Λογισμός

Τίτλος Μαθήματος: Μαθηματική Ανάλυση Ενότητα Γ. Ολοκληρωτικός Λογισμός Τίτλος Μαθήματος: Μαθηματική Ανάλυση Ενότητα Γ. Ολοκληρωτικός Λογισμός Κεφάλαιο Γ.: Το Ολοκλήρωμα Βασικές ιδιότητες Όνομα Καθηγητή: Γεώργιος Ν. Μπροδήμας Τμήμα Φυσικής Γεώργιος Νικ. Μπροδήμας Κεφάλαιο

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

Μαθηματικά Διοικητικών & Οικονομικών Επιστημών

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

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

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

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

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

Εισαγωγή στην Διοίκηση Επιχειρήσεων

Εισαγωγή στην Διοίκηση Επιχειρήσεων Εισαγωγή στην Διοίκηση Επιχειρήσεων Ενότητα 11: Θεωρία Οργάνωσης & Διοίκησης Μαυρίδης Δημήτριος Τμήμα Λογιστικής και Χρηματοοικονομικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης

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

Αρχεία και Βάσεις Δεδομένων

Αρχεία και Βάσεις Δεδομένων ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Αρχεία και Βάσεις Δεδομένων 1o-2ο Φροντιστήριο - Εκφωνήσεις Δημήτρης Πλεξουσάκης Τμήμα Επιστήμης Υπολογιστών Αρχεία και Βάσεις Δεδομένων Χειμερινό εξάμηνο 2014-2015

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

Οργάνωση Υπολογιστών

Οργάνωση Υπολογιστών Οργάνωση Υπολογιστών Επιμέλεια: Γεώργιος Θεοδωρίδης, Επίκουρος Καθηγητής Ανδρέας Εμερετλής, Υποψήφιος Διδάκτορας Τμήμα Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών 1 Άδειες Χρήσης Το παρόν υλικό

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

Βέλτιστος Έλεγχος Συστημάτων

Βέλτιστος Έλεγχος Συστημάτων Βέλτιστος Έλεγχος Συστημάτων Ενότητα 12: Αρχή ελαχίστου του Pontryagin Καθηγητής Αντώνιος Αλεξανδρίδης Πολυτεχνική Σχολή Τμήμα Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών Σημείωμα Αδειοδότησης Το

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

Γραμμική Άλγεβρα και Μαθηματικός Λογισμός για Οικονομικά και Επιχειρησιακά Προβλήματα

Γραμμική Άλγεβρα και Μαθηματικός Λογισμός για Οικονομικά και Επιχειρησιακά Προβλήματα Γραμμική Άλγεβρα και Μαθηματικός Λογισμός για Οικονομικά και Επιχειρησιακά Προβλήματα Ενότητα: Ασκήσεις 1 Ανδριανός Ε. Τσεκρέκος Τμήμα Λογιστικής & Χρηματοοικονομικής Σελίδα 2 1. Σκοποί ενότητας... 5 2.

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

Λογισμός 3. Ενότητα 18: Θεώρημα Πεπλεγμένων (Ειδική περίπτωση) Μιχ. Γ. Μαριάς Τμήμα Μαθηματικών ΑΝΟΙΚΤΑ ΑΚΑ ΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ

Λογισμός 3. Ενότητα 18: Θεώρημα Πεπλεγμένων (Ειδική περίπτωση) Μιχ. Γ. Μαριάς Τμήμα Μαθηματικών ΑΝΟΙΚΤΑ ΑΚΑ ΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑ ΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Ενότητα 18: Θεώρημα Πεπλεγμένων (Ειδική περίπτωση) Μιχ. Γ. Μαριάς Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης

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

Διδακτική της Πληροφορικής

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

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

Ενδεικτικές λύσεις ασκήσεων διαγραμμάτων περίπτωσης χρήσης (1ο Μέρος)

Ενδεικτικές λύσεις ασκήσεων διαγραμμάτων περίπτωσης χρήσης (1ο Μέρος) Ενδεικτικές λύσεις ασκήσεων διαγραμμάτων περίπτωσης χρήσης (1ο Μέρος) 1 Περιεχόμενα 1 η Άσκηση Λειτουργίες του βιβλίου διευθύνσεων σε ένα πρόγραμμα ηλεκτρονικού ταχυδρομείου... 4 2 η Άσκηση Λειτουργίες

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

Βάσεις Περιβαλλοντικών Δεδομένων

Βάσεις Περιβαλλοντικών Δεδομένων Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων Βάσεις Περιβαλλοντικών Δεδομένων Ενότητα 11: SQL ερωτήματα ενεργειών Το περιεχόμενο του μαθήματος διατίθεται με άδεια Creative Commons εκτός και αν αναφέρεται

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

Βάσεις Δεδομένων Ενότητα 1

Βάσεις Δεδομένων Ενότητα 1 ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Ενότητα 1: Εισαγωγή στις Ιωάννης Μανωλόπουλος, Καθηγητής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative

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

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

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

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

6 η Διάλεξη. Ενδεικτικές λύσεις ασκήσεων

6 η Διάλεξη. Ενδεικτικές λύσεις ασκήσεων 6 η Διάλεξη Ενδεικτικές λύσεις ασκήσεων 1 Περιεχόμενα 1 η Άσκηση... 3 2 η Άσκηση... 4 3 η Άσκηση... 4 4 η Άσκηση... 4 5 η Άσκηση... 5 6 η Άσκηση... 5 7 η Άσκηση... 5 8 η Άσκηση... 6 Χρηματοδότηση... 7

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

Διδακτική Πληροφορικής

Διδακτική Πληροφορικής Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων Διδακτική Πληροφορικής Ενότητα 12: Επίλυση προβλημάτων σε προγραμματιστικό περιβάλλον Το περιεχόμενο του μαθήματος διατίθεται με άδεια Creative Commons

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

ΗΥ240 - Παναγιώτα Φατούρου 1

ΗΥ240 - Παναγιώτα Φατούρου 1 ΕΝΟΤΗΤΑ 3 ΔΕΝΔΡΑ ΗΥ240 - Παναγιώτα Φατούρου 1 Δένδρα Ένα δένδρο Τ αποτελείται από ένα σύνολο από κόµβους µεταξύ των οποίων ορίζεται µια σχέση γονέα-παιδιού µε τις εξής ιδιότητες: q Αν το Τ δεν είναι το

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

Διδακτική Πληροφορικής

Διδακτική Πληροφορικής Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων Διδακτική Πληροφορικής Ενότητα 7: Η πληροφορική και ο προγραμματισμός στο εκπαιδευτικό σύστημα Το περιεχόμενο του μαθήματος διατίθεται με άδεια Creative

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

Διδακτική Πληροφορικής

Διδακτική Πληροφορικής Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων Διδακτική Πληροφορικής Ενότητα 1: Εισαγωγή Το περιεχόμενο του μαθήματος διατίθεται με άδεια Creative Commons εκτός και αν αναφέρεται διαφορετικά Το έργο

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

Εισαγωγή ενός νέου στοιχείου. Επιλογή i-οστoύ στοιχείου : Εύρεση στοιχείου με το i-οστό μικρότερο κλειδί

Εισαγωγή ενός νέου στοιχείου. Επιλογή i-οστoύ στοιχείου : Εύρεση στοιχείου με το i-οστό μικρότερο κλειδί Δομές Αναζήτησης Χειριζόμαστε ένα σύνολο στοιχείων κλειδί από ολικά διατεταγμένο σύνολο όπου το κάθε στοιχείο έχει ένα Θέλουμε να υποστηρίξουμε δύο βασικές λειτουργίες: Εισαγωγή ενός νέου στοιχείου με

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

Αρχεία και Βάσεις Δεδομένων

Αρχεία και Βάσεις Δεδομένων ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Αρχεία και Βάσεις Δεδομένων Διάλεξη 13η: Κλείσιμο Συνόλου Γνωρισμάτων - Ελάχιστη κάλυψη - Αποσύνθεση - Συναρτησιακές Εξαρτήσεις Δημήτρης Πλεξουσάκης Τμήμα Επιστήμης

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

Επιχειρησιακή Έρευνα

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

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

Βάσεις Περιβαλλοντικών Δεδομένων

Βάσεις Περιβαλλοντικών Δεδομένων Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων Βάσεις Περιβαλλοντικών Δεδομένων Ενότητα 12: Επανάληψη Το περιεχόμενο του μαθήματος διατίθεται με άδεια Creative Commons εκτός και αν αναφέρεται διαφορετικά

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

Προγραμματισμός Η/Υ. 7 η ενότητα: Αρχεία. Τμήμα. Τεχνολόγων Περιβάλλοντος. ΤΕΙ Ιονίων Νήσων. Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων

Προγραμματισμός Η/Υ. 7 η ενότητα: Αρχεία. Τμήμα. Τεχνολόγων Περιβάλλοντος. ΤΕΙ Ιονίων Νήσων. Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων Προγραμματισμός Η/Υ 7 η ενότητα: Αρχεία Τμήμα Τεχνολόγων Περιβάλλοντος ΤΕΙ Ιονίων Νήσων Το περιεχόμενο του μαθήματος διατίθεται με άδεια Creative Commons

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

Προγραμματισμός Η/Υ. Αναζήτηση & Ταξινόμηση. ΤΕΙ Ιονίων Νήσων Τμήμα Τεχνολόγων Περιβάλλοντος Κατεύθυνση Τεχνολογιών Φυσικού Περιβάλλοντος

Προγραμματισμός Η/Υ. Αναζήτηση & Ταξινόμηση. ΤΕΙ Ιονίων Νήσων Τμήμα Τεχνολόγων Περιβάλλοντος Κατεύθυνση Τεχνολογιών Φυσικού Περιβάλλοντος Προγραμματισμός Η/Υ Αναζήτηση & Ταξινόμηση ΤΕΙ Ιονίων Νήσων Τμήμα Τεχνολόγων Περιβάλλοντος Κατεύθυνση Τεχνολογιών Φυσικού Περιβάλλοντος Αναζήτηση Το πρόβλημα της αναζήτησης (searching) ενός στοιχείου σε

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

Οργάνωση Υπολογιστών

Οργάνωση Υπολογιστών Οργάνωση Υπολογιστών Επιμέλεια: Γεώργιος Θεοδωρίδης, Επίκουρος Καθηγητής Ανδρέας Εμερετλής, Υποψήφιος Διδάκτορας Τμήμα Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών 1 Άδειες Χρήσης Το παρόν υλικό

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

Διοίκηση Εξωτερικής Εμπορικής Δραστηριότητας

Διοίκηση Εξωτερικής Εμπορικής Δραστηριότητας Διοίκηση Εξωτερικής Εμπορικής Δραστηριότητας Ενότητα 8: Αξιολόγηση και επιλογή αγορών στόχων από ελληνική εταιρία στον κλάδο παραγωγής και εμπορίας έτοιμου γυναικείου Καθ. Αλεξανδρίδης Αναστάσιος Δρ. Αντωνιάδης

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

Τίτλος Μαθήματος: Μαθηματική Ανάλυση Ενότητα Γ. Ολοκληρωτικός Λογισμός

Τίτλος Μαθήματος: Μαθηματική Ανάλυση Ενότητα Γ. Ολοκληρωτικός Λογισμός Τίτλος Μαθήματος: Μαθηματική Ανάλυση Ενότητα Γ. Ολοκληρωτικός Λογισμός Κεφάλαιο Γ.07: Ολοκληρώματα με Ριζικά Όνομα Καθηγητή: Γεώργιος Ν. Μπροδήμας Τμήμα Φυσικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό

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

Εισαγωγή στην Διοίκηση Επιχειρήσεων

Εισαγωγή στην Διοίκηση Επιχειρήσεων Εισαγωγή στην Διοίκηση Επιχειρήσεων Ενότητα 2: Οργάνωση και Διοίκηση Εισαγωγή Μαυρίδης Δημήτριος Τμήμα Λογιστικής και Χρηματοοικονομικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης

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

Εφαρμοσμένη Βελτιστοποίηση

Εφαρμοσμένη Βελτιστοποίηση Εφαρμοσμένη Βελτιστοποίηση Ενότητα 1: Το πρόβλημα της βελτιστοποίησης Καθηγητής Αντώνιος Αλεξανδρίδης Πολυτεχνική Σχολή Τμήμα Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών Σημείωμα Αδειοδότησης Το

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

ΟΙΚΟΝΟΜΕΤΡΙΑ. Ενότητα 3: Πολλαπλή Παλινδρόμηση. Αναπλ. Καθηγητής Νικόλαος Σαριαννίδης Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά)

ΟΙΚΟΝΟΜΕΤΡΙΑ. Ενότητα 3: Πολλαπλή Παλινδρόμηση. Αναπλ. Καθηγητής Νικόλαος Σαριαννίδης Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά) ΟΙΚΟΝΟΜΕΤΡΙΑ Ενότητα 3: Πολλαπλή Παλινδρόμηση. Αναπλ. Καθηγητής Νικόλαος Σαριαννίδης Τμήμα Διοίκησης Επιχειρήσεων (Γρεβενά) Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative

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

Διδακτική Πληροφορικής

Διδακτική Πληροφορικής Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων Διδακτική Πληροφορικής Ενότητα 6: Διαδικασίες Μάθησης Το περιεχόμενο του μαθήματος διατίθεται με άδεια Creative Commons εκτός και αν αναφέρεται διαφορετικά

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

Δένδρα Αναζήτησης Πολλαπλής Διακλάδωσης

Δένδρα Αναζήτησης Πολλαπλής Διακλάδωσης Δένδρα Αναζήτησης Πολλαπλής Διακλάδωσης Δένδρα στα οποία κάθε κόμβος μπορεί να αποθηκεύει ένα ή περισσότερα κλειδιά. Κόμβος με d διακλαδώσεις : k 1 k 2 k 3 k 4 d-1 διατεταγμένα κλειδιά d διατεταγμένα παιδιά

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

Δομές Δεδομένων Ενότητα 6

Δομές Δεδομένων Ενότητα 6 ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Ενότητα 6: Γράφοι Απόστολος Παπαδόπουλος Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό

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

Ενότητα. Εισαγωγή στη Microsoft Access

Ενότητα. Εισαγωγή στη Microsoft Access Ενότητα 2 Εισαγωγή στη Microsoft Access 2 3 2.1 Το περιβάλλον της Access Το βασικό περιβάλλον της Access φαίνεται στην παρακάτω εικόνα: Εικόνα 2.1: Εισαγωγική οθόνη Στην εισαγωγική οθόνη της Access (εικόνα

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

Ψηφιακή Επεξεργασία και Ανάλυση Εικόνας Ενότητα 10 η : Ανάλυση Εικόνας. Καθ. Κωνσταντίνος Μπερμπερίδης Πολυτεχνική Σχολή Μηχανικών Η/Υ & Πληροφορικής

Ψηφιακή Επεξεργασία και Ανάλυση Εικόνας Ενότητα 10 η : Ανάλυση Εικόνας. Καθ. Κωνσταντίνος Μπερμπερίδης Πολυτεχνική Σχολή Μηχανικών Η/Υ & Πληροφορικής Ψηφιακή Επεξεργασία και Ανάλυση Εικόνας Ενότητα 10 η : Ανάλυση Εικόνας Καθ. Κωνσταντίνος Μπερμπερίδης Πολυτεχνική Σχολή Μηχανικών Η/Υ & Πληροφορικής Σκοποί ενότητας Εισαγωγή στη ψηφιακή ανάλυση εικόνας

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

Κλασική Hλεκτροδυναμική

Κλασική Hλεκτροδυναμική Κλασική Hλεκτροδυναμική Ενότητα 3: Η συνάρτηση Green σε επίπεδη γεωμετρία και η μέθοδος των ειδώλων σε σφαιρική Ανδρέας Τερζής Σχολή Θετικών Επιστημών Τμήμα Φυσικής Σκοποί ενότητας Σκοπός της ενότητας

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

Πληροφορική II. Ενότητα 5 : Δομές Δεδομένων και αφηρημένοι. τύποι δεδομένων. Δρ. Γκόγκος Χρήστος

Πληροφορική II. Ενότητα 5 : Δομές Δεδομένων και αφηρημένοι. τύποι δεδομένων. Δρ. Γκόγκος Χρήστος 1 Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου Πληροφορική II Ενότητα 5 : Δομές Δεδομένων και αφηρημένοι τύποι δεδομένων Δρ. Γκόγκος Χρήστος 2 Ανοιχτά Ακαδημαϊκά Τμήμα Χρηματοοικονομικής

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

Βάσεις Δεδομένων. Ενότητα 1: Εισαγωγή στις Βάσεις δεδομένων. Πασχαλίδης Δημοσθένης Τμήμα Ιερατικών σπουδών

Βάσεις Δεδομένων. Ενότητα 1: Εισαγωγή στις Βάσεις δεδομένων. Πασχαλίδης Δημοσθένης Τμήμα Ιερατικών σπουδών Βάσεις Δεδομένων Ενότητα 1: Εισαγωγή στις Βάσεις δεδομένων Πασχαλίδης Δημοσθένης Τμήμα Ιερατικών σπουδών Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό

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

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

Δομές Δεδομένων και Αλγόριθμοι Δομές Δεδομένων και Αλγόριθμοι Χρήστος Γκόγκος ΤΕΙ Ηπείρου Χειμερινό Εξάμηνο 2014-2015 Παρουσίαση 16 Δένδρα (Trees) 1 / 42 Δένδρα (Trees) Ένα δένδρο είναι ένα συνδεδεμένο γράφημα χωρίς κύκλους Για κάθε

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

Διοικητική Λογιστική

Διοικητική Λογιστική Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων Διοικητική Λογιστική Ενότητα 6: Συστήματα Κοστολόγησης Το περιεχόμενο του μαθήματος διατίθεται με άδεια Creative Commons εκτός και αν αναφέρεται διαφορετικά

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

Ψηφιακή Λογική Σχεδίαση

Ψηφιακή Λογική Σχεδίαση Ψηφιακή Λογική Σχεδίαση Επιμέλεια: Γεώργιος Θεοδωρίδης, Επίκουρος Καθηγητής Ανδρέας Εμερετλής, Υποψήφιος Διδάκτορας Τμήμα Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών Σημείωμα Αδειοδότησης Το παρόν

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

Η ΓΝΩΣΗ ΚΑΙ ΤΟ ΠΡΑΓΜΑΤΙΚΟ ΣΤΟΝ ΠΛΑΤΩΝΑ ΚΑΙ ΤΟΝ ΑΡΙΣΤΟΤΕΛΗ

Η ΓΝΩΣΗ ΚΑΙ ΤΟ ΠΡΑΓΜΑΤΙΚΟ ΣΤΟΝ ΠΛΑΤΩΝΑ ΚΑΙ ΤΟΝ ΑΡΙΣΤΟΤΕΛΗ Η ΓΝΩΣΗ ΚΑΙ ΤΟ ΠΡΑΓΜΑΤΙΚΟ ΣΤΟΝ ΠΛΑΤΩΝΑ ΚΑΙ ΤΟΝ ΑΡΙΣΤΟΤΕΛΗ Ενότητα: 1 η Ελένη Περδικούρη Τμήμα Φιλοσοφίας 1 Ενότητα 1 η Το ερώτημα της γνώσης 1. Τι γνωριζουμε, δηλαδη ποια ειναι τα αντικειμενα της γνωσης

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

Κοινωνία & Υγεία Υγεία Πρόληψη Προαγωγή υγείας: Βαθμίδες πρόληψης

Κοινωνία & Υγεία Υγεία Πρόληψη Προαγωγή υγείας: Βαθμίδες πρόληψης ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Κοινωνία & Υγεία Υγεία Πρόληψη Προαγωγή υγείας: Βαθμίδες πρόληψης Αντώνης Κούτης Τμήμα Ιατρικής Βαθμίδες πρόληψης Πρωταρχική πρόληψη (primordial prevention) Πρωτογενής

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

Βάσεις Περιβαλλοντικών Δεδομένων

Βάσεις Περιβαλλοντικών Δεδομένων Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων Βάσεις Περιβαλλοντικών Δεδομένων Ενότητα 8: Σχεσιακή Άλγεβρα Το περιεχόμενο του μαθήματος διατίθεται με άδεια Creative Commons εκτός και αν αναφέρεται διαφορετικά

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

Οργάνωση Υπολογιστών

Οργάνωση Υπολογιστών Οργάνωση Υπολογιστών Επιμέλεια: Γεώργιος Θεοδωρίδης, Επίκουρος Καθηγητής Ανδρέας Εμερετλής, Υποψήφιος Διδάκτορας Τμήμα Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών 1 Άδειες Χρήσης Το παρόν υλικό

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

Τίτλος Μαθήματος: Μαθηματική Ανάλυση Ενότητα Β. Διαφορικός Λογισμός

Τίτλος Μαθήματος: Μαθηματική Ανάλυση Ενότητα Β. Διαφορικός Λογισμός Τίτλος Μαθήματος: Μαθηματική Ανάλυση Ενότητα Β. Διαφορικός Λογισμός Κεφάλαιο Β.5.1: Μελέτη Συνάρτησης Όνομα Καθηγητή: Γεώργιος Ν. Μπροδήμας Τμήμα Φυσικής Γεώργιος Νικ. Μπροδήμας Κεφάλαιο Β.5.1: Μελέτη

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

Σχεδίαση Μεικτών VLSI Κυκλωμάτων Ενότητα 9: Ευστάθεια και Αντιστάθμιση Συχνότητας

Σχεδίαση Μεικτών VLSI Κυκλωμάτων Ενότητα 9: Ευστάθεια και Αντιστάθμιση Συχνότητας Σχεδίαση Μεικτών VLSI Κυκλωμάτων Αγγελική Αραπογιάννη Σχολή Θετικών Επιστημών Τμήμα Πληροφορικής και Τηλεπικοινωνιών Σύστημα αρνητικής ανάδρασης Y X s H(s) 1 H(s) Συνάρτηση μεταφοράς κλειστού βρόχου Ταλαντωτής

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

Προγραμματισμός Η/Υ. 6 η ενότητα: Συναρτήσεις. Τμήμα. Τεχνολόγων Περιβάλλοντος. ΤΕΙ Ιονίων Νήσων. Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων

Προγραμματισμός Η/Υ. 6 η ενότητα: Συναρτήσεις. Τμήμα. Τεχνολόγων Περιβάλλοντος. ΤΕΙ Ιονίων Νήσων. Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων Προγραμματισμός Η/Υ 6 η ενότητα: Συναρτήσεις Τμήμα Τεχνολόγων Περιβάλλοντος ΤΕΙ Ιονίων Νήσων Το περιεχόμενο του μαθήματος διατίθεται με άδεια Creative Commons

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

Εισαγωγή στην Διοίκηση Επιχειρήσεων

Εισαγωγή στην Διοίκηση Επιχειρήσεων Εισαγωγή στην Διοίκηση Επιχειρήσεων Ενότητα 4: Στρατηγικοί προσανατολισμοί Μαυρίδης Δημήτριος Τμήμα Λογιστικής και Χρηματοοικονομικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης

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

Διεθνείς Οικονομικές Σχέσεις και Ανάπτυξη

Διεθνείς Οικονομικές Σχέσεις και Ανάπτυξη ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Διεθνείς Οικονομικές Σχέσεις και Ανάπτυξη Ενότητα 3: Κλασικά Υποδείγματα της Διεθνούς Οικονομικής Θεωρίας (Heckscher-Ohlin model) Γρηγόριος

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

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

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

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

Θεωρία Λήψης Αποφάσεων

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

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

Μάρκετινγκ. Ενότητα 2: Αξία για τους Πελάτες

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

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

Εισαγωγή στην Πληροφορική

Εισαγωγή στην Πληροφορική Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων Εισαγωγή στην Πληροφορική Ενότητα 2: Ψηφιακή Λογική Ι Το περιεχόμενο του μαθήματος διατίθεται με άδεια Creative Commons εκτός και αν αναφέρεται διαφορετικά

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

Δομές Δεδομένων. Δημήτρης Μιχαήλ. Δέντρα Αναζήτησης. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

Δομές Δεδομένων. Δημήτρης Μιχαήλ. Δέντρα Αναζήτησης. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Δομές Δεδομένων Δέντρα Αναζήτησης Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Το πρόβλημα Αναζήτηση Θέλουμε να διατηρήσουμε αντικείμενα με κλειδιά και να μπορούμε εκτός από

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

Εφαρμοσμένη Βελτιστοποίηση

Εφαρμοσμένη Βελτιστοποίηση Εφαρμοσμένη Βελτιστοποίηση Ενότητα 2: Συναρτήσεις Χώροι - Μεταβλητές Καθηγητής Αντώνιος Αλεξανδρίδης Πολυτεχνική Σχολή Τμήμα Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών Σημείωμα Αδειοδότησης Το

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