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

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

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

Transcript

1 Δομές Αναζήτησης χειρότερη περίπτωση μέση περίπτωση εισαγωγή αναζήτηση επιλογή εισαγωγή αναζήτηση διατεταγμένος πίνακας διατεταγμένη λίστα μη διατεταγμένος πίνακας μη διατεταγμένη λίστα δένδρο αναζήτησης (μη ισορροπημένο) τυχαιοποιημένο δένδρο ισορροπημένο δένδρο αναζήτησης κατακερματισμός (*) Συμβαίνει με εξαιρετικά μικρή πιθανότητα ( ) Μετά από ταξινόμηση. Χρόνος O(N) είναι εφικτός με πιο περίπλοκους αλγόριθμους.

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

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

4 Πίνακες Διασποράς Μετατροπή σε ακέραιο στο διάστημα - για αριθμό κινητής υποδιαστολής στο διάστημα int m, k; float x; k = x*m; π.χ. για m = 67 x = k = 38 x = k = 21 x = k = 38

5 Πίνακες Διασποράς Μετατροπή σε ακέραιο στο διάστημα - για αλφαριθμητικά με χαρακτήρες κάθε χαρακτήρας αντιστοιχεί σε ένα ακέραιο σε κωδικοποίηση ASCII έχουμε a = 97, b = 98, c = 99, κλπ π.χ. για m = 67 String s = have k = ( ) mod 67 = 420 mod 67 = 18

6 Πίνακες Διασποράς Μετατροπή σε ακέραιο στο διάστημα - για αλφαριθμητικά με χαρακτήρες κάθε χαρακτήρας αντιστοιχεί σε ένα ακέραιο σε κωδικοποίηση ASCII έχουμε a = 97, b = 98, c = 99, κλπ π.χ. για m = 67 String s = have k = ( ) mod 67 = 420 mod 67 = 18 Αντιστοιχεί στον ίδιο ακέραιο αλφαριθμητικά που προκύπτουν από μεταθέσεις των ίδιων χαρακτήρων. Π.χ. stop tops pots spot, «γραφή» «φραγή» Για να το αποφύγουμε πολλαπλασιάζουμε με ένα συντελεστή βάρους κάθε θέση σε

7 Πίνακες Διασποράς Μετατροπή σε ακέραιο στο διάστημα - για αλφαριθμητικά με χαρακτήρες των 7 bit (w = 2 7 = 128 χαρακτήρες) κάθε χαρακτήρας αντιστοιχεί σε ένα ακέραιο σε κωδικοποίηση ASCII έχουμε a = 97, b = 98, c = 99, κλπ π.χ. για m = 67 String s = have k = (104* * * *128 0 ) mod 67 = mod 67 = 52 για να αποφύγουμε το πρόβλημα της υπερχείλισης χρησιμοποιούμε τον αλγόριθμο του Horner και τις αριθμητικές ιδιότητες της συνάρτησης mod 104* * * *128 0 = ((104* )* )*

8 Πίνακες Διασποράς Μετατροπή σε ακέραιο στο διάστημα - για αλφαριθμητικά με χαρακτήρες των 7 bit (w = 2 7 = 128 χαρακτήρες) κάθε χαρακτήρας αντιστοιχεί σε ένα ακέραιο σε κωδικοποίηση ASCII έχουμε a = 97, b = 98, c = 99, κλπ π.χ. για m = 67 String s = have k = (((104* )* )* ) mod 67 = 52 int w = 128; int k = 0; for (i=0; i<n; i++){ k = (k*w + s.charat(i)) % m; }

9 Πίνακες Διασποράς Μετατροπή αντικειμένου σε ακέραιο στη Java Μέθοδος hashcode() : Επιστρέφει ακέραιο 32-bit Για να λάβουμε ακέραιο στο διάστημα μπορούμε να υπολογίσουμε private int hash(key k) { return ( ( k.hashcode() & 0x7fffffff ) % m ); } Προσοχή: Η μέθοδος hashcode() μπορεί να μην είναι καλή επιλογή για ορισμένα αντικείμενα. (Π.χ. μπορεί να επιστρέφει αναφορά σε θέση μνήμης του αντικειμένου.)

10 Πίνακες σταθερών διευθύνσεων Απλή λύση όταν το U είναι μικρό: όπου 5 3 K T U : χώρος πιθανών κλειδιών K : χώρος ενεργών κλειδιών Τ : πίνακας μεγέθους m συνάρτηση διασποράς 6 U

11 Πίνακες σταθερών διευθύνσεων Απλή λύση όταν το U είναι μικρό: όπου Δίνει Ο(1) χρόνο ανά πράξη. 5 3 K T U : χώρος πιθανών κλειδιών K : χώρος ενεργών κλειδιών Τ : πίνακας μεγέθους m συνάρτηση διασποράς 6 U

12 Πίνακες σταθερών διευθύνσεων Απλή λύση όταν το U είναι μικρό: όπου Δίνει Ο(1) χρόνο ανά πράξη. Τι γίνεται όμως αν το U είναι πολύ μεγάλο; 5 3 K T U : χώρος πιθανών κλειδιών K : χώρος ενεργών κλειδιών Τ : πίνακας μεγέθους m συνάρτηση διασποράς 6 U

13 Πίνακες σταθερών διευθύνσεων Απλή λύση όταν το U είναι μικρό: όπου Δίνει Ο(1) χρόνο ανά πράξη. Τι γίνεται όμως αν το U είναι πολύ μεγάλο και το Κ πολύ μικρότερο; 5 3 K T U : χώρος πιθανών κλειδιών K : χώρος ενεργών κλειδιών Τ : πίνακας μεγέθους m συνάρτηση διασποράς 6 U

14 Πίνακες Διασποράς Επιθυμητές ιδιότητες: χώρος χρόνος ανά λειτουργία (αναμενόμενη περίπτωση) T 0 U : χώρος πιθανών κλειδιών K : χώρος ενεργών κλειδιών U K k 2 k 4 k 1 Τ : πίνακας μεγέθους m συνάρτηση διασποράς k 3 m-1

15 Πίνακες Διασποράς Επιθυμητές ιδιότητες: χώρος χρόνος ανά λειτουργία (αναμενόμενη περίπτωση) Σύγκρουση (collision): για κλειδιά T 0 U : χώρος πιθανών κλειδιών K : χώρος ενεργών κλειδιών U K k 2 k 4 k 1 Τ : πίνακας μεγέθους m συνάρτηση διασποράς k 3 m-1

16 Πίνακες Διασποράς Επιθυμητές ιδιότητες: χώρος χρόνος ανά λειτουργία (αναμενόμενη περίπτωση) Σύγκρουση (collision): για κλειδιά T 0 Η h πρέπει να δίνει τυχαιόμορφη κατανομή U : χώρος πιθανών κλειδιών K : χώρος ενεργών κλειδιών U K k 2 k 4 k 1 Τ : πίνακας μεγέθους m συνάρτηση διασποράς k 3 m-1

17 Πίνακες Διασποράς Ποιά συνάρτηση διασποράς είναι καλύτερη;

18 Πίνακες Διασποράς Σύγκρουση (collision): για κλειδιά Πρέπει να οριστεί ένας τρόπος διαχείρισης συγκρούσεων ώστε τα κλειδιά να μπορούν να βρεθούν αρκετά γρήγορα. Χρησιμοποιούνται 2 κύριοι τρόποι: Τοποθέτηση στην ίδια θέση (π.χ., σε αλυσίδα) Τοποθέτηση σε άλλη θέση

19 Πίνακες Διασποράς Αλυσιδωτής Σύνδεσης Σύγκρουση (collision): για κλειδιά Άρση των συγκρούσεων μέσω αλυσιδωτής σύνδεσης Κάθε δείχνει σε μία αλυσίδα για τα κλειδιά με διασπορά T 0 k 2 U K k 2 k 3 k 4 k 1 m-1 k 1 k 3 k 4

20 Πίνακες Διασποράς Αλυσιδωτής Σύνδεσης Σύγκρουση (collision): για κλειδιά Άρση των συγκρούσεων μέσω αλυσιδωτής σύνδεσης Κάθε δείχνει σε μία αλυσίδα για τα κλειδιά με διασπορά εισαγωγή(τ,x): εισαγωγή του x στη λίστα του Τ[h(κλειδί[x])] T 0 k 2 U K k 2 k 3 k 4 k 1 m-1 k 1 k 3 k 4

21 Πίνακες Διασποράς Αλυσιδωτής Σύνδεσης Σύγκρουση (collision): για κλειδιά Άρση των συγκρούσεων μέσω αλυσιδωτής σύνδεσης Κάθε δείχνει σε μία αλυσίδα για τα κλειδιά με διασπορά εισαγωγή(τ,x): εισαγωγή του x στη λίστα του Τ[h(κλειδί[x])] k 5 k 5 k 2 T 0 U K k 2 k 4 k 1 k 1 k 3 k 4 k 3 m-1

22 Πίνακες Διασποράς Αλυσιδωτής Σύνδεσης Σύγκρουση (collision): για κλειδιά Άρση των συγκρούσεων μέσω αλυσιδωτής σύνδεσης Κάθε δείχνει σε μία αλυσίδα για τα κλειδιά με διασπορά εισαγωγή(τ,x): εισαγωγή του x στη λίστα του Τ[h(κλειδί[x])] αναζήτηση(τ,k): αναζήτηση στοιχείου με κλειδί k στην αλυσίδα T[h(k)] U K k 5 k 5 k 2 k 2 k k 1 k 4 4 k 1 k 3 k m-1 3 T 0 Η εισαγωγή παίρνει Ο(1) χρόνο αν γίνεται στην αρχή της αλυσίδας και δεν κάνουμε αναζήτηση αν το x είναι ήδη καταχωρημένο. Διαφορετικά πρέπει να προηγηθεί αναζήτηση του x.

23 Πίνακες Διασποράς Αλυσιδωτής Σύνδεσης Σύγκρουση (collision): για κλειδιά Άρση των συγκρούσεων μέσω αλυσιδωτής σύνδεσης Κάθε δείχνει σε μία αλυσίδα για τα κλειδιά με διασπορά εισαγωγή(τ,x): εισαγωγή του x στη λίστα του Τ[h(κλειδί[x])] αναζήτηση(τ,k): αναζήτηση στοιχείου με κλειδί k στην αλυσίδα T[h(k)] T 0 διαγραφή(τ,x): διαγραφή του x από την αλυσίδα του Τ[h(κλειδί[x])] U K k 2 k 3 k 4 k 1 m-1 k 1 k 3 k 4 k 5 k 5 k 2 Η διαγραφή παίρνει Ο(1) χρόνο αν η θέση του x είναι γνωστή. (Δηλαδή έχουμε δείκτη στον κόμβο του x.) Διαφορετικά πρέπει να προηγηθεί αναζήτηση του x. Ο αναμενόμενος χρόνος αναζήτησης εξαρτάται από το αναμενόμενο μήκος μιας αλυσίδας.

24 Πίνακες Διασποράς Αλυσιδωτής Σύνδεσης Εισαγωγή zebra key = hash = 4 T seal wolf tiger vulture frog bat 4 5 koala elephant alligator horse 6 octopus dog 7 mouse lion 8 iguana 9 rabbit puma jaguar

25 Πίνακες Διασποράς Αλυσιδωτής Σύνδεσης Εισαγωγή zebra key = hash = 4 T seal wolf tiger vulture zebra horse octopus mouse iguana frog bat koala elephant alligator dog lion 9 rabbit puma jaguar

26 Πίνακες Διασποράς Αλυσιδωτής Σύνδεσης Συντελεστής πληρότητας πλήθος των ενεργών κλειδιών Στη χειρότερη περίπτωση η διασπορά είναι ίδια για όλα τα χρόνος αναζήτησης στη χειρότερη περίπτωση. T 0 k 5 k 5 k 2 k 3 k 1 k 4 U K k 2 k 4 k 1 k 3 m-1

27 Πίνακες Διασποράς Αλυσιδωτής Σύνδεσης Συντελεστής πληρότητας πλήθος των ενεργών κλειδιών Έστω το μήκος της αλυσίδας του. Έχουμε και επομένως το μέσο μήκος μιας αλυσίδας είναι. T Υπόθεση απλής ομοιόμορφης διασποράς: κάθε νέο στοιχείο έχει ίση πιθανότητα να διασπαρεί σε οποιαδήποτε από τις m θέσεις. U K k 5 k 5 k 2 k 2 k k 1 k 4 4 k 1 k 3 k m Αναμενόμενος χρόνος ανεπιτυχούς αναζήτησης: Αναμενόμενος χρόνος επιτυχούς αναζήτησης: Μια επιτυχής αναζήτηση διασχίζει κατά μέσο όρο τους μισούς κόμβους αλυσίδας που δεν είναι κενή.

28 Συναρτήσεις Διασποράς Πότε είναι μία συνάρτηση διασποράς καλή; Επιθυμητή ιδιότητα: να ικανοποιεί την υπόθεση της απλής ομοιόμορφης διασποράς (δηλ. κάθε νέο στοιχείο έχει ίση πιθανότητα να διασπαρεί σε οποιαδήποτε από τις m θέσεις). Παράδειγμα: Τα κλειδιά είναι ανεξάρτητοι και ομοιόμορφα κατανεμημένοι αριθμοί στο διάστημα [0,1]. Επιλέγοντας ικανοποιούμε την υπόθεση της απλής ομοιόμορφης διασποράς. Η παραπάνω ιδιότητα απαιτεί γνώση της κατανομής των κλειδιών, που συνήθως δεν είναι γνωστή.

29 Συναρτήσεις Διασποράς Πότε είναι μία συνάρτηση διασποράς καλή; Επιθυμητή ιδιότητα: να ικανοποιεί την υπόθεση της απλής ομοιόμορφης διασποράς (δηλ. κάθε νέο στοιχείο έχει ίση πιθανότητα να διασπαρεί σε οποιαδήποτε από τις m θέσεις). Διαιρετική μέθοδος κακή επιλογή : m = δύναμη του 2 καλή επιλογή : m = πρώτος αριθμός Πολλαπλασιαστική μέθοδος Πολλαπλασίασε πρόσθεσε και διαίρεσε (Multiply Add and Divide) πρώτος αριθμός ακέραιοι στο διάστημα με

30 Καθολική Διασπορά Για κάθε καθορισμένη συνάρτηση διασποράς μπορούμε να επιλέξουμε κλειδιά που θα δίνουν τη χειρότερη δυνατή επίδοση. Προκειμένου να βελτιώσουμε την κατάσταση μπορούμε να βασιστούμε σε τυχαιοκρατικούς αλγόριθμους: Ορίζουμε μία οικογένεια συναρτήσεων και κατά τη διάρκεια της εκτέλεσης επιλέγουμε τυχαία μία από αυτές τις συναρτήσεις ως συνάρτηση διασποράς. Περιορίζουμε την πιθανότητα εμφάνισης παθολογικών περιπτώσεων.

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

32 Καθολική Διασπορά πεπερασμένη συλλογή συναρτήσεων Η συλλογή είναι καθολική αν για κάθε ζεύγος διαφορετικών κλειδιών υπάρχουν το πολύ συναρτήσεις με Συνεπώς

33 Καθολική Διασπορά πεπερασμένη συλλογή συναρτήσεων Η συλλογή είναι καθολική αν για κάθε ζεύγος διαφορετικών κλειδιών υπάρχουν το πολύ συναρτήσεις με Συνεπώς Πιθανότητα σύμπτωσης όταν και επιλέγονται τυχαία και ανεξάρτητα.

34 Καθολική Διασπορά σύμπαν καθολική συλλογή συναρτήσεων διασποράς που αντιστοιχίζει το στο σύνολο αυθαίρετο υποσύνολο του με αυθαίρετο στοιχείο του τυχαία επιλεγμένη συνάρτηση της αριθμός στοιχειών με (τυχαία μεταβλητή) Για κάθε έχουμε δείκτρια τυχαία μεταβλητή Έχουμε Άρα

35 Καθολική Διασπορά Θεώρημα Έστω ότι επιλέγουμε τυχαία και κάνουμε εισαγωγή κλειδιών σε πίνακα μεγέθους. Έστω. Τότε Πόρισμα Ο αναμενόμενος χρόνος εκτέλεσης μίας ακολουθίας πράξεων με πράξεις εισαγωγής είναι Συνεπάγεται από το παραπάνω θεώρημα και την παρατήρηση ότι

36 Μια Καθολική Οικογένεια Συναρτήσεων Διασποράς πρώτος αριθμός, μεγαλύτερος από κάθε κλειδί Για και Παράδειγμα

37 Μια Καθολική Οικογένεια Συναρτήσεων Διασποράς πρώτος αριθμός, μεγαλύτερος από κάθε κλειδί Για και Περιλαμβάνει συναρτήσεις

38 Μέθοδος Μεταβλητών Διευθύνσεων (Ανοιχτή Διευθυνσιοδότηση) Η συνάρτηση διασποράς αντιστοιχεί σε κάθε κλειδί μία ακολουθία από διευθύνσεις του πίνακα Τ βολιδοσκοπική ακολουθία Συνάρτηση Διασποράς μετάθεση του

39 Μέθοδος Μεταβλητών Διευθύνσεων (Ανοιχτή Διευθυνσιοδότηση) Η συνάρτηση διασποράς αντιστοιχεί σε κάθε κλειδί μία ακολουθία από διευθύνσεις του πίνακα Τ βολιδοσκοπική ακολουθία Συνάρτηση Διασποράς μετάθεση του T 0 αναζήτηση (Τ,k): βολιδοσκοπεί τις θέσεις T[h(k,i)] για i=0,1,,m-1 μέχρι να βρει το αντικείμενο με κλειδί k ή μία κενή θέση. m-1

40 Μέθοδος Μεταβλητών Διευθύνσεων (Ανοιχτή Διευθυνσιοδότηση) Η συνάρτηση διασποράς αντιστοιχεί σε κάθε κλειδί μία ακολουθία από διευθύνσεις του πίνακα Τ βολιδοσκοπική ακολουθία Συνάρτηση Διασποράς μετάθεση του T 0 αναζήτηση (Τ,k): βολιδοσκοπεί τις θέσεις T[h(k,i)] για i=0,1,,m-1 μέχρι να βρει το αντικείμενο με κλειδί k ή μία κενή θέση. εισαγωγή (Τ,k): βολιδοσκοπεί τις θέσεις Τ[h(κλειδί[x],i)] για i=0,1,,m-1 μέχρι να βρει την πρώτη κενή θέση και τοποθετεί το αντικείμενο εκεί. m-1

41 Μέθοδος Μεταβλητών Διευθύνσεων (Ανοιχτή Διευθυνσιοδότηση) Η συνάρτηση διασποράς αντιστοιχεί σε κάθε κλειδί μία ακολουθία από διευθύνσεις του πίνακα Τ βολιδοσκοπική ακολουθία Συνάρτηση Διασποράς μετάθεση του T x k 0 m-1 αναζήτηση (Τ,k): βολιδοσκοπεί τις θέσεις T[h(k,i)] για i=0,1,,m-1 μέχρι να βρει το αντικείμενο με κλειδί k ή μία κενή θέση. εισαγωγή (Τ,k): βολιδοσκοπεί τις θέσεις Τ[h(κλειδί[x],i)] για i=0,1,,m-1 μέχρι να βρει την πρώτη κενή θέση και τοποθετεί το αντικείμενο εκεί. διαγραφή (Τ,x):?

42 Μέθοδος Μεταβλητών Διευθύνσεων (Ανοιχτή Διευθυνσιοδότηση) Η συνάρτηση διασποράς αντιστοιχεί σε κάθε κλειδί μία ακολουθία από διευθύνσεις του πίνακα Τ βολιδοσκοπική ακολουθία Συνάρτηση Διασποράς T x k 0 m-1 Ο χρόνος εκτέλεσης δεν εξαρτάται από τον συντελεστή πληρότητας! μετάθεση του αναζήτηση (Τ,k): βολιδοσκοπεί τις θέσεις T[h(k,i)] για i=0,1,,m-1 μέχρι να βρει το αντικείμενο με κλειδί k ή μία κενή θέση. εισαγωγή (Τ,k): βολιδοσκοπεί τις θέσεις Τ[h(κλειδί[x],i)] για i=0,1,,m-1 μέχρι να βρει την πρώτη κενή θέση και τοποθετεί το αντικείμενο εκεί. διαγραφή (Τ,x): σήμανση της θέσης του x ως διαγεγραμμένης. Η αναζήτηση αντιπαρέρχεται τέτοιες θέσεις.

43 Μέθοδος Μεταβλητών Διευθύνσεων (Ανοιχτή Διευθυνσιοδότηση) T Εισαγωγή zebra κλειδί k 0 1 seal frog tiger bat dog puma rabbit zebra

44 Μέθοδος Μεταβλητών Διευθύνσεων (Ανοιχτή Διευθυνσιοδότηση) T Εισαγωγή zebra κλειδί k 0 1 seal frog tiger bat dog puma rabbit zebra

45 Μέθοδος Μεταβλητών Διευθύνσεων (Ανοιχτή Διευθυνσιοδότηση) T Εισαγωγή zebra κλειδί k 0 1 zebra seal frog tiger bat dog puma rabbit zebra

46 Μέθοδος Μεταβλητών Διευθύνσεων (Ανοιχτή Διευθυνσιοδότηση) Η συνάρτηση διασποράς αντιστοιχεί σε κάθε κλειδί μία ακολουθία από διευθύνσεις του πίνακα Τ βολιδοσκοπική ακολουθία Συνάρτηση Διασποράς μετάθεση της Υπόθεση της ομοιόμορφης διασποράς : η βολιδοσκοπική ακολουθία κάθε κλειδιού είναι μία τυχαία μετάθεση της

47 Μέθοδος Μεταβλητών Διευθύνσεων (Ανοιχτή Διευθυνσιοδότηση) Η συνάρτηση διασποράς αντιστοιχεί σε κάθε κλειδί μία ακολουθία από διευθύνσεις του πίνακα Τ βολιδοσκοπική ακολουθία Συνάρτηση Διασποράς μετάθεση της Υπόθεση της ομοιόμορφης διασποράς : η βολιδοσκοπική ακολουθία κάθε κλειδιού είναι μία τυχαία μετάθεση της Δύσκολο να υλοποιηθεί!

48 Μέθοδος Μεταβλητών Διευθύνσεων (Ανοιχτή Διευθυνσιοδότηση) Γραμμική Βολιδοσκόπηση βοηθητική συνάρτηση διασποράς

49 Μέθοδος Μεταβλητών Διευθύνσεων (Ανοιχτή Διευθυνσιοδότηση) Γραμμική Βολιδοσκόπηση βοηθητική συνάρτηση διασποράς 0 1 T zebra seal frog tiger bat zebra dog puma rabbit zebra

50 Μέθοδος Μεταβλητών Διευθύνσεων (Ανοιχτή Διευθυνσιοδότηση) Γραμμική Βολιδοσκόπηση βοηθητική συνάρτηση διασποράς Δίνει μόνο m ακολουθίες Αν i διαδοχικές θέσεις είναι κατειλημμένες τότε η πιθανότητα να συμπληρωθεί η επόμενη είναι Πρωτεύουσα ομαδοποίηση : οι μακριές αλληλουχίες τείνουν να επεκτείνονται

51 Μέθοδος Μεταβλητών Διευθύνσεων (Ανοιχτή Διευθυνσιοδότηση) Τετραγωνική Βολιδοσκόπηση βοηθητική συνάρτηση διασποράς σταθερές Δίνει μόνο m ακολουθίες Δευτερεύουσα ομαδοποίηση : πιο ήπιας μορφής ομαδοποίηση

52 Μέθοδος Μεταβλητών Διευθύνσεων (Ανοιχτή Διευθυνσιοδότηση) Διπλή Διασπορά βοηθητικές συναρτήσεις διασποράς

53 Μέθοδος Μεταβλητών Διευθύνσεων (Ανοιχτή Διευθυνσιοδότηση) Διπλή Διασπορά βοηθητικές συναρτήσεις διασποράς μετάθεση της Πρέπει και να είναι αμοιβαία πρώτοι π.χ. μπορούμε να έχουμε ίσο με μία δύναμη του 2 και περιττό

54 Μέθοδος Μεταβλητών Διευθύνσεων (Ανοιχτή Διευθυνσιοδότηση) Διπλή Διασπορά βοηθητικές συναρτήσεις διασποράς μετάθεση της Πρέπει και να είναι αμοιβαία πρώτοι π.χ. μπορούμε να έχουμε ίσο με μία δύναμη του 2 και περιττό Δίνει ακολουθίες Καλή προσέγγιση της ομοιόμορφης διασποράς

55 Μέθοδος Μεταβλητών Διευθύνσεων (Ανοιχτή Διευθυνσιοδότηση) Υπόθεση της ομοιόμορφης διασποράς : η βολιδοσκοπική ακολουθία κάθε κλειδιού είναι μία τυχαία μετάθεση της Συντελεστής πληρότητας έχουμε. Για τη μέθοδο των μεταβλητών διευθύνσεων Θεώρημα Το αναμενόμενο πλήθος βολιδοσκοπήσεων είναι το πολύ : σε μία ανεπιτυχή αναζήτηση σε μία επιτυχή αναζήτηση Π.χ. Για α=0.5 έχουμε U=2 και S=1.386 Για α=0.9 έχουμε U=10 και S=2.558

56 Μέθοδος Μεταβλητών Διευθύνσεων (Ανοιχτή Διευθυνσιοδότηση) Υπόθεση της ομοιόμορφης διασποράς : η βολιδοσκοπική ακολουθία κάθε κλειδιού είναι μία τυχαία μετάθεση της Αν ισχύει η υπόθεση ομοιόμορφης διασποράς, τότε η πιθανότητα η j-οστή βολιδοσκόπηση να βρει κατειλημμένη θέση δεδομένου ότι οι πρώτες (j-1) πράξεις βολιδοσκόπησης βρήκαν κατειλημμένες θέσεις είναι Άρα η πιθανότητα να χρειαστούν τουλάχιστον βολιδοσκοπήσεις είναι Επομένως, το αναμενόμενο πλήθος βολιδοσκοπήσεων σε ανεπιτυχή αναζήτηση είναι

57 Μέθοδος Μεταβλητών Διευθύνσεων (Ανοιχτή Διευθυνσιοδότηση) Υπόθεση της ομοιόμορφης διασποράς : η βολιδοσκοπική ακολουθία κάθε κλειδιού είναι μία τυχαία μετάθεση της Το αναμενόμενο πλήθος προσπελάσεων σε επιτυχημένη αναζήτηση είναι ίσο με το αναμενόμενο πλήθος προσπελάσεων για την εισαγωγή κάθε ενός από τα n κλειδιά. Το αναμενόμενο πλήθος προσπελάσεων για την εισαγωγή του i-οστού κλειδιού είναι ίσο με το αναμενόμενο πλήθος προσπελάσεων σε μη επιτυχημένη αναζήτηση όταν έχουν ήδη εισαχθεί (i-1) κλειδιά. Επομένως: Ν-οστός αρμονικός αριθμός

58 Μέθοδος Μεταβλητών Διευθύνσεων (Ανοιχτή Διευθυνσιοδότηση) Υπόθεση της ομοιόμορφης διασποράς : η βολιδοσκοπική ακολουθία κάθε κλειδιού είναι μία τυχαία μετάθεση της Το αναμενόμενο πλήθος προσπελάσεων σε επιτυχημένη αναζήτηση είναι ίσο με το αναμενόμενο πλήθος προσπελάσεων για την εισαγωγή κάθε ενός από τα n κλειδιά. Το αναμενόμενο πλήθος προσπελάσεων για την εισαγωγή του i-οστού κλειδιού είναι ίσο με το αναμενόμενο πλήθος προσπελάσεων σε μη επιτυχημένη αναζήτηση όταν έχουν ήδη εισαχθεί (i-1) κλειδιά. Επομένως:

59 Ταξινομημένοι Πίνακες Διασποράς Αν τα κλειδιά είναι ταξινομημένα έχουμε μείωση του χρόνου για αποτυχημένες αναζητήσεις: Αν ένα μεγαλύτερο κλειδί από το ζητούμενο k προσπελαστεί τερματίζει η αναζήτηση. Μέθοδος με Αλυσίδες Διατηρούμε τα κλειδιά στις αλυσίδες ταξινομημένα. Μέθοδος Ανοικτής Διευθυνσιοδότησης Τα κλειδιά πρέπει να εισαχθούν έτσι ώστε τα κλειδιά που προηγούνται στην ακολουθία αναζήτησης από το k, θα πρέπει να είναι μικρότερα από το k. Ιδέα Αν στην ακολουθία αναζήτησης για το κλειδί k δούμε κλειδί k >k, τότε αντικαθιστούμε το k με το k και συνεχίζουμε με την εισαγωγή του k βάσει της ακολουθίας αναζήτησης του k.

60 Ταξινομημένοι Πίνακες Διασποράς Η τελική μορφή του πίνακα διασποράς μετά τις εισαγωγές των κλειδιών είναι η ίδια ανεξάρτητα από τη σειρά εισαγωγής των κλειδιών. Υπόθεση Η πιθανότητα να επιλεγεί ένα συγκεκριμένο κλειδί από τον χώρο κλειδιών είναι η ίδια για όλα τα κλειδιά του χώρου. Τότε: Ο αναμενόμενος χρόνος για επιτυχημένη αναζήτηση δεν αλλάζει. Ο αναμενόμενος χρόνος για μη επιτυχημένη αναζήτηση γίνεται περίπου ίδιος με το χρόνο επιτυχημένης αναζήτησης.

61 Πλήρης Διασπορά Όταν το σύνολο των κλειδιών είναι στατικό μπορούμε να πετύχουμε άριστη επίδοση : O(1) χρόνο χειρότερης περίπτωσης ανά πράξη

62 Πλήρης Διασπορά Όταν το σύνολο των κλειδιών είναι στατικό μπορούμε να πετύχουμε άριστη επίδοση : O(1) χρόνο χειρότερης περίπτωσης ανά πράξη k 5 k 2 k 5 T 0 Ιδέα: Διασπορά δύο επιπέδων με χρήση καθολικής διασποράς ανά επίπεδο K k 2 k 1 k 4 k 1 k 3 k 4 k 3 m-1

63 Πλήρης Διασπορά Όταν το σύνολο των κλειδιών είναι στατικό μπορούμε να πετύχουμε άριστη επίδοση : O(1) χρόνο χειρότερης περίπτωσης ανά πράξη k 5 k 2 k 5 T 0 Ιδέα: Διασπορά δύο επιπέδων με χρήση καθολικής διασποράς ανά επίπεδο K k 2 k 1 k 4 k 1 k 3 k 4 k 3 m-1 2 ο επίπεδο : δευτερογενής πίνακας διασποράς για κάθεt[i] 1 ο επίπεδο

64 Πλήρης Διασπορά Όταν το σύνολο των κλειδιών είναι στατικό μπορούμε να πετύχουμε άριστη επίδοση : O(1) χρόνο χειρότερης περίπτωσης ανά πράξη k 5 k 2 k 5 T 0 Ιδέα: Διασπορά δύο επιπέδων με χρήση καθολικής διασποράς ανά επίπεδο K k 2 k 1 k 4 k 1 k 3 k 4 k 3 m-1 2 ο επίπεδο : δευτερογενής πίνακας διασποράς για κάθεt[i] 1 ο επίπεδο Στο 2 ο επίπεδο αποφεύγουμε τις συμπτώσεις

65 Πλήρης Διασπορά Παράδειγμα Συνάρτηση διασποράς 1ου επιπέδου : Συνάρτηση διασποράς 2ου επιπέδου :

66 Πλήρης Διασπορά πρωτογενής πίνακας διασποράς με δευτερογενής πίνακας διασποράς με θέσεις και συνάρτηση διασποράς θέσεις και συνάρτηση διασποράς Έστω ο συνολικός αριθμός κλειδιών και ο αριθμός των κλειδιών που αποθηκεύονται στον. Για να αποφύγουμε τις συγκρούσεις στο δεύτερο επίπεδο θα επιλέξουμε. Θα δείξουμε ότι για κατάλληλα επιλεγμένη απαιτείται για τους δευτερογενείς πίνακες είναι ο αναμενόμενος χώρος που

67 Πλήρης Διασπορά Επιλέγουμε την πρωτογενή συνάρτηση διασποράς οικογένεια. από την καθολική Επιλέγουμε κάθε δευτερογενή συνάρτηση διασποράς οικογένεια. από την καθολική

68 Πλήρης Διασπορά Θεώρημα Έστω ότι επιλέγουμε τυχαία μια συνάρτηση διασποράς από καθολική οικογένεια συναρτήσεων διασποράς. Αν αποθηκεύσουμε κλειδιά και το μέγεθος του πίνακα διασποράς είναι τότε η πιθανότητα να υπάρχει σύγκρουση είναι. Ο αριθμός των πιθανών συγκρούσεων είναι κλειδιών., όσα τα διαφορετικά ζεύγη Από τον τρόπο επιλογής της ζεύγους κλειδιών είναι το πολύ. προκύπτει ότι η πιθανότητα σύγκρουσης ενός Άρα ο αναμενόμενος αριθμός συγκρούσεων είναι Από την ανισότητα του Markov έχουμε

69 Πλήρης Διασπορά Θεώρημα Έστω ότι επιλέγουμε τυχαία μια συνάρτηση διασποράς από καθολική οικογένεια συναρτήσεων διασποράς. Αν αποθηκεύσουμε κλειδιά και το μέγεθος του πίνακα διασποράς είναι τότε η πιθανότητα να υπάρχει σύγκρουση είναι. Το παραπάνω θεώρημα συνεπάγεται ότι για μπορούμε να βρούμε με λίγες δοκιμές μια συνάρτηση διασποράς που να μην έχει συγκρούσεις για το σύνολο των κλειδιών που αποθηκεύεται στον.

70 Πλήρης Διασπορά Απομένει να επιλέξουμε μια πρωτογενή συνάρτηση διασποράς έτσι ώστε Θεώρημα Έστω ότι επιλέγουμε τυχαία μια συνάρτηση διασποράς από καθολική οικογένεια συναρτήσεων διασποράς. Αν αποθηκεύσουμε κλειδιά και το μέγεθος του πίνακα διασποράς είναι τότε

71 Πλήρης Διασπορά Θεώρημα Έστω ότι επιλέγουμε τυχαία μια συνάρτηση διασποράς από καθολική οικογένεια συναρτήσεων διασποράς. Αν αποθηκεύσουμε κλειδιά και το μέγεθος του πίνακα διασποράς είναι τότε Για κάθε μη αρνητικό ακέραιο ισχύει άρα έχουμε Καθώς απομένει να δείξουμε ότι

72 Πλήρης Διασπορά Θεώρημα Έστω ότι επιλέγουμε τυχαία μια συνάρτηση διασποράς από καθολική οικογένεια συναρτήσεων διασποράς. Αν αποθηκεύσουμε κλειδιά και το μέγεθος του πίνακα διασποράς είναι τότε Παρατηρούμε ότι αναμενόμενο πλήθος συγκρούσεων, άρα από την επιλογή της έχουμε

73 Πλήρης Διασπορά Θεώρημα Έστω ότι επιλέγουμε τυχαία μια συνάρτηση διασποράς από καθολική οικογένεια συναρτήσεων διασποράς. Αν αποθηκεύσουμε κλειδιά και το μέγεθος του πίνακα διασποράς είναι τότε Άρα ο αναμενόμενος χώρος που απαιτείται για την αποθήκευση όλων των δευτερογενών πινάκων είναι Από την ανισότητα του Markov έχουμε Δηλαδή μπορούμε να βρούμε με λίγες δοκιμές μια κατάλληλη πρωτογενή συνάρτηση διασποράς.

74 Δυναμικοί Πίνακες Διασποράς Συντελεστής πληρότητας Η απόδοση του κατακερματισμού επιδεινώνεται όσο αυξάνει ο συντελεστής Επιπλέον στην μέθοδο των μεταβλητών διευθύνσεων πρέπει

75 Δυναμικοί Πίνακες Διασποράς Συντελεστής πληρότητας Η απόδοση του κατακερματισμού επιδεινώνεται όσο αυξάνει ο συντελεστής Επιπλέον στην μέθοδο των μεταβλητών διευθύνσεων πρέπει Για να αντιμετωπίσουμε το παραπάνω ζήτημα μπορούμε να διπλασιάσουμε το μέγεθος του πίνακα διασποράς κάθε φορά που ο συντελεστής φθάνει μία συγκεκριμένη τιμή (π.χ. 50% για τη μέθοδο των μεταβλητών διευθύνσεων) T T

76 Δυναμικοί Πίνακες Διασποράς Συντελεστής πληρότητας Η απόδοση του κατακερματισμού επιδεινώνεται όσο αυξάνει ο συντελεστής Επιπλέον στην μέθοδο των μεταβλητών διευθύνσεων πρέπει Για να αντιμετωπίσουμε το παραπάνω ζήτημα μπορούμε να διπλασιάσουμε το μέγεθος του πίνακα διασποράς κάθε φορά που ο συντελεστής φθάνει μία συγκεκριμένη τιμή (π.χ. 50% για τη μέθοδο των μεταβλητών διευθύνσεων) T T Παίρνει (αναμενόμενο) χρόνο γιατί όλα τα στοιχεία πρέπει να εισαχθούν στο νέο πίνακα. Ευτυχώς ο διπλασιασμός δε συμβαίνει συχνά, αποτελεί καλή λύση όταν μας ενδιαφέρει να είναι χαμηλό το μέσο κόστος ανά πράξη (σε αντίθεση με το κόστος χειρότερης περίπτωσης)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Δομές Δεδομένων. Λουκάς Γεωργιάδης. http://www.cs.uoi.gr/~loukas/courses/data_structures/ email: loukas@cs.uoi.gr

Δομές Δεδομένων. Λουκάς Γεωργιάδης. http://www.cs.uoi.gr/~loukas/courses/data_structures/ email: loukas@cs.uoi.gr Δομές Δεδομένων http://www.cs.uoi.gr/~loukas/courses/data_structures/ Λουκάς Γεωργιάδης email: loukas@cs.uoi.gr Αλγόριθμος: Μέθοδος για την επίλυση ενός προβλήματος Δεδομένα: Σύνολο από πληροφορίες που

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Δυναμική Διατήρηση Γραμμικής Διάταξης

Δυναμική Διατήρηση Γραμμικής Διάταξης Διατηρεί μια γραμμική διάταξη δυναμικά μεταβαλλόμενης συλλογής στοιχείων. Υποστηρίζει τις λειτουργίες: Εισαγωγή νέου στοιχείου y αμέσως μετά από το στοιχείο x. x y Διαγραφή στοιχείου y. y Έλεγχος της σειράς

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Αριθμοθεωρητικοί Αλγόριθμοι

Αριθμοθεωρητικοί Αλγόριθμοι Αλγόριθμοι που επεξεργάζονται μεγάλους ακέραιους αριθμούς Μέγεθος εισόδου: Αριθμός bits που απαιτούνται για την αναπαράσταση των ακεραίων. Έστω ότι ένας αλγόριθμος λαμβάνει ως είσοδο έναν ακέραιο Ο αλγόριθμος

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

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

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

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

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

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

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

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

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

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

ΚΕΦΑΛΑΙΟ 4 Η ΑΡΧΗ ΕΓΚΛΕΙΣΜΟΥ ΑΠΟΚΛΕΙΣΜΟΥ

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

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

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

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

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

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

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

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

Ανάλυση αλγορίθμων. Χρόνος εκτέλεσης: Αναμενόμενη περίπτωση. - απαιτεί γνώση της κατανομής εισόδου

Ανάλυση αλγορίθμων. Χρόνος εκτέλεσης: Αναμενόμενη περίπτωση. - απαιτεί γνώση της κατανομής εισόδου Ανάλυση αλγορίθμων Παράμετροι απόδοσης ενός αλγόριθμου: Χρόνος εκτέλεσης Απαιτούμενοι πόροι, π.χ. μνήμη, επικοινωνία (π.χ. σε κατανεμημένα συστήματα) Προσπάθεια υλοποίησης Ανάλυση της απόδοσης Θεωρητική

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

Αντισταθμιστική ανάλυση

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

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

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

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

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

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

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

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

Advanced Data Indexing

Advanced Data Indexing Advanced Data Indexing (Προηγμένη ευρετηρίαση δεδομένων) Κατακερματισμός Hashing (1ο Μέρος) Η Αναζήτηση απαιτεί Δομές Λύσεις Για να υποστηριχθεί η αποδοτική αναζήτηση απαιτείται η χρήση κατάλληλων δομών-ευρετηρίων

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

Αριθμητική Ανάλυση & Εφαρμογές

Αριθμητική Ανάλυση & Εφαρμογές Αριθμητική Ανάλυση & Εφαρμογές Διδάσκων: Δημήτριος Ι. Φωτιάδης Τμήμα Μηχανικών Επιστήμης Υλικών Ιωάννινα 2017-2018 Υπολογισμοί και Σφάλματα Παράσταση Πραγματικών Αριθμών Συστήματα Αριθμών Παράσταση Ακέραιου

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Προγραµµατιστικές Τεχνικές

Προγραµµατιστικές Τεχνικές Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Αγρονόµων Τοπογράφων Μηχανικών Προγραµµατιστικές Τεχνικές Βασίλειος Βεσκούκης ρ. Ηλεκτρολόγος Μηχανικός & Μηχανικός Υπολογιστών ΕΜΠ v.vescoukis@cs.ntua.gr Ρωµύλος Κορακίτης

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Διακριτά Μαθηματικά ΙΙ Χρήστος Νομικός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων 2018 Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά

Διακριτά Μαθηματικά ΙΙ Χρήστος Νομικός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων 2018 Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά Διακριτά Μαθηματικά ΙΙ Χρήστος Νομικός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων 2018 Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά και Πληροφορικής Μαθηματικά Πανεπιστήμιο ΙΙ Ιωαννίνων

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

Advanced Data Indexing

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

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

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

Ταξινόμηση. 1. Ταξινόμηση με Εισαγωγή 2. Ταξινόμηση με Επιλογή. Εισαγωγή στην Ανάλυση Αλγορίθμων Μάγια Σατρατζέμη Ταξινόμηση. Ταξινόμηση με Εισαγωγή. Ταξινόμηση με Επιλογή Εισαγωγή στην Ανάλυση Αλγορίθμων Μάγια Σατρατζέμη Ταξινόμηση Η ταξινόμηση sortg τοποθετεί ένα σύνολο κόμβων ή εγγραφών σε μία συγκεκριμένη διάταξη

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

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

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

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

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

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

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

viii 20 Δένδρα van Emde Boas 543

viii 20 Δένδρα van Emde Boas 543 Περιεχόμενα Πρόλογος xi I Θεμελιώδεις έννοιες Εισαγωγή 3 1 Ο ρόλος των αλγορίθμων στις υπολογιστικές διαδικασίες 5 1.1 Αλγόριθμοι 5 1.2 Οι αλγόριθμοι σαν τεχνολογία 12 2 Προκαταρκτικές έννοιες και παρατηρήσεις

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

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

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

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

Τύποι Δεδομένων και Απλές Δομές Δεδομένων. Παύλος Εφραιμίδης V1.0 ( )

Τύποι Δεδομένων και Απλές Δομές Δεδομένων. Παύλος Εφραιμίδης V1.0 ( ) Τύποι Δεδομένων και Απλές Δομές Δεδομένων Παύλος Εφραιμίδης V1.0 (2014-01-13) Απλές Δομές Δεδομένων Στην ενότητα αυτή θα γνωρίσουμε ορισμένες απλές Δομές Δεδομένων και θα τις χρησιμοποιήσουμε για την αποδοτική

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

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

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

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

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

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

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

Κεφάλαιο 8 Ισορροπημένα Δένδρα Αναζήτησης

Κεφάλαιο 8 Ισορροπημένα Δένδρα Αναζήτησης Κεφάλαιο 8 Ισορροπημένα Δένδρα Αναζήτησης Περιεχόμενα 8.1 Κατηγορίες ισορροπημένων δένδρων αναζήτησης... 155 8.1.1 Περιστροφές... 156 8.2 Δένδρα AVL... 157 8.2.1 Αποκατάσταση συνθήκης ισορροπίας... 158

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

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

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

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

Ερωτήσεις πολλαπλής επιλογής - Κεφάλαιο Κάθε δομή μπορεί να χρησιμοποιηθεί σε οποιοδήποτε πρόβλημα ή εφαρμογή

Ερωτήσεις πολλαπλής επιλογής - Κεφάλαιο Κάθε δομή μπορεί να χρησιμοποιηθεί σε οποιοδήποτε πρόβλημα ή εφαρμογή Ερωτήσεις πολλαπλής επιλογής - Κεφάλαιο 3 1. Κάθε δομή μπορεί να χρησιμοποιηθεί σε οποιοδήποτε πρόβλημα ή εφαρμογή 2. Δυναμικές είναι οι δομές που αποθηκεύονται σε συνεχόμενες θέσεις μνήμης 3. Ένας πίνακας

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

Διαχρονικές δομές δεδομένων

Διαχρονικές δομές δεδομένων Διαχρονικές δομές δεδομένων Μια τυπική δομή δεδομένων μεταβάλλεται με πράξεις εισαγωγής ή διαγραφής Π.χ. κοκκινόμαυρο δένδρο εισαγωγή 0 18 0 5 39 73 1 46 6 80 Αποκατάσταση ισορροπίας 5 39 73 0 46 6 80

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

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

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

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

12. ΑΝΙΣΩΣΕΙΣ Α ΒΑΘΜΟΥ. είναι δύο παραστάσεις μιας μεταβλητής x πού παίρνει τιμές στο

12. ΑΝΙΣΩΣΕΙΣ Α ΒΑΘΜΟΥ. είναι δύο παραστάσεις μιας μεταβλητής x πού παίρνει τιμές στο ΓΕΝΙΚΑ ΠΕΡΙ ΑΝΙΣΩΣΕΩΝ Έστω f σύνολο Α, g Α ΒΑΘΜΟΥ είναι δύο παραστάσεις μιας μεταβλητής πού παίρνει τιμές στο Ανίσωση με έναν άγνωστο λέγεται κάθε σχέση της μορφής f f g g ή, η οποία αληθεύει για ορισμένες

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

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

Δομές Δεδομένων. Δημήτρης Μιχαήλ. Ταξινόμηση. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Δομές Δεδομένων Ταξινόμηση Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Το πρόβλημα Είσοδος n αντικείμενα a 1, a 2,..., a n με κλειδιά (συνήθως σε ένα πίνακα, ή λίστα, κ.τ.λ)

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

Κεφάλαιο 10 Ψηφιακά Λεξικά

Κεφάλαιο 10 Ψηφιακά Λεξικά Κεφάλαιο 10 Ψηφιακά Λεξικά Περιεχόμενα 10.1 Εισαγωγή... 213 10.2 Ψηφιακά Δένδρα... 214 10.3 Υλοποίηση σε Java... 222 10.4 Συμπιεσμένα και τριαδικά ψηφιακά δένδρα... 223 Ασκήσεις... 225 Βιβλιογραφία...

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

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

Δοµές Δεδοµένων. 15η Διάλεξη Δέντρα Δυαδικής Αναζήτησης και Κατακερµατισµός. Ε. Μαρκάκης Δοµές Δεδοµένων 15η Διάλεξη Δέντρα Δυαδικής Αναζήτησης και Κατακερµατισµός Ε. Μαρκάκης Περίληψη Υλοποιήσεις άλλων λειτουργιών σε ΔΔΑ: Επιλογή k-οστού µικρότερου Διαµέριση Αφαίρεση στοιχείου Ένωση 2 δέντρων

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

Επιµέλεια Θοδωρής Πιερράτος

Επιµέλεια Θοδωρής Πιερράτος εδοµένα οµές δεδοµένων και αλγόριθµοι Τα δεδοµένα είναι ακατέργαστα γεγονότα. Η συλλογή των ακατέργαστων δεδοµένων και ο συσχετισµός τους δίνει ως αποτέλεσµα την πληροφορία. Η µέτρηση, η κωδικοποίηση,

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

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

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

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

Προγραμματιστικές Τεχνικές

Προγραμματιστικές Τεχνικές Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Αγρονόμων Τοπογράφων Μηχανικών Προγραμματιστικές Τεχνικές Βασίλειος Βεσκούκης Δρ. Ηλεκτρολόγος Μηχανικός & Μηχανικός Υπολογιστών ΕΜΠ Επικ. Καθηγητής ΕΜΠ v.vescoukis@cs.ntua.gr

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

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

Εισαγωγή στην επιστήμη των υπολογιστών Εισαγωγή στην επιστήμη των υπολογιστών Υπολογιστές και Δεδομένα Κεφάλαιο 3ο Αναπαράσταση Αριθμών www.di.uoa.gr/~organosi 1 Δεκαδικό και Δυαδικό Δεκαδικό σύστημα 2 3 Δεκαδικό και Δυαδικό Δυαδικό Σύστημα

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

Κεφάλαιο 13. Αποθήκευση σε ίσκους, Βασικές οµέςαρχείων, και Κατακερµατισµός. ιαφάνεια 13-1

Κεφάλαιο 13. Αποθήκευση σε ίσκους, Βασικές οµέςαρχείων, και Κατακερµατισµός. ιαφάνεια 13-1 ιαφάνεια 13-1 Κεφάλαιο 13 Αποθήκευση σε ίσκους, Βασικές οµέςαρχείων, και Κατακερµατισµός ίαβλος, Επιµ.Μ.Χατζόπουλος 1 Γιατί θα µιλήσουµε Μονάδες Αποθήκευσης ίσκων Αρχεία Εγγραφών Πράξεις σε αρχεία Αρχεία

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

3 ΟΥ και 9 ΟΥ ΚΕΦΑΛΑΙΟΥ

3 ΟΥ και 9 ΟΥ ΚΕΦΑΛΑΙΟΥ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΙΜΕΛΕΙΑ: ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΘΕΩΡΙΑ 3 ΟΥ και 9 ΟΥ ΚΕΦΑΛΑΙΟΥ ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΠΙΝΑΚΩΝ ΣΤΟΙΒΑΣ ΚΑΙ ΟΥΡΑΣ Α ΜΕΡΟΣ ΘΕΩΡΙΑ ΓΙΑ ΠΙΝΑΚΕΣ 3.1

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

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

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

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

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

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

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

Αριθμήσιμα σύνολα. Μαθηματικά Πληροφορικής 5ο Μάθημα. Παραδείγματα αριθμήσιμων συνόλων. Οι ρητοί αριθμοί

Αριθμήσιμα σύνολα. Μαθηματικά Πληροφορικής 5ο Μάθημα. Παραδείγματα αριθμήσιμων συνόλων. Οι ρητοί αριθμοί Αριθμήσιμα σύνολα Μαθηματικά Πληροφορικής 5ο Μάθημα Τμήμα Πληροφορικής και Τηλεπικοινωνιών Πανεπιστήμιο Αθηνών Ορισμός Πόσα στοιχεία έχει το σύνολο {a, b, r, q, x}; Οσα και το σύνολο {,,, 4, 5} που είναι

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

Πληροφορική 2. Αλγόριθμοι

Πληροφορική 2. Αλγόριθμοι Πληροφορική 2 Αλγόριθμοι 1 2 Τι είναι αλγόριθμος; Αλγόριθμος είναι ένα διατεταγμένο σύνολο από σαφή βήματα το οποίο παράγει κάποιο αποτέλεσμα και τερματίζεται σε πεπερασμένο χρόνο. Ο αλγόριθμος δέχεται

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

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

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

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

Διαχείριση Εφοδιαστικής Αλυσίδας ΙΙ

Διαχείριση Εφοδιαστικής Αλυσίδας ΙΙ Διαχείριση Εφοδιαστικής Αλυσίδας ΙΙ 1 η Διάλεξη: Αναδρομή στον Μαθηματικό Προγραμματισμό 2019, Πολυτεχνική Σχολή Εργαστήριο Συστημάτων Σχεδιασμού, Παραγωγής και Λειτουργιών Περιεχόμενα 1. Γραμμικός Προγραμματισμός

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

Σχεδίαση και Ανάλυση Αλγορίθμων

Σχεδίαση και Ανάλυση Αλγορίθμων Σχεδίαση και Ανάλυση Αλγορίθμων Ενότητα 4.0 Επιλογή Αλγόριθμοι Επιλογής Select και Quick-Select Σταύρος Δ. Νικολόπουλος 2016-17 Τμήμα Μηχανικών Η/Υ & Πληροφορικής Πανεπιστήμιο Ιωαννίνων Webpage: www.cs.uoi.gr/~stavros

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

Κεφάλαιο 11 Ένωση Ξένων Συνόλων

Κεφάλαιο 11 Ένωση Ξένων Συνόλων Κεφάλαιο 11 Ένωση Ξένων Συνόλων Περιεχόμενα 11.1 Εισαγωγή... 227 11.2 Εφαρμογή στο Πρόβλημα της Συνεκτικότητας... 228 11.3 Δομή Ξένων Συνόλων με Συνδεδεμένες Λίστες... 229 11.4 Δομή Ξένων Συνόλων με Ανοδικά

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

Στοιχειώδεις Δομές Δεδομένων

Στοιχειώδεις Δομές Δεδομένων Στοιχειώδεις Δομές Δεδομένων Τύποι δεδομένων στη Java Ακέραιοι (int, long) Αριθμοί κινητής υποδιαστολής (float, double) Χαρακτήρες (char) Δυαδικοί (boolean) Από τους παραπάνω μπορούμε να φτιάξουμε σύνθετους

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

APEIROSTIKOS LOGISMOS I

APEIROSTIKOS LOGISMOS I APEIROSTIKOS LOGISMOS I ΟΛΟΗΜΕΡΟ ΕΡΓΑΣΤΗΡΙΟ ΠΡΟΒΛΗΜΑΤΩΝ Λύσεις ασκήσεων φυλλαδίου 4. Άσκηση : Υπολογίστε, αν υπάρχουν, τα παρακάτω όρια. Αν χρειάζεται, υπολογίστε τα αντίστοιχα πλευρικά όρια. + 4 3 + +,

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

ΠΑΡΑΡΤΗΜΑ: QUIZ ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ

ΠΑΡΑΡΤΗΜΑ: QUIZ ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΠΑΡΑΡΤΗΜΑ: QUIZ ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ (Οι ερωτήσεις µε κίτρινη υπογράµµιση είναι εκτός ύλης για φέτος) ΕΙΣΑΓΩΓΗ Q1. Οι Πρωταρχικοί τύποι (primitive types) στη Java 1. Είναι όλοι οι ακέραιοι και όλοι οι πραγµατικοί

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

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

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

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

Ενδεικτικές Ερωτήσεις Θεωρίας

Ενδεικτικές Ερωτήσεις Θεωρίας Ενδεικτικές Ερωτήσεις Θεωρίας Κεφάλαιο 2 1. Τι καλούμε αλγόριθμο; 2. Ποια κριτήρια πρέπει οπωσδήποτε να ικανοποιεί ένας αλγόριθμος; 3. Πώς ονομάζεται μια διαδικασία που δεν περατώνεται μετά από συγκεκριμένο

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

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

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

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

Η πρώτη παράμετρος είναι ένα αλφαριθμητικό μορφοποίησης

Η πρώτη παράμετρος είναι ένα αλφαριθμητικό μορφοποίησης Η συνάρτηση printf() Η συνάρτηση printf() χρησιμοποιείται για την εμφάνιση δεδομένων στο αρχείο εξόδου stdout (standard output stream), το οποίο εξ ορισμού συνδέεται με την οθόνη Η συνάρτηση printf() δέχεται

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

3 ο ΦΥΛΛΑΔΙΟ ΑΣΚΗΣΕΩΝ - ΠΙΝΑΚΕΣ

3 ο ΦΥΛΛΑΔΙΟ ΑΣΚΗΣΕΩΝ - ΠΙΝΑΚΕΣ Δημοκρίτειο Πανεπιστήμιο Θράκης Πολυτεχνική Σχολή Τμήμα Μηχανικών Παραγωγής & Διοίκησης Ακαδ. έτος 2016-2017 Τομέας Συστημάτων Παραγωγής Εξάμηνο A Αναπληρωτής Καθηγητής Στέφανος Δ. Κατσαβούνης 23 ΝΟΕ 2016

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