ΕΝΟΤΗΤΑ 4 ΣΥΝΟΛΑ - ΛΕΞΙΚΑ

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

Download "ΕΝΟΤΗΤΑ 4 ΣΥΝΟΛΑ - ΛΕΞΙΚΑ"

Transcript

1 ΕΝΟΤΗΤΑ 4 ΣΥΝΟΛΑ - ΛΕΞΙΚΑ ΗΥ240 - Παναγιώτα Φατούρου Σύνολα (Sets) Τα µέλη ενός συνόλου προέρχονται από κάποιο χώρο U αντικειµένων/στοιχείων (π.χ., σύνολα αριθµών, λέξεων, ζευγών αποτελούµενων από έναν αριθµό και µια λέξη, κ.ο.κ.). Αν S είναι ένα σύνολο και x είναι ένα αντικείµενο του χώρου από όπου το S προέρχεται, είτε x S ή x S. Ένα σύνολο δεν περιέχει το ίδιο στοιχείο 2 ή περισσότερες φορές. Ένα πολυσύνολο (multi-sets) µπορεί να περιέχει πολλαπλά στιγµιότυπα του ίδιου στοιχείου. Χρησιµότητα Πολλές εφαρµογές χρησιµοποιούν σύνολα και απαιτούν να είναι δυνατή η απάντηση ερωτήσεων του στυλ «Είναι το στοιχείο x S»; Παραδείγµατα Υπάρχει αυτός ο εργαζόµενος στη βάση δεδοµένων των εργαζοµένων; Υπάρχει αυτό το τηλέφωνο στον ηλεκτρονικό τηλεφωνικό κατάλογο; Υπάρχει αυτή η κράτηση στη βάση δεδοµένων µιας αεροπορικής ή ακτοπλοϊκής εταιρείας; ΗΥ240 - Παναγιώτα Φατούρου 2

2 Λειτουργίες Συνόλων MakeEmptySet(): Επιστρέφει το κενό σύνολο. IsEmptySet(S): Επιστρέφει true αν S είναι το κενό σύνολο και false διαφορετικά. Isert(x,S): Προσθέτει το στοιχείο x στο σύνολο S ή δεν πραγµατοποιεί καµία ενέργεια αν x S. Delete(x,S): ιαγράφει το στοιχείο x από το S ή δεν πραγµατοποιεί καµία ενέργεια αν x S. Member(x,S): επιστρέφει true αν το x είναι µέλος του συνόλου S και false διαφορετικά. Size(S): Επιστρέφει S, δηλαδή το πλήθος των στοιχείων του S. Uio(S,T): επιστρέφει S T, δηλαδή το σύνολο που αποτελείται από τα στοιχεία εκείνα που είναι µέλη είτε του S ή του Τ. Itersectio(S,T): επιστρέφει S T, δηλαδή το σύνολο που αποτελείται από τα στοιχεία εκείνα που είναι µέλη και του S και του Τ. Differece(S,T): Επιστρέφει S \ T, δηλαδή το σύνολο των στοιχείων που ανήκουν στο S αλλά δεν ανήκουν στο Τ. Equal(S,T): Επιστρέφει true αν S = T και false διαφορετικά. Iterate(S,F): Εφαρµόζει τη λειτουργία F σε κάθε στοιχείο του S. Για χώρους στοιχείων στους οποίους ορίζεται η ιδιότητα της γραµµικής διάταξης: Mi(S) (Μax(S)): επιστρέφει το µικρότερο (µεγαλύτερο) στοιχείο του S. ΗΥ240 - Παναγιώτα Φατούρου 3 Σύνολα Λεξικά Θεωρούµε ότι κάθε στοιχείο του συνόλου είναι ένα ζεύγος <K,I> όπου Κ είναι το κλειδί που χαρακτηρίζει µοναδικά στοιχείου, και Ι είναι πληροφορίες (δεδοµένα, data) τύπου Type που συνοδεύουν το στοιχείο µε κλειδί Κ. Θα επικεντρωθούµε στην υλοποίηση του αφηρηµένου τύπου δεδοµένων που υποστηρίζει κύρια τις παρακάτω λειτουργίες σε σύνολα: MakeEmptySet() IsEmptySet() Isert(K,I,S) Delete(K,S) LookUp(K,S): εδοµένου ενός κλειδιού Κ, επιστρέφει τα δεδοµένα Ι, τέτοια ώστε <Κ,Ι> S. Αν δεν υπάρχει στοιχείο µε κλειδί Κ στο S, επιστρέφει ill. Λεξικά Ο αφηρηµένος τύπος δεδοµένων που υποστηρίζει µόνο τις παραπάνω λειτουργίες (MakeEmptySet, IsEmptySet, Isert, Delete, και LookUp) λέγεται λεξικό. ΗΥ240 - Παναγιώτα Φατούρου 4 2

3 Υλοποίηση Λεξικών µε Λίστες Αποθήκευση των στοιχείων του συνόλου σε µια (µη-ταξινοµηµένη) λίστα: Στατική λίστα (χρήση πίνακα) Συνδεδεµένη Λίστα (απλά ή διπλά συνδεδεµένη). Τα στοιχεία βρίσκονται στη λίστα διατεταγµένα βάσει της σειράς εισαγωγής τους. Υλοποίηση Λειτουργιών Συνδεδεµένη Λίστα Χρονική Πολυπλοκότητα LookUp(): Θ() Στη χειρότερη περίπτωση το στοιχείο είναι το τελευταίο στη λίστα! Χρονική Πολυπλοκότητα Isert(): Θ() Θα πρέπει να προηγηθεί αναζήτηση και αν το στοιχείο υπάρχει να µην εισαχθεί ξανά στη λίστα. Χρονική Πολυπλοκότητα Delete(): Θ() Αναζήτηση του στοιχείου και διαγραφή του -> Η αναζήτηση κοστίζει Ο(). Στατική Λίστα Το µέγιστο πλήθος στοιχείων του συνόλου πρέπει να είναι γνωστό εξ αρχής. Ποια είναι η χρονική πολυπλοκότητα των LookUp, Isert, Delete; ΗΥ240 - Παναγιώτα Φατούρου 5 Υλοποίηση Λεξικών µε Λίστες - Αναµενόµενο Κόστος Υποθέτουµε πως η πιθανότητα p η LookUp() να ψάχνει για το -οστό στοιχείο είναι η ίδια για κάθε,. Έτσι, αν έχουµε στοιχεία, η πιθανότητα είναι /. Έστω ότι c είναι το κόστος που πληρώνουµε για να βρούµε το -οστό στοιχείο c =. Το αναµενόµενο κόστος είναι το άθροισµα των (c *p ) για κάθε : Αναµενόµενο Κόστος = */+2*/+ +*/ = (+2+ +)/ = (+)/(2) = (+)/2 = Θ(). ιαφορετικές Πιθανότητες για διαφορετικά κλειδιά Κ,..., Κ : τα κλειδιά στο σύνολο σε φθίνουσα διάταξη ως προς τη συχνότητα µε την οποία αναζητούνται µέσω της LookUp(). p p 2... p : πιθανότητα µια LookUp() να ψάχνει για τα Κ, Κ 2,..., Κ, αντίστοιχα. Ο αναµενόµενος χρόνος αναζήτησης ελαχιστοποιείται όταν τα στοιχεία έχουν τη διάταξη Κ, Κ 2,..., Κ στη λίστα: Γιατί αυτό είναι βέλτιστο; C opt = k= k p k ΗΥ240 - Παναγιώτα Φατούρου 6 3

4 Αναµενόµενο Κόστος Ας υποθέσουµε, για να καταλήξουµε σε άτοπο, ότι η διάταξη των κλειδιών που οδηγεί στο ελάχιστο αναµενόµενο πλήθος συγκρίσεων είναι Km, Km 2,, Km, όπου η ακολουθία m,, m, αποτελεί µετάθεση της,, και ότι pm i < pm για κάποιo i <. Το κόστος C τότε είναι: C = ( k= k i k k p ) + ip + p k mi m Τότε, ανταλλάσσοντας τις θέσεις των Km i και Km στην ακολουθία θα προέκυπτε µια άλλη ακολουθία, της οποίας το κόστος C θα ήταν: C = ( k= k i k k m mi Έχουµε C C = ipm i + pm ipm pm i = (-i)(pm -pm i ) > 0 k p ) + ip + p Άρα, η διάταξη Km, Km 2,, Km δεν οδηγεί στο ελάχιστο αναµενόµενο πλήθος συγκρίσεων, το οποίο αντιτίθεται στην υπόθεση. ΗΥ240 - Παναγιώτα Φατούρου 7 Ευριστικά Η πραγµατική κατανοµή πιθανότητας συνήθως δεν είναι γνωστή. Το λεξικό µπορεί να αλλάζει µέγεθος κατά τη χρήση του. Η µελέτη πιθανοτικών µοντέλων κάποιες φορές απέχει αρκετά από το τι γίνεται στην πράξη! Ευριστικό Move-To-Frot (Ευριστικό «Μετακίνησης στην Αρχή») «Μετά από κάθε επιτυχηµένη αναζήτηση, το στοιχείο που βρέθηκε µετακινείται στην αρχή της λίστας.» Χρονική Πολυπλοκότητα; (α) Συνδεδεµένη Λίστα; (β) Στατική Λίστα; Ευριστικό «Αλληλοµετάθεσης» (Traspose) «Μετά από κάθε επιτυχηµένη αναζήτηση, το στοιχείο που βρέθηκε µετακινείται µια θέση προς την αρχή της λίστας (δηλαδή ανταλλάσσεται µε το προηγούµενό του στη λίστα)». Σύγκριση µεταξύ Ευριστικών Το ευριστικό Traspose αποδεικνύεται ότι έχει καλύτερο αναµενόµενο κόστος από το MoveToFrot. Ωστόσο, το Traspose σταθεροποιείται σε µια σταθερή καλή κατάσταση πιο αργά από το MoveToFrot. ΗΥ240 - Παναγιώτα Φατούρου 8 4

5 Ευριστικό «Μετακίνησης στην Αρχή» - Αναµενόµενο Κόστος Ας υποθέσουµε ότι η διαδικασία αναζήτησης κλειδιών έχει πραγµατοποιηθεί για αρκετά µεγάλο χρονικό διάστηµα, ώστε όλα τα κλειδιά να έχουν αναζητηθεί αρκετές φορές και η λίστα να βρίσκεται σε κάποιου είδους «σταθερή» κατάσταση. p(i,): πιθανότητα ότι το κλειδί K i προηγείται του K στη λίστα Ποια είναι η τιµή της p(i,) συναρτήσει των p i και p ; Προκειµένου το K i να βρίσκεται πριν από το K στη λίστα θα πρέπει η τελευταία LookUp(K i,s) να έχει συµβεί πιο πρόσφατα από την τελευταία LookUp(K,S). Αν επικεντρωθούµε στην τελευταία LookUp που πραγµατοποιείται για κάποιο από τα κλειδιά K i και K και αγνοήσουµε τις υπόλοιπες, τότε p(i,) είναι η πιθανότητα, από τα δύο αυτά δυνατά ενδεχόµενα, η LookUp να αναζητά το K i. Άρα, p(i,) = p i / (p i +p ). ΗΥ240 - Παναγιώτα Φατούρου 9 Ευριστικό «Μετακίνησης στην Αρχή» - Αναµενόµενο Κόστος Το αναµενόµενο πλήθος κλειδιών που προηγούνται του K στη λίστα είναι εποµένως p( i, ). i Άρα, το αναµενόµενο πλήθος συγκρίσεων για να βρεθεί το κλειδί K είναι + p( i, ). i Καταλήγουµε πως το αναµενόµενο πλήθος συγκρίσεων που απαιτούνται για την εύρεση ενός κλειδιού είναι: C MTF = p ( + p( i, )) = p + p p( i, ) = + p p( i, ) = i = = i i p p p p = + i = + 2 i i pi + p i< pi+ p p i p pi pi σ = = p p ( ), sice, i, p + p p + p p + p Πως συγκρίνεται το C MFT µε το C OPT ; i< i = i< i = i = C, sice p =. OPT = Το αναµενόµενο κόστος του MoveToFrot είναι το πολύ 2 φορές χειρότερο από εκείνο του βέλτιστου αλγόριθµου! Άρα, C MFT /C OPT (+2σ)/(+σ) = (2+2σ -)/(+σ) = 2(+σ)/(+σ) /(+σ) = 2 /(+σ) < 2. ΗΥ240 - Παναγιώτα Φατούρου 0 5

6 Ταξινοµηµένες Στατικές Λίστες Χρήση πίνακα για αποθήκευση των στοιχείων του συνόλου. Κάθε στοιχείο του πίνακα είναι ένα struct µε πεδία Key και data. Τα στοιχεία του πίνακα είναι ταξινοµηµένα βάσει του κλειδιού τους. Χρήση δυαδικής αναζήτησης για την υλοποίηση της LookUp(). BiarySearch Type BiarySearchLookUp(key K, table T[0..-]) /* Retur iformatio stored with key K i T, or ill if K is ot i T */ left = 0; right = -; repeat forever if (right < left) the retur ill; else middle = (left+right)/2 ; if (K == T[middle]->Key) the retur T(middle]->data; else if (K < T[middle]->Key) the right = middle-; else left = middle+; ΗΥ240 - Παναγιώτα Φατούρου υνατές Εκτελέσεις BiarySearchLookUp Κυκλικοί κόµβοι: εσωτερικοί Τετραγωνισµένοι κόµβοι: εξωτερικοί Το δένδρο περιγράφει όλες τις δυνατές εκτελέσεις της ΒiarySearch() σε ένα πίνακα 0 στοιχείων. Θεώρηµα Ο αλγόριθµος δυαδικής αναζήτησης εκτελεί O(log) συγκρίσεις για κάθε αναζήτηση στοιχείου σε πίνακα µε στοιχεία. ΗΥ240 - Παναγιώτα Φατούρου 2 6

7 Ταξινοµηµένα υαδικά ένδρα ( ένδρα υαδικής Αναζήτησης) Είναι δυαδικά δένδρα στα κλειδιά των οποίων είναι ορισµένη µια γραµµική διάταξη. Για κάθε κόµβο η τιµή του κλειδιού του είναι µεγαλύτερη από όλες τις τιµές των κόµβων του αριστερού υποδένδρου του και µικρότερη από όλες τις τιµές των κόµβων του δεξιού υποδένδρου του. Κάθε κόµβος είναι ένα struct µε πεδία key, data, LC, RC. Το µέγιστο ύψος δυαδικού δένδρου µε κόµβους είναι -. Γιατί; Το ελάχιστο ύψος δυαδικού δένδρου µε κόµβους είναι log. Γιατί; Ποια η σχέση των ταξινοµηµένων δυαδικών δένδρων και της ενδοδιατεταγµένης διάσχισης? ΗΥ240 - Παναγιώτα Φατούρου 3 Ταξινοµηµένα ένδρα Αναδροµική Έκδοση fuctio BiarySearchTreeLookUp( key K, poiter R):Type /* Εύρεση του κλειδιού Κ στο δένδρο µε ρίζα P και επιστροφή του πεδίου data ή ill αν το κλειδί δεν υπάρχει στο δένδρο */ if (R == NULL) retur ill; else if (K == R->key) retur R->data; else if (K < R->key) retur(biarytreelookup(k, R->LC)); else retur(biarytreelookup(k, R->RC)); Χρονική πολυπλοκότητα; Μη-Αναδροµική Έκδοση fuctio BiarySearchTreeLookUp ( key K, poiter R):Type /* Εύρεση του κλειδιού Κ στο δένδρο µε ρίζα P και επιστροφή του πεδίου data ή ill αν το κλειδί δεν υπάρχει στο δένδρο */ while (P!= NULL && K!= P->key) { if (K < P->key) P = P->LC; else P = P->RC; if (P!= NULL) retur(p->data); else retur ill; ΗΥ240 - Παναγιώτα Φατούρου 4 7

8 Ταξινοµηµένα ένδρα µε Κόµβο Φρουρό G Ποια η χρησιµότητα του κόµβου φρουρού; fuctio BiarySearchTreeLookUp( key K, poiter R):Type while (P!= NULL && K!= P->key) { if (K < P->key) P = P->LC; else P = P->RC; if (P!= NULL) retur(p->data); else retur ill; fuctio BiarySearchTreeGuardLookUp( key K, poiter R):Type G->Key = K; while (K!= P->Key) { if (K < P->key) P = P->LC; else P = P->RC; if (P!= G) retur(p->data); else retur ill; ΗΥ240 - Παναγιώτα Φατούρου 5 Ταξινοµηµένα ένδρα - Ελάχιστο και Μέγιστο Στοιχείο fuctio BiarySearchTreeMiimum( poiter R): ifo /* o R είναι δείκτης στη ρίζα του δένδρου */ poiter P; if (P == NULL) retur error; while (P->LC!= NULL) P = P->LC; retur(p->data); Στοιχείο µε αµέσως µεγαλύτερο και αµέσως µικρότερο κλειδί από το κλειδί ενός κόµβου v Το πρόβληµα είναι ίδιο µε την εύρεση του επόµενου και προηγούµενου κόµβου του v στην ενδοδιατεταγµένη διάσχιση του δένδρου. fuctio BiarySearchTreeMaximum( poiter R): ifo /* o R είναι δείκτης στη ρίζα του δένδρου */ poiter P; if (P == NULL) retur error; while (P->RC!= NULL) P = P->RC; retur(p->data); q 2 q Πως θα βρούµε τον επόµενο του κόµβου στον οποίο δείχνει ο q, στην ενδοδιατεταγµένη διάσχιση; Πως θα βρούµε τον επόµενο του κόµβου στον οποίο δείχνει ο q 2, στην ενδοδιατεταγµένη διάσχιση; Πολυπλοκότητα; ΗΥ240 - Παναγιώτα Φατούρου 6 8

9 Ταξινοµηµένα ένδρα - Εισαγωγή fuctio BiarySearchTreeIsert(key K, Type I, poiter R): poiter /* ο R είναι δείκτης στη ρίζα του δένδρου */ poiter P, Q, Prev = NULL; while (P!= NULL) { if (P->Key == K) { P->data = I; retur R; Prev = P; if (K < P->Key) P = P->LC; else P = P->RC; /* ηµιουργία & προσθήκη νέου κόµβου */ Q = NewCell(Node); Q->Key = K; Q->data = I; Q->LC = Q->RC = NULL; if (Prev == NULL) retur Q; else if (K < Prev->Key) Prev->LC = Q; else Prev->RC = Q; retur R; 5 ill 6 Q Αναζήτηση κόµβου µε κλειδί ίσο µε K. Αν τέτοιος κόµβος δεν βρεθεί, ο δείκτης prev, µετά το πέρας της ανακύκλωσης, θα δείχνει στον κόµβο γονέα του προς εισαγωγή κόµβου! Παράδειγµα Εισαγωγή κόµβου µε κλειδί 6 ΗΥ240 - Παναγιώτα Φατούρου 7 P ill prev Ταξινοµηµένα ένδρα - ιαγραφή Όταν ένας κόµβος διαγράφεται, η ενδοδιατεταγµένη διάσχιση των υπόλοιπων κόµβων πρέπει να διασχίζει τους κόµβους σύµφωνα µε τη διάταξη που είχαν πριν τη διαγραφή. Περιπτώσεις ) Ο προς διαγραφή κόµβος είναι φύλλο. ιαγράφουµε τον κόµβο χωρίς να εκτελέσουµε κάποια επιπρόσθετη ενέργεια. 2) Ο προς διαγραφή κόµβος είναι εσωτερικός αλλά έχει µόνο ένα παιδί. Αντικαθιστούµε τον κόµβο µε το µοναδικό παιδί του. 3) Ο προς διαγραφή κόµβος είναι εσωτερικός µε δύο παιδιά. Αντικαθιστούµε τον κόµβο µε τον επόµενο ή τον προηγούµενό του στην ενδο-διατεταγµένη διάσχιση. Αυτός είναι κόµβος µε το πολύ ένα παιδί. Γιατί; α. β. γ. δ. a. Αρχικό ένδρο, β. ιαγραφή Ν από αρχικό δένδρο, γ. ιαγραφή Μ από αρχικό δένδρο, δ. ιαγραφή F από αρχικό δένδρο ΗΥ240 - Παναγιώτα Φατούρου 8 9

10 Ταξινοµηµένα ένδρα - ιαγραφή Υποθέτουµε πως το δένδρο είναι διπλά συνδεδεµένο, δηλαδή κάθε κόµβος έχει ένα δείκτη p που δείχνει στο γονικό κόµβο. poiter BiaryTreeDelete(poiter R, Key K) { /* Ο R είναι η διεύθυνση ενός δείκτη στη ρίζα του δένδρου */ /* Το Κ είναι το κλειδί του προς διαγραφή κόµβου */ if (z->lc == NULL z->rc == NULL) y = z; else y = TreeSuccessor(z); y x=null y x if (y->lc!= NULL) x = y->lc; else x = y->rc; if (x!= NULL) x->p = y->p; if (y->p == NULL) retur x; // διαγραφή ρίζας else if (y == y->p->lc) y->p->lc = x; else y->p->rc = x; x x if (y!= z) z->key = y->key; if y has other fields copy them two; retur R; ΗΥ240 - Παναγιώτα Φατούρου 9 y x z Ταξινοµηµένα ένδρα Θεώρηµα Η χρονική πολυπλοκότητα των λειτουργιών Isert(), Delete() και LookUp() σε ταξινοµηµένα δυαδικά δένδρα είναι O(h), όπου h το ύψος του δένδρου. Ποιο πρόβληµα µπορεί να προκύψει µε συνεχή αντικατάσταση του κόµβου µε τον επόµενό του στην ενδο-διατεταγµένη διάσχιση? Στατικά Ταξινοµηµένα υαδικά ένδρα Υπάρχουν κλειδιά που αναζητούνται πιο συχνά και άλλα που αναζητούνται πιο σπάνια. Σε µια λίστα, κλειδιά που αναζητούνται συχνά κρατούνται όσο το δυνατόν πιο κοντά στην αρχή της λίστας. Ποιο είναι το ανάλογο του ευριστικού Μετακίνησης στην Αρχή» σε ένα ταξινοµηµένο δυαδικό δένδρο? Κάθε φορά που αναζητείται ένα κλειδί µεταφέρεται στη ρίζα. Ωστόσο, αυτό θα πρέπει να γίνει προσεκτικά ώστε να µην καταστρέφεται η ιδιότητα ταξινόµησης του δένδρου. ΗΥ240 - Παναγιώτα Φατούρου 20 0

ΕΝΟΤΗΤΑ 4 ΣΥΝΟΛΑ - ΛΕΞΙΚΑ

ΕΝΟΤΗΤΑ 4 ΣΥΝΟΛΑ - ΛΕΞΙΚΑ ΕΝΟΤΗΤΑ 4 ΣΥΝΟΛΑ - ΛΕΞΙΚΑ ΗΥ240 - Παναγιώτα Φατούρου 1 Σύνολα (Sets) q Τα µέλη ενός συνόλου προέρχονται από κάποιο χώρο U (universe) αντικειµένων/στοιχείων (π.χ., σύνολα αριθµών, λέξεων, ζευγών σύνολα

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

Insert(K,I,S) Delete(K,S)

Insert(K,I,S) Delete(K,S) ΕΝΟΤΗΤΑ 5 ΣΥΝΟΛΑ & ΛΕΞΙΚΑ Φατούρου Παναγιώτα 1 Σύνολα (Sets) Τα µέλη ενός συνόλου προέρχονται από κάποιο χώρο αντικειµένων/στοιχείων (π.χ., σύνολα αριθµών, λέξεων, ζευγών αποτελούµενα από έναν αριθµό και

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

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

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. Δομές δεδομένων. Ενότητα 4η: Σύνολα - Λεξικά Παναγιώτα Φατούρου Τμήμα Επιστήμης Υπολογιστών ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Δομές δεδομένων Ενότητα 4η: Σύνολα - Λεξικά Παναγιώτα Φατούρου Τμήμα Επιστήμης Υπολογιστών ΕΝΟΤΗΤΑ 4 ΣΥΝΟΛΑ - ΛΕΞΙΚΑ ΗΥ240 - Παναγιώτα Φατούρου 2 Σύνολα (Sets) Τα

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

ΕΝΟΤΗΤΑ 5 ΣΥΝΟΛΑ - ΛΕΞΙΚΑ. ΗΥ240 - Παναγιώτα Φατούρου 1

ΕΝΟΤΗΤΑ 5 ΣΥΝΟΛΑ - ΛΕΞΙΚΑ. ΗΥ240 - Παναγιώτα Φατούρου 1 ΕΝΟΤΗΤΑ 5 ΣΥΝΟΛΑ - ΛΕΞΙΚΑ ΗΥ24 - Παναγιώτα Φατούρου 1 Σύνολα (Sets) Τα µέλη ενός συνόλου προέρχονται από κάποιο χώρο U αντικειµένων/στοιχείων (π.χ., σύνολα αριθµών, λέξεων, ζευγών αποτελούµενα από έναν

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

αντικειµένων/στοιχείων (π.χ., σύνολα αριθµών, λέξεων, ζευγών

αντικειµένων/στοιχείων (π.χ., σύνολα αριθµών, λέξεων, ζευγών ΕΝΟΤΗΤΑ ΣΥΝΟΛΑ - ΛΕΞΙΚΑ ΗΥ24 - Παναγιώτα Φατούρου 1 Σύνολα (Sets) Τα µέλη ενός συνόλου προέρχονται από κάποιο χώρο U αντικειµένων/στοιχείων (π.χ., σύνολα αριθµών, λέξεων, ζευγών αποτελούµενα από έναν αριθµό

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

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

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

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

οµές εδοµένων 3 ο Εξάµηνο ΕΝΟΤΗΤΑ 4 ΕΝ ΡΑ

οµές εδοµένων 3 ο Εξάµηνο ΕΝΟΤΗΤΑ 4 ΕΝ ΡΑ ΕΝΟΤΗΤΑ 4 ΕΝ ΡΑ 1 ένδρα εσωτερικός κόµβος u το δένδρο έχει ύψος 4 u έχει ύψος 3 w έχει βάθος 2 κόµβος ένδρο: γράφηµα χωρίς κύκλους o Ρίζα (root) o Κόµβος (node) o Ακµή (edge) o Γονέας (parent) Παιδί (child)

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

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

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Δομές δεδομένων Άσκηση αυτοαξιολόγησης 3-4 Παναγιώτα Φατούρου Τμήμα Επιστήμης Υπολογιστών Ενότητες 3 & 4: ένδρα, Σύνολα & Λεξικά Ασκήσεις και Λύσεις Άσκηση 1 Γράψτε

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

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

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

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

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

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

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

ΕΝΟΤΗΤΑ 7 ΟΥΡΕΣ ΠΡΟΤΕΡΑΙΟΤΗΤΑΣ ΣΩΡΟΙ

ΕΝΟΤΗΤΑ 7 ΟΥΡΕΣ ΠΡΟΤΕΡΑΙΟΤΗΤΑΣ ΣΩΡΟΙ ΕΝΟΤΗΤΑ 7 ΟΥΡΕΣ ΠΡΟΤΕΡΑΙΟΤΗΤΑΣ ΣΩΡΟΙ Ουρές Προτεραιότητας (Priority Queues) Θεωρούµε ότι τα προς αποθήκευση στοιχεία έχουν κάποια διάταξη (καθένα έχει µια προτεραιότητα). Τα προς αποθήκευση στοιχεία είναι

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

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

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

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

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

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

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

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

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

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

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

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

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

Ενότητα 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): επιστρέφει

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

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

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

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

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

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

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

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

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

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

Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων ομές εδομένων

Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων ομές εδομένων Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων 6. Δυαδικά Δέντρα 2 ομές εδομένων 4 5 Χρήστος ουλκερίδης Τμήμα Ψηφιακών Συστημάτων 18/11/2016 Εισαγωγή Τα

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

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

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

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

ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. Δοµές Δεδοµένων

ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. Δοµές Δεδοµένων ΟΝΟΜΑΤΕΠΩΝΥΜΟ: ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ AM: Δοµές Δεδοµένων Εξεταστική Ιανουαρίου 2014 Διδάσκων : Ευάγγελος Μαρκάκης 20.01.2014 ΥΠΟΓΡΑΦΗ ΕΠΟΠΤΗ: Διάρκεια εξέτασης : 2 ώρες και

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

ΗΥ240: Δομές Δεδομένων Εαρινό Εξάμηνο Ακαδημαϊκό Έτος 2018 Διδάσκουσα: Παναγιώτα Φατούρου Προγραμματιστική Εργασία - 2o Μέρος

ΗΥ240: Δομές Δεδομένων Εαρινό Εξάμηνο Ακαδημαϊκό Έτος 2018 Διδάσκουσα: Παναγιώτα Φατούρου Προγραμματιστική Εργασία - 2o Μέρος ΗΥ240: Δομές Δεδομένων Εαρινό Εξάμηνο Ακαδημαϊκό Έτος 2018 Διδάσκουσα: Παναγιώτα Φατούρου Προγραμματιστική Εργασία - 2o Μέρος Ημερομηνία Παράδοσης: Δευτέρα, 14 Μαΐου 2018, ώρα 23:59 Τρόπος Παράδοσης: Χρησιμοποιώντας

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

Οι βασικές πράξεις που ορίζουν τον ΑΤ δυαδικό δέντρο αναζήτησης είναι οι ακόλουθες:

Οι βασικές πράξεις που ορίζουν τον ΑΤ δυαδικό δέντρο αναζήτησης είναι οι ακόλουθες: υαδικά έντρα Αναζήτησης (Binary Search Trees) Ορισµός : Ένα δυαδικό δέντρο αναζήτησης t είναι ένα δυαδικό δέντρο, το οποίο είτε είναι κενό είτε: (i) όλα τα περιεχόµενα στο αριστερό υποδέντρο του t είναι

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

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

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

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

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) Ένα κόκκινο-µαύρο δένδρο είναι ένα δυαδικό δένδρο αναζήτησης στο οποίο οι κόµβοι µπορούν να χαρακτηρίζονται από ένα εκ των δύο χρωµάτων: µαύρο-κόκκινο. Το χρώµα της

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

Διάλεξη 12: Δέντρα ΙΙ Δυαδικά Δέντρα

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

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

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

Δομές Δεδομένων. Καθηγήτρια Μαρία Σατρατζέμη. Τμήμα Εφαρμοσμένης Πληροφορικής. Δομές Δεδομένων. Τμήμα Εφαρμοσμένης Πληροφορικής Ενότητα 8: Γραμμική Αναζήτηση και Δυαδική Αναζήτηση-Εισαγωγή στα Δέντρα και Δυαδικά Δέντρα-Δυαδικά Δέντρα Αναζήτησης & Υλοποίηση ΔΔΑ με δείκτες Καθηγήτρια Μαρία Σατρατζέμη Άδειες Χρήσης Το παρόν εκπαιδευτικό

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

Δομές Δεδομένων (Εργ.) Ακ. Έτος Διδάσκων: Ευάγγελος Σπύρου. Εργαστήριο 10 Δυαδικά Δένδρα Αναζήτησης

Δομές Δεδομένων (Εργ.) Ακ. Έτος Διδάσκων: Ευάγγελος Σπύρου. Εργαστήριο 10 Δυαδικά Δένδρα Αναζήτησης ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ Δομές Δεδομένων (Εργ.) Ακ. Έτος 2017-18 Διδάσκων: Ευάγγελος Σπύρου Εργαστήριο 10 Δυαδικά Δένδρα Αναζήτησης 1. Στόχος του εργαστηρίου Στόχος του δέκατου εργαστηρίου

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

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

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

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

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

Αλγόριθµοι και Πολυπλοκότητα Αλγόριθµοι και Πολυπλοκότητα Ν. Μ. Μισυρλής Τµήµα Πληροφορικής και Τηλεπικοινωνιών, Πανεπιστήµιο Αθηνών Καθηγητής: Ν. Μ. Μισυρλής () Αλγόριθµοι και Πολυπλοκότητα Φεβρουαρίου 0 / ένδρα Ενα δένδρο είναι

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

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

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

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

ένδρα (tail, head) Γονέας Παιδί (ancestor, descendant) Φύλλο Εσωτερικός Κόµβος (leaf, non-leaf) που αποτελεί το γονέα του v.

ένδρα (tail, head) Γονέας Παιδί (ancestor, descendant) Φύλλο Εσωτερικός Κόµβος (leaf, non-leaf) που αποτελεί το γονέα του v. ΕΝΟΤΗΤΑ 4 ΕΝ ΡΑ ΗΥ240 - Παναγιώτα Φατούρου 1 ένδρα Κόµβοι (nodes) Ακµές (edges) Ουρά και κεφαλή ακµής (tail, head) Γονέας Παιδί Αδελφικός κόµβος (parent, child, sibling) Μονοπάτι (path) Πρόγονος απόγονος

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

Cuckoo Hashing. Αλγόριθμοι και Πολυπλοκότητα. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο

Cuckoo Hashing. Αλγόριθμοι και Πολυπλοκότητα. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Cuckoo Hashing Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο β Πολυτεχνείο Πρόβλημα (ADT) Λεξικού υναμικά μεταβαλλόμενη συλλογή αντικειμένων που αναγνωρίζονται με «κλειδί» (π.χ.

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

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

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

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ 23: οµές εδοµένων και Αλγόριθµοι Ενδιάµεση Εξέταση Ηµεροµηνία : ευτέρα, 3 Νοεµβρίου 2008 ιάρκεια : 2.00-4.00 ιδάσκουσα : Άννα Φιλίππου Ονοµατεπώνυµο: ΣΚΕΛΕΤΟΙ

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

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

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

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

Αναζήτηση. 1. Σειριακή αναζήτηση 2. Δυαδική Αναζήτηση. Εισαγωγή στην Ανάλυση Αλγορίθμων Μάγια Σατρατζέμη

Αναζήτηση. 1. Σειριακή αναζήτηση 2. Δυαδική Αναζήτηση. Εισαγωγή στην Ανάλυση Αλγορίθμων Μάγια Σατρατζέμη Αναζήτηση. Σειριακή αναζήτηση. Δυαδική Αναζήτηση Εισαγωγή στην Ανάλυση Αλγορίθμων Μάγια Σατρατζέμη Παραδοχή Στη συνέχεια των διαφανειών (διαλέξεων) η ασυμπτωτική έκφραση (συμβολισμός Ο, Ω, Θ) του χρόνου

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

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

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

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

υαδικά έντρα Αναζήτησης

υαδικά έντρα Αναζήτησης ηµήτρης Φωτάκης Τµήµα Μηχανικών Πληροφοριακών και Επικοινωνιακών Συστηµάτων Πανεπιστήµιο Αιγαίου υαδικά έντρα µε ρίζα. Κάθε εσωτερικός κόµβος περιέχει στοιχείο (αριθµό) και έχει δύο παιδιά. NULL-φύλλα

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

Προγραµµατισµός Ι (ΗΥ120)

Προγραµµατισµός Ι (ΗΥ120) Προγραµµατισµός Ι (ΗΥ120) Διάλεξη 15: Διασυνδεµένες Δοµές - Λίστες Δοµές δεδοµένων! Ένα τυπικό πρόγραµµα επεξεργάζεται δεδοµένα Πώς θα τα διατάξουµε? 2 Τι λειτουργίες θέλουµε να εκτελέσουµε? Πώς θα υλοποιήσουµε

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

ΗΥ240: Δομές Δεδομένων Εαρινό Εξάμηνο Ακαδημαϊκό Έτος Προγραμματιστική Εργασία - 2o Μέρος

ΗΥ240: Δομές Δεδομένων Εαρινό Εξάμηνο Ακαδημαϊκό Έτος Προγραμματιστική Εργασία - 2o Μέρος Πανεπιστήµιο Κρήτης Τµήµα Επιστήµης Υπολογιστών, 4 Μαρτίου 2019 ΗΥ240: Δομές Δεδομένων Εαρινό Εξάμηνο Ακαδημαϊκό Έτος 2018-2019 Προγραμματιστική Εργασία - 2o Μέρος Ημερομηνία Παράδοσης: Δευτέρα, 13 Μαϊου

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

Ενότητα 2 Στοίβες Ουρές - Λίστες

Ενότητα 2 Στοίβες Ουρές - Λίστες Ενότητα 2 Στοίβες Ουρές - Λίστες ΗΥ240 - Παναγιώτα Φατούρου 1 Λίστες Γραµµική λίστα (linear list) είναι ένα σύνολο από n 0 στοιχεία ή κόµβους e 1,..., e n, τα οποία είναι διατεταγµένα µε γραµµική σειρά.

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

Δυαδικά Δένδρα Αναζήτησης, Δένδρα AVL

Δυαδικά Δένδρα Αναζήτησης, Δένδρα AVL Δυαδικά Δένδρα Αναζήτησης, Δένδρα AVL Υλικό από τις σηµειώσεις Ν. Παπασπύρου, 2006 Δέντρα δυαδικής αναζήτησης Δενδρικές δοµές δεδοµένων στις οποίες Όλα τα στοιχεία στο αριστερό υποδέντρο της ρίζας είναι

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

Διασυνδεδεμένες Δομές. Δυαδικά Δέντρα. Προγραμματισμός II 1

Διασυνδεδεμένες Δομές. Δυαδικά Δέντρα. Προγραμματισμός II 1 Διασυνδεδεμένες Δομές Δυαδικά Δέντρα Προγραμματισμός II 1 lalis@inf.uth.gr Δέντρα Τα δέντρα είναι κλασικές αναδρομικές δομές Ένα δέντρο αποτελείται από υποδέντρα, καθένα από τα οποία μπορεί να θεωρηθεί

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

ΕΝΟΤΗΤΑ 6 ΛΙΣΤΕΣ ΠΑΡΑΛΕΙΨΗΣ (SKIP LISTS)

ΕΝΟΤΗΤΑ 6 ΛΙΣΤΕΣ ΠΑΡΑΛΕΙΨΗΣ (SKIP LISTS) ΕΝΟΤΗΤΑ 6 ΛΙΣΤΕΣ ΠΑΡΑΛΕΙΨΗΣ (SKIP LISTS) Ταχεία Αναζήτηση Σε πίνακα: δυαδική αναζήτηση (binary search) σε ταξινοµηµένο πίνακα O(log n) Σε δένδρο: αναζήτηση σε ισοζυγισµένο δένδρο O(log n) Σε λίστα: Μπορούµε

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

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

Διάλεξη 14: Δέντρα IV B Δένδρα. Διδάσκων: Παναγιώτης Ανδρέου Διάλεξη 14: Δέντρα IV B Δένδρα Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: 2 3 Δένδρα, Εισαγωγή και άλλες πράξεις Άλλα Δέντρα: Β δένδρα, Β+ δέντρα, R δέντρα Διδάσκων: Παναγιώτης Ανδρέου ΕΠΛ231

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

Δυναμικός Κατακερματισμός. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Δυναμικός Κατακερματισμός. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Δυναμικός Κατακερματισμός Βάσεις Δεδομένων 2013-2014 Ευαγγελία Πιτουρά 1 Κατακερματισμός Τι αποθηκεύουμε στους κάδους; Στα παραδείγματα δείχνουμε μόνο την τιμή του πεδίου κατακερματισμού Την ίδια την εγγραφή

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

Ενότητα 2 Στοίβες Ουρές - Λίστες. ΗΥ240 - Παναγιώτα Φατούρου 1

Ενότητα 2 Στοίβες Ουρές - Λίστες. ΗΥ240 - Παναγιώτα Φατούρου 1 Ενότητα 2 Στοίβες Ουρές - Λίστες ΗΥ240 - Παναγιώτα Φατούρου 1 Λίστες Γραµµική λίστα (linear list) είναι ένα σύνολο από n 0 στοιχεία ή κόµβους L 1,..., L n, τα οποία είναι διατεταγµένα µε γραµµική σειρά.

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

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

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

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

Στοίβες Ουρές - Λίστες

Στοίβες Ουρές - Λίστες Ενότητα 3 Στοίβες Ουρές - Λίστες ΗΥ240 - Παναγιώτα Φατούρου 1 Λίστες Γραµµική λίστα (linear list) είναι ένα σύνολο από n 0 στοιχεία ή κόµβους L 1,..., L n, τα οποία είναι διατεταγµένα µε γραµµική σειρά.

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

ΣΧΟΛΗ ΔΙΟΙΚΗΣΗΣ ΚΑΙ ΟΙΚΟΝΟΜΙΑΣ ΤΜΗΜΑ ΔΙΟΙΚΗΣΗΣ ΕΠΙΧΕΙΡΗΣΕΩΝ (ΠΑΤΡΑ) ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ

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

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

Προγραμματισμός Ι (ΗΥ120)

Προγραμματισμός Ι (ΗΥ120) Προγραμματισμός Ι (ΗΥ120) Διάλεξη 20: Δυαδικό Δέντρο Αναζήτησης Δυαδικό δέντρο Κάθε κόμβος «γονέας» περιέχει δύο δείκτες που δείχνουν σε δύο κόμβους «παιδιά» του ιδίου τύπου. Αν οι δείκτες προς αυτούς

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

Οργάνωση αρχείων: πως είναι τοποθετηµένες οι εγγραφές ενός αρχείου όταν αποθηκεύονται στο δίσκο

Οργάνωση αρχείων: πως είναι τοποθετηµένες οι εγγραφές ενός αρχείου όταν αποθηκεύονται στο δίσκο Κατακερµατισµός 1 Οργάνωση Αρχείων (σύνοψη) Οργάνωση αρχείων: πως είναι τοποθετηµένες οι εγγραφές ενός αρχείου όταν αποθηκεύονται στο δίσκο 1. Αρχεία Σωρού 2. Ταξινοµηµένα Αρχεία Φυσική διάταξη των εγγραφών

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

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

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

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

Δυναμικός Κατακερματισμός. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Δυναμικός Κατακερματισμός. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Δυναμικός Κατακερματισμός Βάσεις Δεδομένων 2017-2018 1 Κατακερματισμός Πρόβλημα στατικού κατακερματισμού: Έστω Μ κάδους και r εγγραφές ανά κάδο - το πολύ Μ * r εγγραφές (αλλιώς μεγάλες αλυσίδες υπερχείλισης)

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

διεύθυνση πρώτου στοιχείου διεύθυνση i-οστού στοιχείου T t[n]; &t[0] είναι t &t[i] είναι t + i*sizeof(t)

διεύθυνση πρώτου στοιχείου διεύθυνση i-οστού στοιχείου T t[n]; &t[0] είναι t &t[i] είναι t + i*sizeof(t) Προγραµµατισµός Ι (ΗΥ120) ιάλεξη 18: ιασυνδεµένες οµές - Λίστες ιασυνδεδεµένες δοµές δεδοµένων Η µνήµη ενός πίνακα δεσµεύεται συνεχόµενα. Η πρόσβαση στο i-οστό στοιχείο είναι άµεσηκαθώς η διεύθυνση του

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

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

Κατ οίκον Εργασία 3 Σκελετοί Λύσεων Κατ οίκον Εργασία 3 Σκελετοί Λύσεων Άσκηση 1 (α) Έστω Α(n) και Κ(n) ο αριθμός των ακμών και ο αριθμός των κόμβων ενός αυστηρά δυαδικού δένδρου με n φύλλα. Θέλουμε να αποδείξουμε για κάθε n 1 την πρόταση

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

ΗΥ240: οµές εδοµένων Χειµερινό Εξάµηνο Ακαδηµαϊκό Έτος Παναγιώτα Φατούρου. Προγραµµατιστική Εργασία 3 ο Μέρος

ΗΥ240: οµές εδοµένων Χειµερινό Εξάµηνο Ακαδηµαϊκό Έτος Παναγιώτα Φατούρου. Προγραµµατιστική Εργασία 3 ο Μέρος Πανεπιστήµιο Κρήτης, Τµήµα Επιστήµης Υπολογιστών 6 εκεµβρίου 2008 ΗΥ240: οµές εδοµένων Χειµερινό Εξάµηνο Ακαδηµαϊκό Έτος 2008-09 Παναγιώτα Φατούρου Προγραµµατιστική Εργασία 3 ο Μέρος Ηµεροµηνία Παράδοσης:

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

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

Δομές Δεδομένων. Δημήτρης Μιχαήλ. Ουρές Προτεραιότητας. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Δομές Δεδομένων Ουρές Προτεραιότητας Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ουρά Προτεραιότητας Το πρόβλημα Έχουμε αντικείμενα με κλειδιά και θέλουμε ανά πάσα στιγμή

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

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

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

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

Δυναμικός Κατακερματισμός. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Δυναμικός Κατακερματισμός. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Δυναμικός Κατακερματισμός 1 Κατακερματισμός Τι αποθηκεύουμε στους κάδους; Στα παραδείγματα δείχνουμε μόνο την τιμή του πεδίου κατακερματισμού Την ίδια την εγγραφή (ως τρόπος οργάνωσης αρχείου) μέγεθος

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

Προγραμματισμός Ι (ΗΥ120)

Προγραμματισμός Ι (ΗΥ120) Προγραμματισμός Ι (ΗΥ120) Διάλεξη 15: Διασυνδεμένες Δομές - Λίστες Διασυνδεδεμένες δομές δεδομένων Η μνήμη ενός πίνακα δεσμεύεται συνεχόμενα. Η πρόσβαση στο i-οστό στοιχείο είναι άμεση καθώς η διεύθυνση

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

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

Ν. Μ. Μισυρλής. Τµήµα Πληροφορικής και Τηλεπικοινωνιών, Πανεπιστήµιο Αθηνών. Καθηγητής: Ν. Μ. Μισυρλής 29 Μαΐου / 18 Ν. Μ. Μισυρλής Τµήµα Πληροφορικής και Τηλεπικοινωνιών, Πανεπιστήµιο Αθηνών Καθηγητής: Ν. Μ. Μισυρλής 29 Μαΐου 2017 1 / 18 Βέλτιστα (στατικά) δυαδικά δένδρα αναζήτησης Παράδειγµα: Σχεδιασµός προγράµµατος

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

Σχεδίαση Αλγορίθμων -Τμήμα Πληροφορικής ΑΠΘ - Εξάμηνο 4ο

Σχεδίαση Αλγορίθμων -Τμήμα Πληροφορικής ΑΠΘ - Εξάμηνο 4ο Πολλαπλασιασμός μεγάλων ακεραίων (1) Για να πολλαπλασιάσουμε δύο ακεραίους με n 1 και n 2 ψηφία με το χέρι, θα εκτελέσουμε n 1 n 2 πράξεις πολλαπλασιασμού Πρόβλημα ρβημ όταν έχουμε πολλά ψηφία: A = 12345678901357986429

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

Τα δεδομένα (περιεχόμενο) μιας βάσης δεδομένων αποθηκεύεται στο δίσκο

Τα δεδομένα (περιεχόμενο) μιας βάσης δεδομένων αποθηκεύεται στο δίσκο Κατακερματισμός 1 Αποθήκευση εδομένων (σύνοψη) Τα δεδομένα (περιεχόμενο) μιας βάσης δεδομένων αποθηκεύεται στο δίσκο Παραδοσιακά, μία σχέση (πίνακας/στιγμιότυπο) αποθηκεύεται σε ένα αρχείο Αρχείο δεδομένων

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

Πρόβληµα (ADT) Λεξικού. Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Λεξικό, Union - Find 2

Πρόβληµα (ADT) Λεξικού. Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Λεξικό, Union - Find 2 Πρόβληµα (ADT) Λεξικού Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Λεξικό, Union - Find 2 Πρόβληµα (ADT) Λεξικού Δυναµικά µεταβαλλόµενη συλλογή αντικειµένων που αναγνωρίζονται µε κλειδί (π.χ. κατάλογοι,

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

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

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

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

Δένδρα. Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα:

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

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

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

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

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

Δυαδικά Δέντρα Αναζήτησης (Binary Search Trees) Ορισμός : Ένα δυαδικό δέντρο αναζήτησης t είναι ένα δυαδικό δέντρο, το οποίο είτε είναι κενό είτε:

Δυαδικά Δέντρα Αναζήτησης (Binary Search Trees) Ορισμός : Ένα δυαδικό δέντρο αναζήτησης t είναι ένα δυαδικό δέντρο, το οποίο είτε είναι κενό είτε: Δυαδικά Δέντρα Αναζήτησης (Binary Search Trees) Ορισμός : Ένα δυαδικό δέντρο αναζήτησης t είναι ένα δυαδικό δέντρο, το οποίο είτε είναι κενό είτε: (i) όλα τα περιεχόμενα στο αριστερό υποδέντρο του t είναι

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

Δυναμικός Κατακερματισμός. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Δυναμικός Κατακερματισμός. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Δυναμικός Κατακερματισμός Βάσεις Δεδομένων 2018-2019 1 Κατακερματισμός Πρόβλημα στατικού κατακερματισμού: Έστω Μ κάδους και r εγγραφές ανά κάδο - το πολύ Μ * r εγγραφές (αλλιώς μεγάλες αλυσίδες υπερχείλισης)

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

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

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

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

ΗΥ240: Δομές Δεδομένων Εαρινό Εξάμηνο Ακαδημαϊκό Έτος 2017 Διδάσκουσα: Παναγιώτα Φατούρου Προγραμματιστική Εργασία - 2o Μέρος

ΗΥ240: Δομές Δεδομένων Εαρινό Εξάμηνο Ακαδημαϊκό Έτος 2017 Διδάσκουσα: Παναγιώτα Φατούρου Προγραμματιστική Εργασία - 2o Μέρος ΗΥ240: Δομές Δεδομένων Εαρινό Εξάμηνο Ακαδημαϊκό Έτος 2017 Διδάσκουσα: Παναγιώτα Φατούρου Προγραμματιστική Εργασία - 2o Μέρος Ημερομηνία Παράδοσης: Δευτέρα, 15 Μαΐου 2017, ώρα 23:59. Τρόπος Παράδοσης:

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

ΕΠΛ 231 οµές εδοµένων και Αλγόριθµοι Άννα Φιλίππου, 2006 9-1

ΕΠΛ 231 οµές εδοµένων και Αλγόριθµοι Άννα Φιλίππου, 2006 9-1 Σωροί Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: Ουρές Προτεραιότητας Σωροί υλοποίηση και πράξεις Ο αλγόριθµος ταξινόµησης HeapSort Παραλλαγές Σωρών ΕΠΛ 231 οµές εδοµένων και Αλγόριθµοι

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

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

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

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

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

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

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

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

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

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

ΟιβασικέςπράξειςπουορίζουντονΑΤΔ δυαδικό δέντρο αναζήτησης είναι οι ακόλουθες:

ΟιβασικέςπράξειςπουορίζουντονΑΤΔ δυαδικό δέντρο αναζήτησης είναι οι ακόλουθες: Δυαδικά Δέντρα Αναζήτησης (Binary Search Trees) Ορισμός : Ένα δυαδικό δέντρο αναζήτησης t είναι ένα δυαδικό δέντρο, το οποίο είτε είναι κενό είτε: (i) όλα τα περιεχόμενα στο αριστερό υποδέντρο του t είναι

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

Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων ομές εδομένων

Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων ομές εδομένων Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων 2. Πίνακες 45 23 28 95 71 19 30 2 ομές εδομένων 4 5 Χρήστος ουλκερίδης Τμήμα Ψηφιακών Συστημάτων 12/10/2017

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

ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. Δοµές Δεδοµένων

ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. Δοµές Δεδοµένων ΟΝΟΜΑΤΕΠΩΝΥΜΟ: ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ AM: Δοµές Δεδοµένων Πτυχιακή Εξεταστική Ιούλιος 2014 Διδάσκων : Ευάγγελος Μαρκάκης 09.07.2014 ΥΠΟΓΡΑΦΗ ΕΠΟΠΤΗ: Διάρκεια εξέτασης : 2 ώρες

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

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

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

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

Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων ομές εδομένων

Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων ομές εδομένων Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων 2. Πίνακες 45 23 28 95 71 19 30 2 ομές εδομένων 4 5 Χρήστος ουλκερίδης Τμήμα Ψηφιακών Συστημάτων 21/10/2016

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

ΕΝΟΤΗΤΑ 4 ΕΝ ΡΑ. ΗΥ240 - Παναγιώτα Φατούρου 1

ΕΝΟΤΗΤΑ 4 ΕΝ ΡΑ. ΗΥ240 - Παναγιώτα Φατούρου 1 ΕΝΟΤΗΤΑ 4 ΕΝ ΡΑ ΗΥ240 - Παναγιώτα Φατούρου 1 ένδρα Κόµβοι (nodes) Ακµές (edges) Ουρά και κεφαλή ακµής (tail, head) Γονέας Παιδί Αδελφικός κόµβος (parent, child, sibling) Μονοπάτι (path) Πρόγονος απόγονος

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

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

Κατ οίκον Εργασία 3 Σκελετοί Λύσεων Άσκηση 1 Χρησιµοποιούµε τη δοµή Κατ οίκον Εργασία 3 Σκελετοί Λύσεων typedef struct Node int data; struct node *lchild; struct node *rbro; node; και υποθέτουµε πως ένα τυχαίο δένδρο είναι υλοποιηµένο ως

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

Διασυνδεδεμένες Δομές. Λίστες. Προγραμματισμός II 1

Διασυνδεδεμένες Δομές. Λίστες. Προγραμματισμός II 1 Διασυνδεδεμένες Δομές Λίστες Προγραμματισμός II 1 lalis@inf.uth.gr Διασυνδεδεμένες δομές Η μνήμη ενός πίνακα δεσμεύεται συνεχόμενα η πρόσβαση στο i-οστό στοιχείο είναι άμεση καθώς η διεύθυνση του είναι

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

Ταξινόμηση. 1. Στατιστικά Διάταξης 2. Στατιστικά σε Μέσο Γραμμικό Χρόνο. Εισαγωγή στην Ανάλυση Αλγορίθμων Μάγια Σατρατζέμη

Ταξινόμηση. 1. Στατιστικά Διάταξης 2. Στατιστικά σε Μέσο Γραμμικό Χρόνο. Εισαγωγή στην Ανάλυση Αλγορίθμων Μάγια Σατρατζέμη Ταξινόμηση. Στατιστικά Διάταξης. Στατιστικά σε Μέσο Γραμμικό Χρόνο Εισαγωγή στην Ανάλυση Αλγορίθμων Μάγια Σατρατζέμη Στατιστικά Διάταξης Με τον όρο στατιστικά διάταξης (order statistics) εννοούμε την περίπτωση

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

Αφηρημένες Δομές Δεδομένων. Στοίβα (Stack) Υλοποίηση στοίβας

Αφηρημένες Δομές Δεδομένων. Στοίβα (Stack) Υλοποίηση στοίβας Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής ισαγωγή στην πιστήμη των Υπολογιστών 2015-16 λγόριθμοι και ομές εδομένων (IΙ) (γράφοι και δένδρα) http://di.ionio.gr/~mistral/tp/csintro/ Μ.Στεφανιδάκης φηρημένες

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

ΑΛΓΟΡΙΘΜΟΙ ΜΕ C. ΝΙΚΟΛΑΟΣ ΣΑΜΑΡΑΣ Αναπληρωτής Καθηγητής. CMOR Lab. Computational Methodologies and Operations Research

ΑΛΓΟΡΙΘΜΟΙ ΜΕ C. ΝΙΚΟΛΑΟΣ ΣΑΜΑΡΑΣ Αναπληρωτής Καθηγητής. CMOR Lab. Computational Methodologies and Operations Research ΑΛΓΟΡΙΘΜΟΙ ΜΕ C ΝΙΚΟΛΑΟΣ ΣΑΜΑΡΑΣ Αναπληρωτής Καθηγητής CMOR Lab Computational Methodologies and Operations Research Δέντρα (5) Τ ένα δέντρο i ένας κόμβος στο επίπεδο k j ένας κόμβος στο επίπεδο k+1 } :

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

Διάλεξη 14: Δέντρα IV - B-Δένδρα

Διάλεξη 14: Δέντρα IV - B-Δένδρα ΕΠΛ231 Δομές Δεδομένων και Αλγόριθμοι 1 Διάλεξη 14: Δέντρα IV - B-Δένδρα Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - 2-3 Δένδρα, Εισαγωγή και άλλες πράξεις - Άλλα Δέντρα: Β-δένδρα, Β+-δέντρα,

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

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

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

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

ΕΠΛ 231 οµές εδοµένων και Αλγόριθµοι Άννα Φιλίππου,

ΕΠΛ 231 οµές εδοµένων και Αλγόριθµοι Άννα Φιλίππου, B- ένδρα Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: 2-3 ένδρα, Υλοποίηση και πράξεις Β-δένδρα ΕΠΛ 231 οµές εδοµένων και Αλγόριθµοι Άννα Φιλίππου, 2006 8-1 2-3 ένδρα Γενίκευση των δυαδικών

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

Υλοποίηση Λιστών. Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα:

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

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

Δένδρα. Μαθηματικά (συνδυαστικά) αντικείμενα. Έχουν κεντρικό ρόλο στην επιστήμη των υπολογιστών :

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

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

ένδρα u o Κόµβοι (nodes) o Ακµές (edges) o Ουρά και κεφαλή ακµής (tail, head) o Γονέας Παιδί Αδελφικός κόµβος (parent, child, sibling) o Μονοπάτι (pat

ένδρα u o Κόµβοι (nodes) o Ακµές (edges) o Ουρά και κεφαλή ακµής (tail, head) o Γονέας Παιδί Αδελφικός κόµβος (parent, child, sibling) o Μονοπάτι (pat ΕΝΟΤΗΤΑ 4 ΕΝ ΡΑ ένδρα u o Κόµβοι (nodes) o Ακµές (edges) o Ουρά και κεφαλή ακµής (tail, head) o Γονέας Παιδί Αδελφικός κόµβος (parent, child, sibling) o Μονοπάτι (path) o Πρόγονος απόγονος (ancestor, descendant)

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

Σύνοψη Προηγούμενου. Πίνακες (Arrays) Πίνακες (Arrays): Βασικές Λειτουργίες. Πίνακες (Arrays) Ορέστης Τελέλης

Σύνοψη Προηγούμενου. Πίνακες (Arrays) Πίνακες (Arrays): Βασικές Λειτουργίες. Πίνακες (Arrays) Ορέστης Τελέλης Σύνοψη Προηγούμενου Πίνακες (Arrays Ορέστης Τελέλης telelis@unipi.gr Τμήμα Ψηφιακών Συστημάτων, Πανεπιστήμιο Πειραιώς Διαδικαστικά θέματα. Aντικείμενο Μαθήματος. Aντικείμενα, Κλάσεις, Μέθοδοι, Μεταβλητές.

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

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

Δομές Δεδομένων και Αλγόριθμοι Δομές Δεδομένων και Αλγόριθμοι Χρήστος Γκόγκος ΤΕΙ Ηπείρου Χειμερινό Εξάμηνο 2014-2015 Παρουσίαση 17 Σωροί (Heaps) έκδοση 10 1 / 19 Heap Σωρός Ο σωρός είναι μια μερικά ταξινομημένη δομή δεδομένων που υποστηρίζει

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

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

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

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

Κεφάλαιο 14 Προηγμένες Ουρές Προτεραιότητας

Κεφάλαιο 14 Προηγμένες Ουρές Προτεραιότητας Κεφάλαιο 14 Προηγμένες Ουρές Προτεραιότητας Περιεχόμενα 14.1 Διωνυμικά Δένδρα... 255 14.2 Διωνυμικές Ουρές... 258 14.1.1 Εισαγωγή στοιχείου σε διωνυμική ουρά... 258 14.1.2 Διαγραφή μεγίστου από διωνυμική

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

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

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

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