Advanced Data Indexing

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

Download "Advanced Data Indexing"

Transcript

1 Advanced Data Indexing (Προηγμένη ευρετηρίαση δεδομένων) Κατακερματισμός Hashing (1ο Μέρος)

2 Η Αναζήτηση απαιτεί Δομές Λύσεις Για να υποστηριχθεί η αποδοτική αναζήτηση απαιτείται η χρήση κατάλληλων δομών-ευρετηρίων (indexing). Οι δομές αυτές πρέπει να είναι κατάλληλες ώστε οι εξής 3 πράξεις να υποστηρίζονται αποδοτικά: 1. Εύρεση (search) ενός στοιχείου στο σύνολο. 2. Ένθεση (insert) ενός νέου στοιχείου στο σύνολο. 3. Διαγραφή (delete) ενός υπάρχοντος στοιχείου από το σύνολο. Δεν διατηρεί τα στοιχεία ταξινομημένα Διατηρούν τα στοιχεία ταξινομημένα Κατακερματισμός Δέντρα

3 Κατακερματισμός - Γιατί; Εφόσον έχουμε με τα δέντρα όλα τα πλεονεκτήματα (βέλτιστα κόστη Ι/Ο, διατήρηση ταξινομημένων στοιχείων => άμεση απάντηση σε ερωτήματα περιοχής), γιατί και πότε χρειάζεται ο κατακερματισμός; Όταν δεν μας ενδιαφέρει να κρατάμε τα στοιχεία ταξινομημένα, αλλά να τα «σκορπίσουμε» με τέτοιο τρόπο ώστε να πετύχουμε απόδοση για τις βασικές πράξεις (search, insert, delete) καλύτερη από αυτή των δέντρων. Πιο συγκεκριμένα:

4 Κατακερματισμός - Στόχοι Να διατηρήσουμε τον χώρο γραμμικό: O(N) στην κεντρική μνήμη ή O(N/B) στην δευτερεύουσα. Να πετύχουμε I/O κόστος ενημερώσεων (insert, delete) και αναζητήσεων (search) μικρότερο από Ο(logN) ή Ο(log B N) αντίστοιχα. Ακόμα και Ο(1). Το I/O κόστος κατασκευής της δομής (index) να είναι μικρότερο από το κόστος κατασκευής bulkload των δέντρων, δηλαδή καλύτερο από: N Θ N log ). Ακόμα και γραμμικό. ( B M B Φυσικά θα χάσουμε τη δυνατότητα άμεσης απάντησης ερωτημάτων περιοχής, αφού τα στοιχεία δεν θα διατηρούνται ταξινομημένα, αλλά και πάλι μπορούν να απαντηθούν με αναζήτηση των Ζ στοιχείων τους ένα-ένα με Ι/Ο κόστος O(Z) και όχι O(Z/B). B

5 Κατακερματισμός - Βασικά Υπόθεση Ακεραίου Σύμπαντος (Integer Universe): Όλα τα στοιχεία είναι ακέραιοι που ανήκουν μέσα σε ένα σύνολο U = {0, 1,..., u - 1} που καλείται σύμπαν. Δεν είναι περιοριστική η υπόθεση αυτή καθώς κάθε είδος δεδομένων (κείμενο, εικόνα, κλπ.) μετασχηματίζεται σε ένα πλήθος bit στην μνήμη του υπολογιστή, άρα μετατρέψιμο σε ακέραιο του δεκαδικού συστήματος (π.χ. Α ). Προσοχή όμως: σύνθετα δεδομένα μπορεί να δώσουν πολύ μεγάλους ακέραιους, οπότε το u (max) να είναι ακέραιος που δεν χωράει σε μία λέξη μνήμης (single word). Όλα τα στοιχεία είναι διαφορετικά μεταξύ τους. Δεν υποστηρίζονται στην δομή καταγραφές στοιχείων που επαναλαμβάνονται (ενώ υποστηρίζονται στα δέντρα).

6 Κατακερματισμός - Βασικά Υπόθεση Τυχαίας Επιλογής (Random Probing): Tα στοιχεία έρχονται με τη μορφή μίας ακολουθίας x 1, x 2,, x n και είναι άγνωστο που ανήκουν (black box). Κάθε στοιχείο τοποθετείται στη δομή hash ανεξάρτητα. Τα στοιχεία κατανέμονται ομοιόμορφα μέσα σε αυτήν. Όλα τα στοιχεία είναι διαφορετικά μεταξύ τους.

7 Κατακερματισμός - Βασικά Τα στοιχεία είναι συνήθως τα κλειδιά των αντικειμένων. θεωρούμε ότι σχηματίζουν το σύνολο S και έχουν πλήθος n (n= S ). Η δομή του κατακερματισμού είναι μία απλή δομή πίνακα A (hash table) με μέγεθος m= Α. Κάθε κλειδί του S αντιστοιχεί σε μία και μόνο μία θέση του πίνακα Α (κάδος). Ανάλογα με τις τιμές των n, m και τον τρόπο αντιστοιχίας προκύπτει ένα συγκεκριμένο πλήθος κενών θέσεων στον πίνακα.

8 Κατακερματισμός (integer universe assumption) U (σύμπαν στοιχείων) S (σύνολο κλειδιών) x 0 x 1 x n-1 x 2 0 u= U n= S u m= A m - 1 Α (πίνακας hash) 8

9 Κατακερματισμός (random probing assumption) 0 S x 0 x (σύνολο 1 κλειδιών) x n-1 x 2 n= S m= A m - 1 Α (πίνακας hash) 9

10 Μέθοδοι Κατακερματισμού integer universe Direct Addressing Hashing with chaining Hashing by Division Hashing by Multiplication Universal Hashing Perfect Hashing (static, dynamic) random probing Hashing with chaining Hashing with open addressing Linear probing Quadratic probing Double Hashing Brent s Method Multiple-Choice Hashing Asymmetric Hashing LCFS Hashing Robin-Hood Hashing Bloom Filters Cuckoo Hashing

11 Άμεση Διευθυνσιοδότηση (Direct Addressing)

12 Άμεση Διευθυνσιοδότηση (Direct Addressing) Τα n στοιχεία (κλειδιά) του S είναι ακέραιοι διαφορετικοί μεταξύ τους που ανήκουν στο σύμπαν U = {0, 1,..., u-1}, με u= U, S U n= S u. Ο πίνακας hash A έχει το ίδιο πλήθος θέσεων (κάδων) με το σύμπαν, δηλαδή A = U ή m=u. Κάθε στοιχείο x του S αποθηκεύεται απευθείας στην θέση A[x], δηλαδή ο δείκτης τοποθέτησης στον πίνακα hash ταυτίζεται με το ίδιο το στοιχείο (κλειδί).

13 Άμεση Διευθυνσιοδότηση (Direct Addressing) U (σύμπαν στοιχείων) S (σύνολο κλειδιών) x 0 x 1 x n-1 x 2 0 x 0 x 2 x 1 x n-1 Προβλήματα; u - 1 Α (πίνακας hash) 13

14 Προβλήματα - Αντιμετώπιση Το σύμπαν U μπορεί να είναι πολύ μεγαλύτερο του S, οπότε υπάρχει μεγάλη σπατάλη χώρου O(U). Μπορεί να μην χωράει ο πίνακας hash στην μνήμη. Το μόνο πλεονέκτημα της άμεσης διευθυνσιοδότησης είναι ότι το κόστος για search, insert, delete είναι πάντοτε Ο(1). Όταν το S είναι μικρότερο του U, ο πίνακας hash πρέπει να περιοριστεί σε μέγεθος m=o(s) (ακόμα και m= S ) και έτσι να απαιτεί λιγότερο χώρο από O(U). Θέλουμε όμως να κρατήσουμε το κόστος αναζήτησης σε Ο(1) τουλάχιστον για τη μέση περίπτωση (ή και για τη χειρότερη σε κάποιες περιπτώσεις). Πώς γίνεται αυτό;

15 Συνάρτηση Κατακερματισμού Χρήση μίας κατάλληλης συνάρτησης κατακερματισμού h (hash function) που θα αντιστοιχίζει κάθε στοιχείο του U σε μία συγκεκριμένη θέση του πίνακα hash: h : U {0, 1,..., m 1} Η συνάρτηση θα πρέπει να αντιστοιχίζει σε μία συγκεκριμένη θέση i {0, 1,..., m 1} όσο το δυνατόν λιγότερα x του U (δηλαδή έτσι ώστε h(x)=i). Ιδεατά θα θέλαμε να αντιστοιχίζει μόνο ένα (δηλαδή να είναι μία συνάρτηση 1-1). Τότε θα γίνεται: Χρήση της h για υπολογισμό της θέσης από το στοιχείο x. Αποθήκευση του στοιχείου x στη θέση h(x).

16 Συνάρτηση Κατακερματισμού S U (σύμπαν στοιχείων) x 1 (σύνολο x 4 x 2 κλειδιών) x 5 x 3 h 0 h(x 1 ) h(x 4 ) h(x 2 ) = h(x 5 ) h(x 3 ) Προβλήματα; m - 1 Α (πίνακας hash) 16

17 Προβλήματα - Αντιμετώπιση Το μεγαλύτερο πρόβλημα είναι οι συγκρούσεις των στοιχείων σε ίδιες θέσεις. Η αποφυγή των συγκρούσεων γίνεται με κατάλληλες συναρτήσεις hash. Ωστόσο δεν μπορούμε να τις αποφύγουμε πάντα (π.χ. όταν m<n είναι σίγουρο ότι θα συμβούν). Ανάλογα με το χειρισμό των συγκρούσεων έχουμε και διαφορετικές μεθόδους κατακερματισμού, π.χ. με αλυσίδες (chaining), με ανοικτή διευθυνσιοδότηση (open addressing), linear probing, cuckoo hashing, universal hashing, perfect hashing, κλπ.

18 Κατακερματισμός με Αλυσίδες (Hashing with Chaining)

19 Κατακερματισμός με Αλυσίδες (Hashing with Chaining) Η μέθοδος κατακερματισμού με αλυσίδες (hashing with chaining) έχει την εξής απλή ιδέα: Σε κάθε θέση (κάδο) του πίνακα hash Α δημιουργείται και μία γραμμική συνδεδεμένη λίστα (linked list). Ο πίνακας Α δηλαδή έχει ως στοιχεία τις κεφαλές (δείκτες heads) των λιστών. Κάθε φορά που ένα στοιχείο x εισάγεται στην δομή, βρίσκεται η αντίστοιχη θέση του h(x) μέσω της συνάρτησης κατακερματισμού h, και εισάγεται στην αντίστοιχη λίστα A[h(x)]. Συνεπώς στοιχεία που συγκρούονται τοποθετούνται στην ίδια λίστα. Η αναζήτηση ενός στοιχείου θα γίνεται βρίσκοντας την αντίστοιχη λίστα που ανήκει και διασχίζοντάς την γραμμικά. 19

20 Κατακερματισμός με Αλυσίδες (Hashing with Chaining) Α 20

21 Κατακερματισμός με Αλυσίδες: Απόδοση Η εισαγωγή μπορεί να γίνει πάντοτε σε Ο(1): Εντοπίζεται η θέση του στοιχείου μέσω της συνάρτησης hash, και εισάγεται απευθείας στην αρχή της αντίστοιχης λίστας (γίνεται η νέα κεφαλή). Η διαγραφή προϋποθέτει την εύρεση οπότε έχει το ίδιο κόστος με αυτήν. Τι κόστος όμως απαιτείται για την εύρεση ενός στοιχείου; Α 0 Χειρότερη περίπτωση: Τα n στοιχεία πέφτουν όλα στον ίδιο κάδο. Τότε: Κόστος χειρότερης περίπτωσης: Θ(n), συν το κόστος υπολογισμών της συνάρτησης κατακερματισμού. αλυσίδα m - 1

22 Κατακερματισμός με Αλυσίδες: Απόδοση Μέση Περίπτωση: Εξαρτάται από πόσο καλά κατανείμει η συνάρτηση h τα n στοιχεία στους m κάδους. Υπόθεση: έστω ότι η h είναι κατάλληλη και τα κατανείμει ομοιόμορφα (uniformly distributed). Τότε κάθε στοιχείo έχει την ίδια πιθανότητα να πέσει σε οποιονδήποτε από τους m κάδους (η πιθανότητα σύγκρουσης Pr(h(x)=h(y)) είναι 1/m). Αν το μήκος της κάθε λίστας (αλυσίδας) είναι: A[j] = n j, j = 0, 1,..., m 1 Τότε το πλήθος των κλειδιών στον πίνακα είναι: n = n 0 + n n m-1 Και το μέσο μήκος n j θα είναι: E[n j ] = n/m = α (occupancy) A n 0 = 0 n 2 n 3 n j n k n m 1 = 0

23 Κατακερματισμός με Αλυσίδες: Απόδοση Η αναζήτηση ενός στοιχείου x: όταν βρίσκεται στην δομή απαιτεί κόστος O(1) για τον υπολογισμό της θέσης h(x) από τη συνάρτηση hash, συν το μέσο κόστος σάρωσης της αλυσίδας που αντιστοιχεί, το οποίο είναι ανάλογο με το μέσο μήκος της α, δηλαδή συνολικά: Θ(1+(n-1)/m) = Θ(1+α). Όταν δεν βρίσκεται στην δομή απαιτεί κόστος O(1) για τον υπολογισμό της θέσης h(x) από τη συνάρτηση hash, συν το κόστος σάρωσης ολόκληρης της αλυσίδας που αντιστοιχεί (μέχρι το τέλος της) το οποίο είναι ανάλογο με το μέσο μήκος της α, δηλαδή συνολικά: Θ(1+n/m) = Θ(1+α). Κόστος αναζήτησης/διαγραφής μέσης περίπτωσης: Θ(1+α) Αν ο λόγος n/m, δηλαδή το α, είναι μία μικρή σταθερά τότε μπορούμε να πούμε με ασφάλεια ότι το κόστος και για τις πράξεις search, delete είναι Ο(1). Αν όμως το πλήθος των στοιχείων n είναι πολύ μεγαλύτερο του διαθέσιμου χώρου των m αλυσίδων, τότε το κόστος είναι σημαντικό.

24 Συναρτήσεις Κατακερματισμού Είναι πολύ σημαντική για την απόδοση η επιλογή της κατάλληλης συνάρτησης h. Πότε μία συνάρτηση θεωρείται καλή; (1) Όταν είναι εύκολα υπολογίσιμη. (2) Όταν προσεγγίζει σε λειτουργία μία τυχαία συνάρτηση: για κάθε στοιχείο εισόδου δίνει θέση εξόδου με την ίδια πιθανότητα (κάνει δηλαδή απλό ομοιόμορφο κατακερματισμό). Στην πράξη είναι δύσκολο να ικανοποιηθεί το δεύτερο κριτήριο καθώς δεν ξέρουμε συνήθως την κατανομή των στοιχείων εισόδου.

25 Χαρακτηριστικά Καλών Συναρτήσεων Ελαχιστοποίηση πιθανότητας να πέσουν δύο κοντινά στοιχεία στον ίδιο κάδο. π.χ. οι λέξεις rt και rts θα πρέπει να απεικονίζονται σε διαφορετικούς κάδους. Οι τιμές της συνάρτησης κατακερματισμού h πρέπει να είναι ανεξάρτητες των μοτίβων που μπορεί να υπάρχουν στα στοιχεία του S.

26 Κοινές Συναρτήσεις Κατακερματισμού Ορισμένες καλές συναρτήσεις στην πράξη όπως προτείνονται από τον D.E. Knuth (The Art of Computer Programming) είναι: Μέθοδος διαίρεσης: h( x) = x mod m Για αλφαριθμητικά της μορφής x = s 0 s 1... s k-1 : h( x) = i= k 1 0 i B s i mod 2 w mod m π.χ. B=131 και w = μήκος λέξης (bits) (w = 32 ή w = 64).

27 Μέθοδος Διαίρεσης (Hashing by Division)

28 Μέθοδος Διαίρεσης (Hashing by Division) Είναι κατακερματισμός με αλυσίδες όπου γίνεται χρήση της συνάρτησης: h(x) = x mod m Το στοιχείο x τοποθετείται σε έναν από τους m κάδους, ανάλογα με το υπόλοιπο της διαίρεσής του με το m. Πλεονέκτημα: Γρήγορη (μόνο μία πράξη). Μειονέκτημα: Μερικές τιμές του m προκαλούν πολλές συγκρούσεις: Δυνάμεις του 2 Σύνθετοι αριθμοί

29 Παράδειγμα Αν m = 2 p, τότε το h(x) είναι τα p λιγότερο σημαντικά bits του x: p = 1 m = 2 h(x) = {0,1}, 1 ο LSB του x p = 2 m = 4 h(x) = {0,1,2,3}, 2 λιγότερα σημαντικά ψηφία του x Συστήνεται η επιλογή του m ως πρώτου αριθμού, όχι κοντά σε δύναμη του 2. Στήλη 2: m = 87 Στήλη 3: m = 100

30 Μέθοδος Πολλαπλασιασμού (Hashing by Multiplication)

31 Η Μέθοδος Πολλαπλασιασμού Είναι όμοια με τη μέθοδο της διαίρεσης (κατακερματισμός με αλυσίδες) όπου όμως γίνεται χρήση της συνάρτησης: h(x) = m x b mod m Χρησιμοποιούμε μία πραγματική σταθερά b 0 η οποία πολλαπλασιάζεται με τα x και m. Κάποιες τιμές για την b είναι πιο ευνοϊκές. Ο Knuth προτείνει για b το χρυσό λόγο: 5 1 φ = = Πλεονέκτημα: Η τιμή του m δεν είναι πια κρίσιμη, συνεπώς μπορούμε να επιλέγουμε και δυνάμεις του 2 (m=2 p ). Η απόδοση και των δύο μεθόδων (διαίρεσης-πολλαπλασιασμού) είναι ίδια με του κατακερματισμού με αλυσίδες.

32 Παράδειγμα Εφόσον η τιμή του m μπορεί να είναι και δύναμη του 2, επιλέγουμε: m = 128 = 2 7. Για σταθερά b επιλέγουμε τον χρυσό λόγο φ. h( x) = x φ 128 mod128 Παρατηρούμε ότι και πάλι δεν έχουμε συγκρούσεις.

33 Καθολικός Κατακερματισμός (Universal Hashing)

34 Καθολικός Κατακερματισμός (Universal Hashing) Το μεγαλύτερο πρόβλημα που έχουν οι προηγούμενες μέθοδοι είναι ότι όταν το μέγεθος του πίνακα hash είναι πολύ μικρότερο από το μέγεθος του σύμπαντος (m<<u), τότε οποιαδήποτε συνάρτηση h και αν επιλεχθεί θα υπάρχουν ορισμένα μεγάλα υποσύνολα του U (μεγέθους τουλάχιστον u/m ) με την ίδια τιμή hash (άρα αν είναι μέρη του S θα προκαλέσουν πολλές συγκρούσεις). Επίσης στην πράξη, τα στοιχεία του S δεν είναι ομοιόμορφα κατανεμημένα, οπότε η κατανομή των τιμών τους επηρεάζει σημαντικά το πλήθος των συγκρούσεων. Στόχος: Συναρτήσεις που παράγουν τυχαίες διευθύνσεις στον πίνακα hash ανεξάρτητα από τα στοιχεία/κλειδιά. Ιδέα: Επέλεξε μία συνάρτηση τυχαία, από μία προκαθορισμένη οικογένεια συναρτήσεων.

35 Καθολικός Κατακερματισμός (Universal Hashing) Σύνολο συναρτήσεων κατακερματισμού h 1 ( ) h 2 ( ) h k ( ) Τυχαία επιλογή συνάρτησης (στην αρχή της εκτέλεσης) h i ( ) Πίνακας Κατακερματισμού

36 Καθολικός Κατακερματισμός (Universal Hashing) Έστω H μία οικογένεια συναρτήσεων κατακερματισμού: H={ h(x): U {0,1,..,m-1} } Ορισμός: H H είναι καθολική αν για κάθε x y: H h H : h( x) = h( y) m Δηλαδή όταν για κάθε ζεύγος στοιχείων το πλήθος των συναρτήσεων της οικογένειας που επιστρέφουν την ίδια τιμή hash δεν ξεπερνά το πλήθος όλης της οικογένειας δια m. H m H

37 Καθολικός Κατακερματισμός (Universal Hashing) Η ιδιότητα αυτή είναι χρήσιμη διότι βάζει φράγμα στην πιθανότητα των συγκρούσεων. Πιο συγκεκριμένα: η πιθανότητα σύγκρουσης για δύο τυχαία στοιχεία x, y με x y είναι ίση με την πιθανότητα επιλογής μίας συνάρτησης h H έτσι ώστε x y h(x) = h(y) που είναι ίση με: H / m Pr ( h( x) = h( y) ) = H 1 m

38 Καθολικός Κατακερματισμός (Universal Hashing) Αποτέλεσμα: Με τον καθολικό κατακερματισμό η πιθανότητα σύγκρουσης μεταξύ διαφορετικών στοιχείων x και y δεν είναι παραπάνω από 1/m εφόσον οι θέσεις h(x) και h(y) επιλέχθηκαν τυχαία και ανεξάρτητα από το σύνολο {0, 1,, m 1}. Στόχος: Ο σχεδιασμός κατάλληλων οικογενειών συναρτήσεων κατακερματισμού ώστε να είναι καθολικές και να τηρούν την ιδιότητα αυτή.

39 Μία Οικογένεια Καθολικών Συναρτήσεων Επιλέγεται ένας πρώτος αριθμός p αρκετά μεγάλος ώστε κάθε στοιχείο x να ανήκει στο διάστημα [0... p 1] (πλησιέστερος πρώτος μετά τον αριθμό u). Ορίζουμε: Z p = {0, 1,, p - 1} και Z * p = {1,, p - 1}. Ορίζουμε τις συναρτήσεις: h a,b (x) = ((ax + b) mod p) mod m, a Z * p και b Z p Η οικογένεια όλων αυτών των συναρτήσεων είναι η: H p,m = {h a,b : a Z * p και b Z p } Τα a, b επιλέγονται τυχαία στην αρχή της εκτέλεσης.

40 Παράδειγμα h a,b (x) = ((ax + b) mod p) mod m Αν p = 17, m = 6 και γίνει τυχαία επιλογή α=3, b=4: h 3,4 (8) = (( ) mod 17) mod 6 = (28 mod 17) mod 6 = 11 mod 6 = 5 Άρα το στοιχείο x=8 θα τοποθετηθεί στην θέση 5.

41 Παράδειγμα Παρατηρήστε ότι δεν υπάρχουν εντελώς όμοιες γραμμές ή στήλες. Εξασφαλίζεται η τυχαιότητα στην εκλογή της θέσης με πιθανότητα 1/m. Διατηρούνται οι ιδιότητες αυτές για κάθε στοιχείο x. Π.χ. x=13

42 Παράδειγμα

43 Μία Οικογένεια Καθολικών Συναρτήσεων Η οικογένεια των συναρτήσεων που ορίσαμε: h a,b (x) = ((ax + b) mod p) mod m, a Z p * και b Z p έχει μία επιπλέον ιδιότητα ανεξαρτησίας (pairwise independent): Γενικά μία οικογένεια H είναι k-wise ανεξάρτητη αν για κάθε h H και για κάθε ομάδα k διακριτών στοιχείων x 1, x 2,, x k U ισχύει: { ( ) ( ) ( ) } h x t h x = t... h x = t = O Pr 1 2 Η ιδιότητα της k-wise ανεξαρτησίας είναι ακόμα πιο ισχυρή από την καθολική ιδιότητα. 1 m = 1 2 k k k

44 Μία k-wise ανεξάρτητη Οικογένεια Μία k-wise ανεξάρτητη και καθολική οικογένεια συναρτήσεων είναι η: h k = i= 1 ( ) i x a x mod p mod m 0 i με a k-1 Z p * και a i Z p (i=0,1,,k-2) Και πάλι ο p είναι ένας πρώτος αριθμός μεγαλύτερος από τον u. Η οικογένεια αυτή αποτελεί γενίκευση της προηγούμενης. Και στις δύο περιπτώσεις αν p<m οι μεγαλύτερες θέσεις του πίνακα μπορεί να μην χρησιμοποιούνται, συνεπώς πρέπει να αποφύγουμε μία τέτοια επιλογή.

45 Άλλη Καθολική Οικογένεια Συναρτήσεων Έστω m πρώτος. Αναπαριστούμε το στοιχείο x στο σύστημα αρίθμησης με βάση m. Έστω ότι έχει r+1 ψηφία: x = x 0, x 1,, x r, όπου 0 x i < m. Επιλέγουμε έναν τυχαίο αριθμό a = a 0, a 1,, a r, στο ίδιο σύστημα αρίθμησης όπου κάθε ψηφίο του a i επιλέχθηκε τυχαία από το σύνολο {0, 1,, m 1}. h a r i= 0 ( x) = a x mod m Δεν απαιτείται σε αυτή την οικογένεια πρώτος μεγαλύτερος από τον u. i i Εσωτερικό Γινόμενο

46 Απόδοση Καθολικού Κατακερματισμού Το κόστος για insert είναι πάντοτε O(1). Το κόστος για search, delete στη μέση περίπτωση είναι Θ(1) ανεξαρτήτως των στοιχείων που αποθηκεύονται. Το κόστος για search, delete στη χειρότερη περίπτωση είναι: O(1+α), όπου α=n/m. Εγγυάται ότι καμία συγκεκριμένη είσοδος στοιχείου δεν θα προκαλεί συμπεριφορά χειρότερης περίπτωσης. Η συμπεριφορά είναι δηλαδή ανεξάρτητη από μοτίβα και από την κατανομή των στοιχείων του S. Την χειρότερη απόδοση την έχουμε μόνο όταν η ίδια η τυχαία επιλογή επιστρέφει μία συνάρτηση κατακερματισμού που θα προκαλέσει σύγκρουση (μικρή πιθανότητα).

47 Τέλειος Κατακερματισμός (Perfect Hashing)

48 Τέλειος Κατακερματισμός (Perfect Hashing) Οι καθολικές οικογένειες από πρακτικής πλευράς είναι ότι πιο απλό και αποδοτικό θα ήθελε κανείς. Μπορούμε και καλύτερα; Το καλύτερο από όλα είναι να έχουμε και για τις 3 πράξεις (insert, delete, search) κόστος χειρότερης περίπτωσης Ο(1). Δυστυχώς αποδείχθηκε από τον Dietzfelbinger ότι είναι αδύνατον να γίνει αυτό. Εφόσον δεν υπάρχει τέτοια ελπίδα, το αμέσως επόμενο καλύτερο είναι να έχουμε search σε Ο(1).

49 Τέλειος Κατακερματισμός (Perfect Hashing) Για να συμβεί αυτό θα πρέπει να έχουμε τέλειες συναρτήσεις κατακερματισμού: Μία τέλεια συνάρτηση κατακερματισμού για ένα σύνολο S είναι μία συνάρτηση που δεν προκαλεί καμία σύγκρουση. Όμως για να μην έχουμε συγκρούσεις θα πρέπει να έχουμε πολύ μεγάλο χώρο διαθέσιμο. Ο λίγος χώρος πάντα θα προκαλεί συγκρούσεις ανεξάρτητα από την επιλογή των συναρτήσεων. Υπάρχει μέση λύση;

50 Τέλειος Κατακερματισμός (Perfect Hashing) Μέθοδος FKS [Fredman, Komlós, Szemerédi]: Βασική ιδέα είναι η χρήση δύο επιπέδων hash. Χρήση ενός μικρού πίνακα hash A στο 1 ο επίπεδο. Κάθε κελί A i του πίνακα Α είναι ένας νέος πίνακας hash χωρίς συγκρούσεις σε 2 ο επίπεδο και επιλύει τις συγκρούσεις στο A i του 1 ου επιπέδου. lookup(x): αναζήτηση στο επίπεδο 1 για την εύρεση του σωστού κελιού για το επίπεδο 2. Αναζήτηση μετά στο επίπεδο 2.

51 Τέλειος Κατακερματισμός (Perfect Hashing) Χρησιμοποιείται μία καθολική οικογένεια συναρτήσεων hash στο 1 ο επίπεδο. Όταν έχουμε σύγκρουση στο 1 ο επίπεδο τότε επιλέγουμε μία τέλεια συνάρτηση κατακερματισμού για το 2 ο επίπεδο (κατάλληλη καθολική που να μην προκαλεί καμία σύγκρουση). Αποδεικνύεται ότι η αναμενόμενη πιθανότητα σύγκρουσης, όταν υπάρχει διαθέσιμος χώρος ώστε να αναπτυχθούν ελεύθερα τα 2 επίπεδα, είναι μόλις ½. Αυτό σημαίνει ότι έχουμε 50% πιθανότητα να επιλέξουμε συνάρτηση (για το 2 ο επίπεδο) που να μην προκαλεί σύγκρουση (τέλεια). Αν είμαστε «άτυχοι» και επιλέξουμε κάποια που προκαλεί, απλά επαναλαμβάνουμε με άλλη τυχαία επιλογή. Δηλαδή σαν να ρίχνουμε ένα νόμισμα μέχρι να φέρει κορώνα.

52 Τέλειος Κατακερματισμός - Απόδοση Η τελική επιλογή της τέλειας συνάρτησης hash για το 2 ο επίπεδο αποθηκεύεται στο αντίστοιχο κελί. Με τον τρόπο αυτό μετατρέπουμε την τυχαία εκλογή σε συγκεκριμένη (ντετερμινιστικός αλγόριθμος). Αποδεικνύεται ότι ο αναμενόμενος χώρος που απαιτείται είναι O(n 2 /m). Φυσικά αν m=o(n) τότε έχουμε γραμμικό χώρο O(n). Το κόστος αναζήτησης είναι πάντοτε Ο(1) (ακόμα και στη χειρότερη περίπτωση). Η δομή χτίζεται με κόστος O(n) και είναι στατική (δεν έχουμε περαιτέρω εισαγωγές-διαγραφές). Υπάρχει όμως και λύση για δυναμική δομή με O(1) κόστος αναζήτησης αλλά με Θ(1) για ενημερώσεις (Dietzfelbinger, Karlin, Mehlhorn, Heide, Rohnert, Tarjan).

53 Παράδειγμα S={1,16,41,54,66,96} Επίπεδο 1: S 1 = {1, 41} S 4 = {54} S 6 = {16, 66, 96} Επίπεδο 2: Η πληροφορία για την τέλεια συνάρτηση αποθηκεύεται μέσα στο κελί.

54 ΤΕΛΟΣ

Advanced Data Indexing

Advanced Data Indexing Advanced Data Indexing (Προηγμένη ευρετηρίαση δεδομένων) Κατακερματισμός - Hashing (2 ο Μέρος) Μέθοδοι Κατακερματισμού integer universe Direct Addressing Hashing with chaining Hashing by Division Hashing

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

Πίνακες Διασποράς. Χρησιμοποιούμε ένα πίνακα διασποράς T και μια συνάρτηση διασποράς h. Ένα στοιχείο με κλειδί k αποθηκεύεται στη θέση

Πίνακες Διασποράς. Χρησιμοποιούμε ένα πίνακα διασποράς T και μια συνάρτηση διασποράς h. Ένα στοιχείο με κλειδί k αποθηκεύεται στη θέση Πίνακες Διασποράς Χρησιμοποιούμε ένα πίνακα διασποράς T και μια συνάρτηση διασποράς h Ένα στοιχείο με κλειδί k αποθηκεύεται στη θέση κλειδί k T 0 1 2 3 4 5 6 7 U : χώρος πιθανών κλειδιών Τ : πίνακας μεγέθους

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

Προηγμένη Ευρετηρίαση Δεδομένων (ΠΜΣ) Ενδεικτικές ερωτήσεις-θέματα για την εξέταση της θεωρίας

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

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

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

Δομές Δεδομένων και Αλγόριθμοι Δομές Δεδομένων και Αλγόριθμοι Χρήστος Γκόγκος ΤΕΙ Ηπείρου Χειμερινό Εξάμηνο 2014-2015 Παρουσίαση 19 Hashing - Κατακερματισμός 1 / 23 Πίνακες απευθείας πρόσβασης (Direct Access Tables) Οι πίνακες απευθείας

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

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

Δομές Δεδομένων. Δημήτρης Μιχαήλ. Κατακερματισμός. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Δομές Δεδομένων Κατακερματισμός Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Λεξικό Dictionary Ένα λεξικό (dictionary) είναι ένας αφηρημένος τύπος δεδομένων (ΑΤΔ) που διατηρεί

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

Ο ΑΤΔ Λεξικό. Σύνολο στοιχείων με βασικές πράξεις: Δημιουργία Εισαγωγή Διαγραφή Μέλος. Υλοποιήσεις

Ο ΑΤΔ Λεξικό. Σύνολο στοιχείων με βασικές πράξεις: Δημιουργία Εισαγωγή Διαγραφή Μέλος. Υλοποιήσεις Ο ΑΤΔ Λεξικό Σύνολο στοιχείων με βασικές πράξεις: Δημιουργία Εισαγωγή Διαγραφή Μέλος Υλοποιήσεις Πίνακας με στοιχεία bit (0 ή 1) (bit vector) Λίστα ακολουθιακή (πίνακας) ή συνδεδεμένη Είναι γνωστό το μέγιστο

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

Δυναμικά Σύνολα. Δυναμικό σύνολο. Tα στοιχεία του μεταβάλλονται μέσω εντολών εισαγωγής και διαγραφής. διαγραφή. εισαγωγή

Δυναμικά Σύνολα. Δυναμικό σύνολο. Tα στοιχεία του μεταβάλλονται μέσω εντολών εισαγωγής και διαγραφής. διαγραφή. εισαγωγή Δυναμικά Σύνολα Δυναμικό σύνολο Tα στοιχεία του μεταβάλλονται μέσω εντολών εισαγωγής και διαγραφής διαγραφή εισαγωγή Δυναμικά Σύνολα Δυναμικό σύνολο Tα στοιχεία του μεταβάλλονται μέσω εντολών εισαγωγής

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

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

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

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

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

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

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

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

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

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

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

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

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

Πίνακες (Μια παλιά άσκηση) Πίνακες Κατακερματισμού (Hash Tables) Πίνακες (Μια παλιά άσκηση) Εισαγωγή. A n

Πίνακες (Μια παλιά άσκηση) Πίνακες Κατακερματισμού (Hash Tables) Πίνακες (Μια παλιά άσκηση) Εισαγωγή. A n Πίνακες (Μια παλιά άσκηση) Πίνακες Κατακερματισμού (Hash Tables) Ορέστης Τελέλης telelis@unipi.gr Τμήμα Ψηφιακών Συστημάτων, Πανεπιστήμιο Πειραιώς A n O(1) (στην πρώτη ελέυθερη θέση στο τέλος του πίνακα).

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

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

Διάλεξη 23: Τεχνικές Κατακερματισμού II (Hashing) ΕΠΛ231 Δομές Δεδομένων και Αλγόριθμοι 1 Διάλεξη 23: Τεχνικές Κατακερματισμού II (Hashing) Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Διαχείριση Συγκρούσεων με Ανοικτή Διεύθυνση a) Linear

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

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

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

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

Δομές Δεδομένων. Κατακερματισμός. Δομές Δεδομένων & Αλγόριθμοι. Εργαστήριο Γνώσης και Ευφυούς Πληροφορικής 1

Δομές Δεδομένων. Κατακερματισμός. Δομές Δεδομένων & Αλγόριθμοι. Εργαστήριο Γνώσης και Ευφυούς Πληροφορικής 1 Δομές Δεδομένων Κατακερματισμός Πληροφορικής 1 Πρόβλημα Insert, Search και DELETE εγγραφής Σε σταθερό χρόνο Σε πίνακα εγγραφών όπου το πεδίο τιμών στα κλειδιά >> Μέγεθος Πίνακα (M) το πλήθος των εγγραφών

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

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

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

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

Κατακερματισμός. 4/3/2009 Μ.Χατζόπουλος 1

Κατακερματισμός. 4/3/2009 Μ.Χατζόπουλος 1 Κατακερματισμός 4/3/2009 Μ.Χατζόπουλος 1 H ιδέα που βρίσκεται πίσω από την τεχνική του κατακερματισμού είναι να δίνεται μια συνάρτησης h, που λέγεται συνάρτηση κατακερματισμού ή παραγωγής τυχαίων τιμών

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

Κατακερματισμός (Hashing)

Κατακερματισμός (Hashing) Κατακερματισμός (Hashing) O κατακερματισμός είναι μια τεχνική οργάνωσης ενός αρχείου. Είναι αρκετά δημοφιλής μέθοδος για την οργάνωση αρχείων Βάσεων Δεδομένων, καθώς βοηθάει σημαντικά στην γρήγορη αναζήτηση

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

Δομές Αναζήτησης. εισαγωγή αναζήτηση επιλογή. εισαγωγή. αναζήτηση

Δομές Αναζήτησης. εισαγωγή αναζήτηση επιλογή. εισαγωγή. αναζήτηση Δομές Αναζήτησης χειρότερη περίπτωση μέση περίπτωση εισαγωγή αναζήτηση επιλογή εισαγωγή αναζήτηση διατεταγμένος πίνακας διατεταγμένη λίστα μη διατεταγμένος πίνακας μη διατεταγμένη λίστα δένδρο αναζήτησης

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

Ενότητα 6: Κατακερματισμός Ασκήσεις και Λύσεις

Ενότητα 6: Κατακερματισμός Ασκήσεις και Λύσεις ΗΥ2, Ενότητα : Ασκήσεις και Λύσεις Ενότητα : Κατακερματισμός Ασκήσεις και Λύσεις Άσκηση 1 Χρησιμοποιήστε τη συνάρτηση κατακερματισμού της διαίρεσης ως πρωτεύουσα συνάρτηση κατακερματισμού και τη συνάρτηση

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

Δυναμικά Σύνολα. Δυναμικό σύνολο. Tα στοιχεία του μεταβάλλονται μέσω εντολών εισαγωγής και διαγραφής. διαγραφή. εισαγωγή

Δυναμικά Σύνολα. Δυναμικό σύνολο. Tα στοιχεία του μεταβάλλονται μέσω εντολών εισαγωγής και διαγραφής. διαγραφή. εισαγωγή Δυναμικά Σύνολα Δυναμικό σύνολο Tα στοιχεία του μεταβάλλονται μέσω εντολών εισαγωγής και διαγραφής διαγραφή εισαγωγή Δυναμικά Σύνολα Δυναμικό σύνολο Tα στοιχεία του μεταβάλλονται μέσω εντολών εισαγωγής

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

ΚΑΤΑΚΕΡΜΑΤΙΣΜΟΣ HASHING

ΚΑΤΑΚΕΡΜΑΤΙΣΜΟΣ HASHING ΚΑΤΑΚΕΡΜΑΤΙΣΜΟΣ HASHING ΣΑΛΤΟΓΙΑΝΝΗ ΑΘΑΝΑΣΙΑ saltogiann@ceid.upatras.gr ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΤΟ ΠΡOΒΛΗΜΑ ΤΟΥ ΚΑΤΑΚΕΡΜΑΤΙΣΜΟY Θέλουμε τα δεδομένα που διαθέτουμε να μπορούν να αποθηκευτούν σε κάποιο πίνακα ή

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

Πίνακες Συμβόλων. εισαγωγή αναζήτηση επιλογή. εισαγωγή. αναζήτηση

Πίνακες Συμβόλων. εισαγωγή αναζήτηση επιλογή. εισαγωγή. αναζήτηση Πίνακες Συμβόλων χειρότερη περίπτωση μέση περίπτωση εισαγωγή αναζήτηση επιλογή εισαγωγή αναζήτηση διατεταγμένος πίνακας διατεταγμένη λίστα μη διατεταγμένος πίνακας μη διατεταγμένη λίστα δένδρο αναζήτησης

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

10. Πίνακες Κατακερματισμού

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ - ΤΜΗΥΠ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΙI

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ - ΤΜΗΥΠ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΙI ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ - ΤΜΗΥΠ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΙI Δομές Ευρετηρίων και Κατακερματισμός Αρχείων II Β. Μεγαλοοικονόμου Δ. Χριστοδουλάκης (παρουσίαση βασισμένη εν μέρη σε σημειώσεις των Silberchatz, Korth και

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

Δυναμικά Σύνολα. Δυναμικό σύνολο. Tα στοιχεία του μεταβάλλονται μέσω εντολών εισαγωγής και διαγραφής. διαγραφή. εισαγωγή

Δυναμικά Σύνολα. Δυναμικό σύνολο. Tα στοιχεία του μεταβάλλονται μέσω εντολών εισαγωγής και διαγραφής. διαγραφή. εισαγωγή Δυναμικά Σύνολα Δυναμικό σύνολο Tα στοιχεία του μεταβάλλονται μέσω εντολών εισαγωγής και διαγραφής διαγραφή εισαγωγή Δυναμικά Σύνολα Δυναμικό σύνολο Tα στοιχεία του μεταβάλλονται μέσω εντολών εισαγωγής

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Δοµές Δεδοµένων. 16η Διάλεξη Κατακερµατισµός. Ε. Μαρκάκης

Δοµές Δεδοµένων. 16η Διάλεξη Κατακερµατισµός. Ε. Μαρκάκης Δοµές Δεδοµένων 16η Διάλεξη Κατακερµατισµός Ε. Μαρκάκης Περίληψη Συναρτήσεις κατακερµατισµού Χωριστή αλυσίδωση Γραµµική διερεύνηση Διπλός κατακερµατισµός Δυναµικός κατακερµατισµός Προοπτική Δοµές Δεδοµένων

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

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

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

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

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

Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ Διάλεξη 25: Τεχνικές Κατακερματισμού II Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Διαχείριση Συγκρούσεων με Ανοικτή Διεύθυνση a) Linear Probing, b) Quadratic Probing c) Double Hashing Διατεταγμένος

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

Advanced Data Indexing

Advanced Data Indexing Advanced Data Indexing (Προηγμένη ευρετηρίαση δεδομένων) Αναζήτηση Δέντρα (2 ο Μέρος) Διαχρονικά -Δέντρα (Persistent -trees) Σε μερικές εφαρμογές βάσεων/δομών δεδομένων όπου γίνονται ενημερώσεις μας ενδιαφέρει

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

Δυναμικός Κατακερματισμός

Δυναμικός Κατακερματισμός Δυναμικός Κατακερματισμός Καλό για βάση δεδομένων που μεγαλώνει και συρρικνώνεται σε μέγεθος Επιτρέπει τη δυναμική τροποποίηση της συνάρτησης κατακερματισμού Επεκτάσιμος κατακερματισμός μια μορφή δυναμικού

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

Συναρτήσεις Κατακερματισμού και Πίνακες Κατακερματισμού

Συναρτήσεις Κατακερματισμού και Πίνακες Κατακερματισμού Μια συνάρτηση κατακερματισμού (hash function) h απεικονίζει κλειδιά ενός δοσμένου τύπου σεακεραίουςενόςσταθερούδιαστήματος [0,N 1]όπουΝτομέγεθοςτουπίνακα. Πχ: Συναρτήσεις Κατακερματισμού και Πίνακες Κατακερματισμού

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

Κεφ.11: Ευρετήρια και Κατακερματισμός

Κεφ.11: Ευρετήρια και Κατακερματισμός Κεφ.11: Ευρετήρια και Κατακερματισμός Database System Concepts, 6 th Ed. See www.db-book.com for conditions on re-use Κεφ. 11: Ευρετήρια-Βασική θεωρία Μηχανισμοί ευρετηρίου χρησιμοποιούνται για την επιτάχυνση

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

ΕΝΟΤΗΤΑ 8 KATAKEΡΜΑΤΙΣΜΟΣ (HASHING)

ΕΝΟΤΗΤΑ 8 KATAKEΡΜΑΤΙΣΜΟΣ (HASHING) ΕΝΟΤΗΤΑ 8 KATAKEΡΜΑΤΙΣΜΟΣ (HASHING) Κατακερµατισµός Στόχος Έχουµε ένα σύνολο από κλειδιά {Κ 0,, Κ n-1 } και θέλουµε να υλοποιήσουµε Insert() και LookUp() (ίσως και Delete()) απλά και γρήγορα στην πράξη.

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

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

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

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

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

Διάλεξη 23: Τεχνικές Κατακερματισμού II (Hashing) Διάλεξη 23: Τεχνικές Κατακερματισμού II (Hashing) Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Διαχείριση Συγκρούσεων με Ανοικτή Διεύθυνση a) Linear Probing, b) Quadratic Probing c) Double

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

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

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

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

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

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

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

Αλγόριθμοι Ταξινόμησης Μέρος 4

Αλγόριθμοι Ταξινόμησης Μέρος 4 Αλγόριθμοι Ταξινόμησης Μέρος 4 Μανόλης Κουμπαράκης Δομές Δεδομένων και Τεχνικές 1 Μέθοδοι Ταξινόμησης Βασισμένοι σε Συγκρίσεις Κλειδιών Οι αλγόριθμοι ταξινόμησης που είδαμε μέχρι τώρα αποφασίζουν πώς να

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

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

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

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

Κατακερµατισµός. Οργάνωση Αρχείων (σύνοψη) Οργάνωση αρχείων: πως είναι τοποθετημένες οι εγγραφές ενός αρχείου όταν αποθηκεύονται στο δίσκο

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

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

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

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

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

Advanced Data Indexing

Advanced Data Indexing Advanced Data Indexing (Προηγμένη ευρετηρίαση δεδομένων) Αναζήτηση Δέντρα ( ο Μέρος) Αναζήτηση (Searching) Η Αναζήτηση Searching (Αναζήτηση) ενός αντικειμένου μέσα από N ταξινομημένα αντικείμενα. Είναι

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

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

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

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

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

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

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

HY240 : Δομές Δεδομένων. Φροντιστήριο Προγραμματιστικής Εργασίας 2 ο και 3 ο Μέρος

HY240 : Δομές Δεδομένων. Φροντιστήριο Προγραμματιστικής Εργασίας 2 ο και 3 ο Μέρος HY240 : Δομές Δεδομένων Φροντιστήριο Προγραμματιστικής Εργασίας 2 ο και 3 ο Μέρος Εισαγωγή Στο 2 ο μέρος της εργασίας θα πρέπει να γίνουν τροποποιήσεις στο πρόγραμμα που προέκυψε κατά την υλοποίηση του

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

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

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

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

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

Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: Τεχνικές Κατακερµατισµού Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: Τεχνικές Κατακερµατισµού ιαχείριση Συγκρούσεων µε Αλυσίδωση ιαχείριση Συγκρούσεων µε Ανοικτή ιεύθυνση ιπλός Κατακερµατισµός,

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

Εισαγωγή στην Επεξεργασία Ερωτήσεων. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Εισαγωγή στην Επεξεργασία Ερωτήσεων. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Εισαγωγή στην Επεξεργασία Ερωτήσεων 1 Επεξεργασία Ερωτήσεων Θα δούμε την «πορεία» μιας SQL ερώτησης (πως εκτελείται) Ερώτηση SQL Ερώτηση ΣΒΔ Αποτέλεσμα 2 Βήματα Επεξεργασίας Τα βασικά βήματα στην επεξεργασία

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

Κεφα λαιο 9 Κατακερματισμός

Κεφα λαιο 9 Κατακερματισμός Κεφα λαιο 9 Κατακερματισμός Περιεχόμενα 9.1 Εισαγωγή... 197 9.2 Συναρτήσεις Κατακερματισμού... 199 9.3 Επίλυση συγκρούσεων... 200 9.3.1 Ξεχωριστές αλυσίδες... 200 9.3.2 Μεταβλητές διευθύνσεις... 201 Ανάλυση

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

Πίνακες Κατακερματισμού. Hash Tables. Προγραμματισμός II 1

Πίνακες Κατακερματισμού. Hash Tables. Προγραμματισμός II 1 Πίνακες Κατακερματισμού Hash Tables Προγραμματισμός II lalis@inf.uth.gr Δομές αναζήτησης μέχρι στιγμής Δομή Αναζήτηση Table Ο(Ν) Sorted Table Ο(log N) List Ο(Ν) Sorted List Ο(N) Balanced Binary Tree Ο(log

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

Εξωτερική Αναζήτηση. Ιεραρχία Μνήμης Υπολογιστή. Εξωτερική Μνήμη. Εσωτερική Μνήμη. Κρυφή Μνήμη (Cache) Καταχωρητές (Registers) μεγαλύτερη ταχύτητα

Εξωτερική Αναζήτηση. Ιεραρχία Μνήμης Υπολογιστή. Εξωτερική Μνήμη. Εσωτερική Μνήμη. Κρυφή Μνήμη (Cache) Καταχωρητές (Registers) μεγαλύτερη ταχύτητα Ιεραρχία Μνήμης Υπολογιστή Εξωτερική Μνήμη Εσωτερική Μνήμη Κρυφή Μνήμη (Cache) μεγαλύτερη χωρητικότητα Καταχωρητές (Registers) Κεντρική Μονάδα (CPU) μεγαλύτερη ταχύτητα Πολλές σημαντικές εφαρμογές διαχειρίζονται

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

Κρυπτογραφία. Έλεγχος πρώτων αριθών-παραγοντοποίηση. Διαφάνειες: Άρης Παγουρτζής Πέτρος Ποτίκας

Κρυπτογραφία. Έλεγχος πρώτων αριθών-παραγοντοποίηση. Διαφάνειες: Άρης Παγουρτζής Πέτρος Ποτίκας Κρυπτογραφία Έλεγχος πρώτων αριθών-παραγοντοποίηση Διαφάνειες: Άρης Παγουρτζής Πέτρος Ποτίκας Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Σχολή ΗΜΜΥ ΕΜΠ Κρυπτογραφία

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

Επεξεργασία Ερωτήσεων

Επεξεργασία Ερωτήσεων Εισαγωγή Σ Β Σύνολο από προγράμματα για τη διαχείριση της Β Επεξεργασία Ερωτήσεων Αρχεία ευρετηρίου Κατάλογος συστήματος Αρχεία δεδομένων ΒΑΣΗ Ε ΟΜΕΝΩΝ Σύστημα Βάσεων εδομένων (ΣΒ ) Βάσεις Δεδομένων 2007-2008

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

Τηλεπικοινωνιακά Συστήματα ΙΙ

Τηλεπικοινωνιακά Συστήματα ΙΙ Τηλεπικοινωνιακά Συστήματα ΙΙ Διάλεξη 11: Κωδικοποίηση Πηγής Δρ. Μιχάλης Παρασκευάς Επίκουρος Καθηγητής 1 Ατζέντα 1. Αλγόριθμοι κωδικοποίησης πηγής Αλγόριθμος Fano Αλγόριθμος Shannon Αλγόριθμος Huffman

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

Δομές Δεδομένων Εργαστηριακή Άσκηση 2012-2013. Γκόγκος Νίκος Α.Μ.: 4973 Έτος: 3 ο Email: gkogkos@ceid.upatras.gr. Εισαγωγικά:

Δομές Δεδομένων Εργαστηριακή Άσκηση 2012-2013. Γκόγκος Νίκος Α.Μ.: 4973 Έτος: 3 ο Email: gkogkos@ceid.upatras.gr. Εισαγωγικά: Δομές Δεδομένων Εργαστηριακή Άσκηση 2012-2013 Γκόγκος Νίκος Α.Μ.: 4973 Έτος: 3 ο Email: gkogkos@ceid.upatras.gr Εισαγωγικά: Η υλοποίηση του project έχει γίνει σε python [2.7]. Τα python modules είναι αυτόνομα

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

Επεξεργασία Ερωτήσεων

Επεξεργασία Ερωτήσεων Εισαγωγή Επεξεργασία Ερωτήσεων ΜΕΡΟΣ 1 Γενική Εικόνα του Μαθήματος 1. Μοντελοποίηση (Μοντέλο Ο/Σ, Σχεσιακό, Λογικός Σχεδιασμός) 2. Προγραμματισμός (Σχεσιακή Άλγεβρα, SQL) ημιουργία/κατασκευή Εισαγωγή εδομένων

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

Θεωρία Πληροφορίας. Διάλεξη 4: Διακριτή πηγή πληροφορίας χωρίς μνήμη. Δρ. Μιχάλης Παρασκευάς Επίκουρος Καθηγητής

Θεωρία Πληροφορίας. Διάλεξη 4: Διακριτή πηγή πληροφορίας χωρίς μνήμη. Δρ. Μιχάλης Παρασκευάς Επίκουρος Καθηγητής Θεωρία Πληροφορίας Διάλεξη 4: Διακριτή πηγή πληροφορίας χωρίς μνήμη Δρ. Μιχάλης Παρασκευάς Επίκουρος Καθηγητής 1 Ατζέντα Διακριτή πηγή πληροφορίας χωρίς μνήμη Ποσότητα πληροφορίας της πηγής Κωδικοποίηση

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

Άσκηση 1. με κόκκινο χρώμα σημειώνονται οι κρίσιμοι κόμβοι

Άσκηση 1. με κόκκινο χρώμα σημειώνονται οι κρίσιμοι κόμβοι Άσκηση 1 α) Παρουσιάστε τα AVL δέντρα που προκύπτουν από τις εισαγωγές των κλειδιών 1, 4, 9,, 7,,, 1, 4 και σε ένα αρχικά άδειο AVL δέντρο με κόκκινο χρώμα σημειώνονται οι κρίσιμοι κόμβοι +4 +9 + 1 1 1

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

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

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

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

Επεξεργασία Ερωτήσεων

Επεξεργασία Ερωτήσεων Εισαγωγή Επεξεργασία Ερωτήσεων Σ Β Βάση εδομένων Η ομή ενός ΣΒ Βάσεις Δεδομένων 2006-2007 Ευαγγελία Πιτουρά 1 Βάσεις Δεδομένων 2006-2007 Ευαγγελία Πιτουρά 2 Εισαγωγή Εισαγωγή ΜΕΡΟΣ 1 (Χρήση Σ Β ) Γενική

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

Εισαγωγή στην. Εισαγωγή Σ Β. Αρχεία ευρετηρίου Κατάλογος. συστήματος. Αρχεία δεδομένων

Εισαγωγή στην. Εισαγωγή Σ Β. Αρχεία ευρετηρίου Κατάλογος. συστήματος. Αρχεία δεδομένων Εισαγωγή στην Επεξεργασία Ερωτήσεων 1 Εισαγωγή Σ Β Σύνολο από προγράμματα για τη διαχείριση της Β Αρχεία ευρετηρίου Κατάλογος ΒΑΣΗ Ε ΟΜΕΝΩΝ Αρχεία δεδομένων συστήματος Σύστημα Βάσεων εδομένων (ΣΒ ) 2 :

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

Διατάξεις με επανάληψη: Με πόσους τρόπους μπορώ να διατάξω r από n αντικείμενα όταν επιτρέπονται επαναληπτικές εμφανίσεις των αντικειμένων; Στην αρχή

Διατάξεις με επανάληψη: Με πόσους τρόπους μπορώ να διατάξω r από n αντικείμενα όταν επιτρέπονται επαναληπτικές εμφανίσεις των αντικειμένων; Στην αρχή Στοιχειώδης συνδυαστική Συνδυασμοί και διατάξεις με επανάληψη Διατάξεις με επανάληψη: Με πόσους τρόπους μπορώ να διατάξω r από n αντικείμενα όταν επιτρέπονται επαναληπτικές εμφανίσεις των αντικειμένων;

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

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

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

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

Εφαρμοσμένη Κρυπτογραφία Ι

Εφαρμοσμένη Κρυπτογραφία Ι Εφαρμοσμένη Κρυπτογραφία Ι Κωνσταντίνου Ελισάβετ ekonstantinou@aegean.gr http://www.icsd.aegean.gr/ekonstantinou Stream ciphers Η διαδικασία κωδικοποίησης για έναν stream cipher συνοψίζεται παρακάτω: 1.

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

ΛΥΣΗ ΤΗΣ ΔΕΥΤΕΡΗΣ ΑΣΚΗΣΗΣ Όλγα Γκουντούνα

ΛΥΣΗ ΤΗΣ ΔΕΥΤΕΡΗΣ ΑΣΚΗΣΗΣ Όλγα Γκουντούνα ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΜΑΘΗΜΑ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΑΚΑΔ. ΕΤΟΣ 2011-12 ΔΙΔΑΣΚΟΝΤΕΣ Ιωάννης Βασιλείου Καθηγητής Τιμολέων Σελλής Καθηγητής Άσκηση 1

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

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

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

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

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

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

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

Το εσωτερικό ενός Σ Β

Το εσωτερικό ενός Σ Β Επεξεργασία Ερωτήσεων 1 Εισαγωγή ΜΕΡΟΣ 1 Γενική Εικόνα του Μαθήµατος Μοντελοποίηση (Μοντέλο Ο/Σ, Σχεσιακό, Λογικός Σχεδιασµός) Προγραµµατισµός (Σχεσιακή Άλγεβρα, SQL) ηµιουργία/κατασκευή Εισαγωγή εδοµένων

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

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

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

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

Βασίλειος Μαχαιράς Πολιτικός Μηχανικός Ph.D.

Βασίλειος Μαχαιράς Πολιτικός Μηχανικός Ph.D. Βασίλειος Μαχαιράς Πολιτικός Μηχανικός Ph.D. Μη γραμμικός προγραμματισμός: βελτιστοποίηση με περιορισμούς Πανεπιστήμιο Θεσσαλίας Σχολή Θετικών Επιστημών Τμήμα Πληροφορικής Διάλεξη 9-10 η /2017 Τι παρουσιάστηκε

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

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

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

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

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

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

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

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

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

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

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

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

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

Διαίρει-και-Βασίλευε. Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Διαίρει-και-Βασίλευε 2

Διαίρει-και-Βασίλευε. Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Διαίρει-και-Βασίλευε 2 Διαίρει-και-Βασίλευε Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Διαίρει-και-Βασίλευε 2 Διαίρει-και-Βασίλευε Γενική µέθοδος σχεδιασµού αλγορίθµων: Διαίρεση σε ( 2) υποπροβλήµατα (σηµαντικά) µικρότερου µεγέθους.

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

Χρήστος Ι. Σχοινάς Αν. Καθηγητής ΔΠΘ. Συμπληρωματικές σημειώσεις για το μάθημα: «Επιχειρησιακή Έρευνα ΙΙ»

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

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

επιστρέφει το αμέσως μεγαλύτερο από το x στοιχείο του S επιστρέφει το αμέσως μικρότερο από το x στοιχείο του S

επιστρέφει το αμέσως μεγαλύτερο από το x στοιχείο του S επιστρέφει το αμέσως μικρότερο από το x στοιχείο του S Μελετάμε την περίπτωση όπου αποθηκεύουμε ένα (δυναμικό) σύνολο στοιχειών,, τα οποίo είναι υποσύνολο του. Υποστηριζόμενες λειτουργίες αναζήτηση(s,x): εισαγωγή(s,x): διαγραφή(s,x): διάδοχος(s,x): προκάτοχος(s,x):

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

Τα δεδοµένα συνήθως αποθηκεύονται σε αρχεία στο δίσκο Για να επεξεργαστούµε τα δεδοµένα θα πρέπει αυτά να βρίσκονται στη

Τα δεδοµένα συνήθως αποθηκεύονται σε αρχεία στο δίσκο Για να επεξεργαστούµε τα δεδοµένα θα πρέπει αυτά να βρίσκονται στη Ευρετήρια 1 Αρχεία Τα δεδοµένα συνήθως αποθηκεύονται σε αρχεία στο δίσκο Για να επεξεργαστούµε τα δεδοµένα θα πρέπει αυτά να βρίσκονται στη µνήµη. Η µεταφορά δεδοµένων από το δίσκο στη µνήµη και από τη

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

Πληροφορική 2. Δομές δεδομένων και αρχείων

Πληροφορική 2. Δομές δεδομένων και αρχείων Πληροφορική 2 Δομές δεδομένων και αρχείων 1 2 Δομή Δεδομένων (data structure) Δομή δεδομένων είναι μια συλλογή δεδομένων που έχουν μεταξύ τους μια συγκεκριμένη σχέση Παραδείγματα δομών δεδομένων Πίνακες

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

Φροντιστήριο Αποθήκευση σε δίσκο, βασικές οργανώσεις αρχείων κατακερματισμός και δομές ευρετηρίων για αρχεία

Φροντιστήριο Αποθήκευση σε δίσκο, βασικές οργανώσεις αρχείων κατακερματισμός και δομές ευρετηρίων για αρχεία ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι Φροντιστήριο 17-1-2011 Αποθήκευση σε δίσκο, βασικές οργανώσεις αρχείων κατακερματισμός και δομές ευρετηρίων για αρχεία Θεωρία Άτρακτος/αυλάκι : ομόκεντροι κύκλοι στον δίσκο Κύλινδρος:

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

Δυναμικά Πολυεπίπεδα Ευρετήρια (Β-δένδρα) Μ.Χατζόπουλος 1

Δυναμικά Πολυεπίπεδα Ευρετήρια (Β-δένδρα) Μ.Χατζόπουλος 1 Δυναμικά Πολυεπίπεδα Ευρετήρια (Β-δένδρα) Μ.Χατζόπουλος 1 Α Β Γ Δ Ε Ζ Η Θ Ι Κ Λ Μ.Χατζόπουλος 2 Δένδρο αναζήτησης είναι ένας ειδικός τύπος δένδρου που χρησιμοποιείται για να καθοδηγήσει την αναζήτηση μιας

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

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

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ Ενότητα 13: Αλγόριθμοι-Μεγάλων ακεραίων- Εκθετοποίηση- Πολλαπλασιασμός πινάκων -Strassen Μαρία Σατρατζέμη Τμήμα Εφαρμοσμένης Πληροφορικής Άδειες Χρήσης Το παρόν εκπαιδευτικό

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

Εισαγωγή στην Επεξεργασία Ερωτήσεων. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Εισαγωγή στην Επεξεργασία Ερωτήσεων. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Εισαγωγή στην Επεξεργασία Ερωτήσεων Βάσεις Δεδομένων 2013-2014 Ευαγγελία Πιτουρά 1 Επεξεργασία Ερωτήσεων Θα δούμε την «πορεία» μιας SQL ερώτησης (πως εκτελείται) Ερώτηση SQL Ερώτηση ΣΒΔ Αποτέλεσμα Βάσεις

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ 4 ο ΣΕΤ ΑΣΚΗΣΕΩΝ Οι ασκήσεις αυτού του φυλλαδίου καλύπτουν τα παρακάτω θέματα: Δείκτες Δομές Το τέταρτο σύνολο

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

Τυχαιοκρατικοί Αλγόριθμοι

Τυχαιοκρατικοί Αλγόριθμοι Πιθανότητες και Αλγόριθμοι Ανάλυση μέσης περίπτωσης Μελέτα τη συμπεριφορά ενός αλγορίθμου σε μια «μέση» είσοδο (ως προς κάποια κατανομή) Τυχαιοκρατικός αλγόριθμος Λαμβάνει τυχαίες αποφάσεις καθώς επεξεργάζεται

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

Δομές Δεδομένων (Data Structures)

Δομές Δεδομένων (Data Structures) Δομές Δεδομένων (Data Structures) Γραμμικές Λίστες Βασικές Έννοιες Βασικές Έννοιες. Αναπαράσταση με τύπο και με δείκτη. Γραμμικές Λίστες. Βασικές Λειτουργίες. Δομές Δεδομένων: Βασικές Έννοιες Αντικείμενο

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

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

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΛΥΣΗ ΣΤΗΝ ΕΥΤΕΡΗ ΑΣΚΗΣΗ ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΛΥΣΗ ΣΤΗΝ ΕΥΤΕΡΗ ΑΣΚΗΣΗ ΜΑΘΗΜΑ ΒΑΣΕΙΣ Ε ΟΜΕΝΩΝ ΑΚΑ. ΕΤΟΣ 2012-13 Ι ΑΣΚΟΝΤΕΣ Ιωάννης Βασιλείου Καθηγητής, Τοµέας Τεχνολογίας

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

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

Ευρετήρια. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Ευρετήρια Ευαγγελία Πιτουρά 1 τιμή γνωρίσματος Ευρετήρια Ένα ευρετήριο (index) είναι μια βοηθητική δομή αρχείου που κάνει πιο αποδοτική την αναζήτηση μιας εγγραφής σε ένα αρχείο Το ευρετήριο καθορίζεται

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

Δίαυλος Πληροφορίας. Η λειτουργία του περιγράφεται από:

Δίαυλος Πληροφορίας. Η λειτουργία του περιγράφεται από: Δίαυλος Πληροφορίας Η λειτουργία του περιγράφεται από: Πίνακας Διαύλου (μαθηματική περιγραφή) Διάγραμμα Διαύλου (παραστατικός τρόπος περιγραφής της λειτουργίας) Πίνακας Διαύλου Χρησιμοποιούμε τις υπό συνθήκη

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

ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ. Κατακερµατισµός Κεφάλαιο 14. Ε. Μαρκάκης Επίκουρος Καθηγητής

ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ. Κατακερµατισµός Κεφάλαιο 14. Ε. Μαρκάκης Επίκουρος Καθηγητής ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ Κατακερµατισµός Κεφάλαιο 14 Ε. Μαρκάκης Επίκουρος Καθηγητής Περίληψη Εισαγωγή στον κατακερµατισµό Συναρτήσεις κατακερµατισµού Χωριστή αλυσίδωση Γραµµική διερεύνηση Διπλός κατακερµατισµός

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

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

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

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

Τα δεδομένα συνήθως αποθηκεύονται σε αρχεία στο δίσκο

Τα δεδομένα συνήθως αποθηκεύονται σε αρχεία στο δίσκο Οργάνωση Αρχείων 1 Αρχεία Τα δεδομένα συνήθως αποθηκεύονται σε αρχεία στο δίσκο Η μεταφορά δεδομένων από το δίσκο στη μνήμη και από τη μνήμη στο δίσκο γίνεται σε μονάδες blocks Βασικός στόχος η ελαχιστοποίηση

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

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

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

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

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

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

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