Πίνακες Συμβόλων. εισαγωγή αναζήτηση επιλογή. εισαγωγή. αναζήτηση
|
|
- Ἠλίας Δουρέντης
- 6 χρόνια πριν
- Προβολές:
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 char s[4] = have k = ( ) mod 67 = 420 mod 67 = 18
6 Πίνακες Διασποράς Μετατροπή σε ακέραιο στο διάστημα - για αλφαριθμητικά με χαρακτήρες κάθε χαρακτήρας αντιστοιχεί σε ένα ακέραιο σε κωδικοποίηση ASCII έχουμε a = 97, b = 98, c = 99, κλπ π.χ. για m = 67 char s[4] = 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 char s[4] = 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 char s[4] = have k = (((104* )* )* ) mod 67 = 52 int w = 128; int k = 0; for (i=0; i<n; i++){ k = (k*w + s[i]) % m; }
9 Πίνακες σταθερών διευθύνσεων Απλή λύση όταν το U είναι μικρό: όπου 5 3 K T U : χώρος πιθανών κλειδιών K : χώρος ενεργών κλειδιών Τ : πίνακας μεγέθους m συνάρτηση διασποράς 6 U
10 Πίνακες σταθερών διευθύνσεων Απλή λύση όταν το U είναι μικρό: όπου Δίνει Ο(1) χρόνο ανά πράξη. 5 3 K T U : χώρος πιθανών κλειδιών K : χώρος ενεργών κλειδιών Τ : πίνακας μεγέθους m συνάρτηση διασποράς 6 U
11 Πίνακες σταθερών διευθύνσεων Απλή λύση όταν το U είναι μικρό: όπου Δίνει Ο(1) χρόνο ανά πράξη. Τι γίνεται όμως αν το U είναι πολύ μεγάλο; 5 3 K T U : χώρος πιθανών κλειδιών K : χώρος ενεργών κλειδιών Τ : πίνακας μεγέθους m συνάρτηση διασποράς 6 U
12 Πίνακες σταθερών διευθύνσεων Απλή λύση όταν το U είναι μικρό: όπου Δίνει Ο(1) χρόνο ανά πράξη. Τι γίνεται όμως αν το U είναι πολύ μεγάλο και το Κ πολύ μικρότερο; 5 3 K T U : χώρος πιθανών κλειδιών K : χώρος ενεργών κλειδιών Τ : πίνακας μεγέθους m συνάρτηση διασποράς 6 U
13 Πίνακες Διασποράς Επιθυμητές ιδιότητες: χώρος χρόνος ανά λειτουργία (αναμενόμενη περίπτωση) T 0 U : χώρος πιθανών κλειδιών K : χώρος ενεργών κλειδιών U K k 2 k 4 k 1 Τ : πίνακας μεγέθους m συνάρτηση διασποράς k 3 m-1
14 Πίνακες Διασποράς Επιθυμητές ιδιότητες: χώρος χρόνος ανά λειτουργία (αναμενόμενη περίπτωση) Σύγκρουση (collision): για κλειδιά T 0 U : χώρος πιθανών κλειδιών K : χώρος ενεργών κλειδιών U K k 2 k 4 k 1 Τ : πίνακας μεγέθους m συνάρτηση διασποράς k 3 m-1
15 Πίνακες Διασποράς Επιθυμητές ιδιότητες: χώρος χρόνος ανά λειτουργία (αναμενόμενη περίπτωση) Σύγκρουση (collision): για κλειδιά T 0 Η h πρέπει να δίνει τυχαιόμορφη κατανομή U : χώρος πιθανών κλειδιών K : χώρος ενεργών κλειδιών U K k 2 k 4 k 1 Τ : πίνακας μεγέθους m συνάρτηση διασποράς k 3 m-1
16 Πίνακες Διασποράς Ποιά συνάρτηση διασποράς είναι καλύτερη;
17 Πίνακες Διασποράς Σύγκρουση (collision): για κλειδιά Πρέπει να οριστεί ένας τρόπος διαχείρισης συγκρούσεων ώστε τα κλειδιά να μπορούν να βρεθούν αρκετά γρήγορα. Χρησιμοποιούνται 2 κύριοι τρόποι: Τοποθέτηση στην ίδια θέση (π.χ., σε αλυσίδα) Τοποθέτηση σε άλλη θέση
18 Πίνακες Διασποράς Αλυσιδωτής Σύνδεσης Σύγκρουση (collision): για κλειδιά Άρση των συγκρούσεων μέσω αλυσιδωτής σύνδεσης Κάθε δείχνει σε μία αλυσίδα για τα κλειδιά με διασπορά T 0 k 2 U K k 2 k 3 k 4 k 1 m-1 k 1 k 3 k 4
19 Πίνακες Διασποράς Αλυσιδωτής Σύνδεσης Σύγκρουση (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
20 Πίνακες Διασποράς Αλυσιδωτής Σύνδεσης Σύγκρουση (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
21 Πίνακες Διασποράς Αλυσιδωτής Σύνδεσης Σύγκρουση (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.
22 Πίνακες Διασποράς Αλυσιδωτής Σύνδεσης Σύγκρουση (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. Ο αναμενόμενος χρόνος αναζήτησης εξαρτάται από το αναμενόμενο μήκος μιας αλυσίδας.
23 Πίνακες Διασποράς Αλυσιδωτής Σύνδεσης Εισαγωγή 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
24 Πίνακες Διασποράς Αλυσιδωτής Σύνδεσης Εισαγωγή 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
25 Πίνακες Διασποράς Αλυσιδωτής Σύνδεσης Συντελεστής πληρότητας πλήθος των ενεργών κλειδιών Στη χειρότερη περίπτωση η διασπορά είναι ίδια για όλα τα χρόνος αναζήτησης στη χειρότερη περίπτωση. 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
26 Πίνακες Διασποράς Αλυσιδωτής Σύνδεσης Συντελεστής πληρότητας πλήθος των ενεργών κλειδιών Έστω το μήκος της αλυσίδας του. Έχουμε και επομένως το μέσο μήκος μιας αλυσίδας είναι. T Υπόθεση απλής ομοιόμορφης διασποράς: κάθε νέο στοιχείο έχει ίση πιθανότητα να διασπαρεί σε οποιαδήποτε από τις m θέσεις. U K k 5 k 5 k 2 k 2 k k 1 k 4 4 k 1 k 3 k m Αναμενόμενος χρόνος ανεπιτυχούς αναζήτησης: Αναμενόμενος χρόνος επιτυχούς αναζήτησης: Μια επιτυχής αναζήτηση διασχίζει κατά μέσο όρο τους μισούς κόμβους αλυσίδας που δεν είναι κενή.
27 Συναρτήσεις Διασποράς Πότε είναι μία συνάρτηση διασποράς καλή; Επιθυμητή ιδιότητα: να ικανοποιεί την υπόθεση της απλής ομοιόμορφης διασποράς (δηλ. κάθε νέο στοιχείο έχει ίση πιθανότητα να διασπαρεί σε οποιαδήποτε από τις m θέσεις). Παράδειγμα: Τα κλειδιά είναι ανεξάρτητοι και ομοιόμορφα κατανεμημένοι αριθμοί στο διάστημα [0,1]. Επιλέγοντας ικανοποιούμε την υπόθεση της απλής ομοιόμορφης διασποράς. Η παραπάνω ιδιότητα απαιτεί γνώση της κατανομής των κλειδιών, που συνήθως δεν είναι γνωστή.
28 Συναρτήσεις Διασποράς Πότε είναι μία συνάρτηση διασποράς καλή; Επιθυμητή ιδιότητα: να ικανοποιεί την υπόθεση της απλής ομοιόμορφης διασποράς (δηλ. κάθε νέο στοιχείο έχει ίση πιθανότητα να διασπαρεί σε οποιαδήποτε από τις m θέσεις). Διαιρετική μέθοδος κακή επιλογή : m = δύναμη του 2 καλή επιλογή : m = πρώτος αριθμός Πολλαπλασιαστική μέθοδος Πολλαπλασίασε πρόσθεσε και διαίρεσε (Multiply Add and Divide) πρώτος αριθμός ακέραιοι στο διάστημα με
29 Καθολική Διασπορά Για κάθε καθορισμένη συνάρτηση διασποράς μπορούμε να επιλέξουμε κλειδιά που θα δίνουν τη χειρότερη δυνατή επίδοση. Προκειμένου να βελτιώσουμε την κατάσταση μπορούμε να βασιστούμε σε τυχαιοκρατικούς αλγόριθμους: Ορίζουμε μία οικογένεια συναρτήσεων και κατά τη διάρκεια της εκτέλεσης επιλέγουμε τυχαία μία από αυτές τις συναρτήσεις ως συνάρτηση διασποράς. Περιορίζουμε την πιθανότητα εμφάνισης παθολογικών περιπτώσεων.
30 Καθολική Διασπορά πεπερασμένη συλλογή συναρτήσεων Η συλλογή είναι καθολική αν για κάθε ζεύγος διαφορετικών κλειδιών υπάρχουν το πολύ συναρτήσεις με
31 Καθολική Διασπορά πεπερασμένη συλλογή συναρτήσεων Η συλλογή είναι καθολική αν για κάθε ζεύγος διαφορετικών κλειδιών υπάρχουν το πολύ συναρτήσεις με Συνεπώς
32 Καθολική Διασπορά πεπερασμένη συλλογή συναρτήσεων Η συλλογή είναι καθολική αν για κάθε ζεύγος διαφορετικών κλειδιών υπάρχουν το πολύ συναρτήσεις με Συνεπώς Πιθανότητα σύμπτωσης όταν και επιλέγονται τυχαία και ανεξάρτητα.
33 Καθολική Διασπορά Θεώρημα Έστω ότι επιλέγουμε τυχαία και κάνουμε εισαγωγή κλειδιών σε πίνακα μεγέθους. Έστω. Τότε Πόρισμα Ο αναμενόμενος χρόνος εκτέλεσης μίας ακολουθίας πράξεων με πράξεις εισαγωγής είναι Συνεπάγεται από το παραπάνω θεώρημα και την παρατήρηση ότι
34 Μια Καθολική Οικογένεια Συναρτήσεων Διασποράς πρώτος αριθμός, μεγαλύτερος από κάθε κλειδί Για και Παράδειγμα
35 Μια Καθολική Οικογένεια Συναρτήσεων Διασποράς πρώτος αριθμός, μεγαλύτερος από κάθε κλειδί Για και Περιλαμβάνει συναρτήσεις
36 Μέθοδος Μεταβλητών Διευθύνσεων (Ανοιχτή Διευθυνσιοδότηση) Η συνάρτηση διασποράς αντιστοιχεί σε κάθε κλειδί μία ακολουθία από διευθύνσεις του πίνακα Τ βολιδοσκοπική ακολουθία Συνάρτηση Διασποράς μετάθεση του
37 Μέθοδος Μεταβλητών Διευθύνσεων (Ανοιχτή Διευθυνσιοδότηση) Η συνάρτηση διασποράς αντιστοιχεί σε κάθε κλειδί μία ακολουθία από διευθύνσεις του πίνακα Τ βολιδοσκοπική ακολουθία Συνάρτηση Διασποράς μετάθεση του T 0 αναζήτηση (Τ,k): βολιδοσκοπεί τις θέσεις T[h(k,i)] για i=0,1,,m-1 μέχρι να βρει το αντικείμενο με κλειδί k ή μία κενή θέση. m-1
38 Μέθοδος Μεταβλητών Διευθύνσεων (Ανοιχτή Διευθυνσιοδότηση) Η συνάρτηση διασποράς αντιστοιχεί σε κάθε κλειδί μία ακολουθία από διευθύνσεις του πίνακα Τ βολιδοσκοπική ακολουθία Συνάρτηση Διασποράς μετάθεση του T 0 αναζήτηση (Τ,k): βολιδοσκοπεί τις θέσεις T[h(k,i)] για i=0,1,,m-1 μέχρι να βρει το αντικείμενο με κλειδί k ή μία κενή θέση. εισαγωγή (Τ,k): βολιδοσκοπεί τις θέσεις Τ[h(κλειδί[x],i)] για i=0,1,,m-1 μέχρι να βρει την πρώτη κενή θέση και τοποθετεί το αντικείμενο εκεί. m-1
39 Μέθοδος Μεταβλητών Διευθύνσεων (Ανοιχτή Διευθυνσιοδότηση) Η συνάρτηση διασποράς αντιστοιχεί σε κάθε κλειδί μία ακολουθία από διευθύνσεις του πίνακα Τ βολιδοσκοπική ακολουθία Συνάρτηση Διασποράς μετάθεση του 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):?
40 Μέθοδος Μεταβλητών Διευθύνσεων (Ανοιχτή Διευθυνσιοδότηση) Η συνάρτηση διασποράς αντιστοιχεί σε κάθε κλειδί μία ακολουθία από διευθύνσεις του πίνακα Τ βολιδοσκοπική ακολουθία Συνάρτηση Διασποράς 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 ως διαγεγραμμένης. Η αναζήτηση αντιπαρέρχεται τέτοιες θέσεις.
41 Μέθοδος Μεταβλητών Διευθύνσεων (Ανοιχτή Διευθυνσιοδότηση) T Εισαγωγή zebra κλειδί k 0 1 seal frog tiger bat dog puma rabbit zebra
42 Μέθοδος Μεταβλητών Διευθύνσεων (Ανοιχτή Διευθυνσιοδότηση) T Εισαγωγή zebra κλειδί k 0 1 seal frog tiger bat dog puma rabbit zebra
43 Μέθοδος Μεταβλητών Διευθύνσεων (Ανοιχτή Διευθυνσιοδότηση) T Εισαγωγή zebra κλειδί k 0 1 zebra seal frog tiger bat dog puma rabbit zebra
44 Μέθοδος Μεταβλητών Διευθύνσεων (Ανοιχτή Διευθυνσιοδότηση) Η συνάρτηση διασποράς αντιστοιχεί σε κάθε κλειδί μία ακολουθία από διευθύνσεις του πίνακα Τ βολιδοσκοπική ακολουθία Συνάρτηση Διασποράς μετάθεση της Υπόθεση της ομοιόμορφης διασποράς : η βολιδοσκοπική ακολουθία κάθε κλειδιού είναι μία τυχαία μετάθεση της
45 Μέθοδος Μεταβλητών Διευθύνσεων (Ανοιχτή Διευθυνσιοδότηση) Η συνάρτηση διασποράς αντιστοιχεί σε κάθε κλειδί μία ακολουθία από διευθύνσεις του πίνακα Τ βολιδοσκοπική ακολουθία Συνάρτηση Διασποράς μετάθεση της Υπόθεση της ομοιόμορφης διασποράς : η βολιδοσκοπική ακολουθία κάθε κλειδιού είναι μία τυχαία μετάθεση της Δύσκολο να υλοποιηθεί!
46 Μέθοδος Μεταβλητών Διευθύνσεων (Ανοιχτή Διευθυνσιοδότηση) Γραμμική Βολιδοσκόπηση βοηθητική συνάρτηση διασποράς
47 Μέθοδος Μεταβλητών Διευθύνσεων (Ανοιχτή Διευθυνσιοδότηση) Γραμμική Βολιδοσκόπηση βοηθητική συνάρτηση διασποράς 0 1 T zebra seal frog tiger bat zebra dog puma rabbit zebra
48 Μέθοδος Μεταβλητών Διευθύνσεων (Ανοιχτή Διευθυνσιοδότηση) Γραμμική Βολιδοσκόπηση βοηθητική συνάρτηση διασποράς Δίνει μόνο m ακολουθίες Αν i διαδοχικές θέσεις είναι κατειλημμένες τότε η πιθανότητα να συμπληρωθεί η επόμενη είναι Πρωτεύουσα ομαδοποίηση : οι μακριές αλληλουχίες τείνουν να επεκτείνονται
49 Μέθοδος Μεταβλητών Διευθύνσεων (Ανοιχτή Διευθυνσιοδότηση) Τετραγωνική Βολιδοσκόπηση βοηθητική συνάρτηση διασποράς σταθερές Δίνει μόνο m ακολουθίες Δευτερεύουσα ομαδοποίηση : πιο ήπιας μορφής ομαδοποίηση
50 Μέθοδος Μεταβλητών Διευθύνσεων (Ανοιχτή Διευθυνσιοδότηση) Διπλή Διασπορά βοηθητικές συναρτήσεις διασποράς
51 Μέθοδος Μεταβλητών Διευθύνσεων (Ανοιχτή Διευθυνσιοδότηση) Διπλή Διασπορά βοηθητικές συναρτήσεις διασποράς μετάθεση της Πρέπει και να είναι αμοιβαία πρώτοι π.χ. μπορούμε να έχουμε ίσο με μία δύναμη του 2 και περιττό
52 Μέθοδος Μεταβλητών Διευθύνσεων (Ανοιχτή Διευθυνσιοδότηση) Διπλή Διασπορά βοηθητικές συναρτήσεις διασποράς μετάθεση της Πρέπει και να είναι αμοιβαία πρώτοι π.χ. μπορούμε να έχουμε ίσο με μία δύναμη του 2 και περιττό Δίνει ακολουθίες Καλή προσέγγιση της ομοιόμορφης διασποράς
53 Μέθοδος Μεταβλητών Διευθύνσεων (Ανοιχτή Διευθυνσιοδότηση) Υπόθεση της ομοιόμορφης διασποράς : η βολιδοσκοπική ακολουθία κάθε κλειδιού είναι μία τυχαία μετάθεση της Συντελεστής πληρότητας έχουμε. Για τη μέθοδο των μεταβλητών διευθύνσεων Θεώρημα Το αναμενόμενο πλήθος βολιδοσκοπήσεων είναι το πολύ : σε μία ανεπιτυχή αναζήτηση σε μία επιτυχή αναζήτηση Π.χ. Για α=0.5 έχουμε U=2 και S=1.386 Για α=0.9 έχουμε U=10 και S=2.558
54 Μέθοδος Μεταβλητών Διευθύνσεων (Ανοιχτή Διευθυνσιοδότηση) Υπόθεση της ομοιόμορφης διασποράς : η βολιδοσκοπική ακολουθία κάθε κλειδιού είναι μία τυχαία μετάθεση της Αν ισχύει η υπόθεση ομοιόμορφης διασποράς, τότε η πιθανότητα η j-οστή βολιδοσκόπηση να βρει κατειλημμένη θέση δεδομένου ότι οι πρώτες (j-1) πράξεις βολιδοσκόπησης βρήκαν κατειλημμένες θέσεις είναι Άρα η πιθανότητα να χρειαστούν τουλάχιστον βολιδοσκοπήσεις είναι Επομένως, το αναμενόμενο πλήθος βολιδοσκοπήσεων σε ανεπιτυχή αναζήτηση είναι
55 Μέθοδος Μεταβλητών Διευθύνσεων (Ανοιχτή Διευθυνσιοδότηση) Υπόθεση της ομοιόμορφης διασποράς : η βολιδοσκοπική ακολουθία κάθε κλειδιού είναι μία τυχαία μετάθεση της Το αναμενόμενο πλήθος προσπελάσεων σε επιτυχημένη αναζήτηση είναι ίσο με το αναμενόμενο πλήθος προσπελάσεων για την εισαγωγή κάθε ενός από τα n κλειδιά. Το αναμενόμενο πλήθος προσπελάσεων για την εισαγωγή του i-οστού κλειδιού είναι ίσο με το αναμενόμενο πλήθος προσπελάσεων σε μη επιτυχημένη αναζήτηση όταν έχουν ήδη εισαχθεί (i-1) κλειδιά. Επομένως: Ν-οστός αρμονικός αριθμός
56 Μέθοδος Μεταβλητών Διευθύνσεων (Ανοιχτή Διευθυνσιοδότηση) Υπόθεση της ομοιόμορφης διασποράς : η βολιδοσκοπική ακολουθία κάθε κλειδιού είναι μία τυχαία μετάθεση της Το αναμενόμενο πλήθος προσπελάσεων σε επιτυχημένη αναζήτηση είναι ίσο με το αναμενόμενο πλήθος προσπελάσεων για την εισαγωγή κάθε ενός από τα n κλειδιά. Το αναμενόμενο πλήθος προσπελάσεων για την εισαγωγή του i-οστού κλειδιού είναι ίσο με το αναμενόμενο πλήθος προσπελάσεων σε μη επιτυχημένη αναζήτηση όταν έχουν ήδη εισαχθεί (i-1) κλειδιά. Επομένως:
57 Ταξινομημένοι Πίνακες Διασποράς Αν τα κλειδιά είναι ταξινομημένα έχουμε μείωση του χρόνου για αποτυχημένες αναζητήσεις: Αν ένα μεγαλύτερο κλειδί από το ζητούμενο k προσπελαστεί τερματίζει η αναζήτηση. Μέθοδος με Αλυσίδες Διατηρούμε τα κλειδιά στις αλυσίδες ταξινομημένα. Μέθοδος Ανοικτής Διευθυνσιοδότησης Τα κλειδιά πρέπει να εισαχθούν έτσι ώστε τα κλειδιά που προηγούνται στην ακολουθία αναζήτησης από το k, θα πρέπει να είναι μικρότερα από το k. Ιδέα Αν στην ακολουθία αναζήτησης για το κλειδί k δούμε κλειδί k >k, τότε αντικαθιστούμε το k με το k και συνεχίζουμε με την εισαγωγή του k βάσει της ακολουθίας αναζήτησης του k.
58 Ταξινομημένοι Πίνακες Διασποράς Η τελική μορφή του πίνακα διασποράς μετά τις εισαγωγές των κλειδιών είναι η ίδια ανεξάρτητα από τη σειρά εισαγωγής των κλειδιών. Υπόθεση Η πιθανότητα να επιλεγεί ένα συγκεκριμένο κλειδί από τον χώρο κλειδιών είναι η ίδια για όλα τα κλειδιά του χώρου. Τότε: Ο αναμενόμενος χρόνος για επιτυχημένη αναζήτηση δεν αλλάζει. Ο αναμενόμενος χρόνος για μη επιτυχημένη αναζήτηση γίνεται περίπου ίδιος με το χρόνο επιτυχημένης αναζήτησης.
59 Πλήρης Διασπορά Όταν το σύνολο των κλειδιών είναι στατικό μπορούμε να πετύχουμε άριστη επίδοση : O(1) χρόνο χειρότερης περίπτωσης ανά πράξη
60 Πλήρης Διασπορά Όταν το σύνολο των κλειδιών είναι στατικό μπορούμε να πετύχουμε άριστη επίδοση : 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
61 Πλήρης Διασπορά Όταν το σύνολο των κλειδιών είναι στατικό μπορούμε να πετύχουμε άριστη επίδοση : 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 ο επίπεδο
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 2 ο επίπεδο : δευτερογενής πίνακας διασποράς για κάθεt[i] 1 ο επίπεδο Στο 2 ο επίπεδο αποφεύγουμε τις συμπτώσεις
63 Δυναμικοί Πίνακες Διασποράς Συντελεστής πληρότητας Η απόδοση του κατακερματισμού επιδεινώνεται όσο αυξάνει ο συντελεστής Επιπλέον στην μέθοδο των μεταβλητών διευθύνσεων πρέπει
64 Δυναμικοί Πίνακες Διασποράς Συντελεστής πληρότητας Η απόδοση του κατακερματισμού επιδεινώνεται όσο αυξάνει ο συντελεστής Επιπλέον στην μέθοδο των μεταβλητών διευθύνσεων πρέπει Για να αντιμετωπίσουμε το παραπάνω ζήτημα μπορούμε να διπλασιάσουμε το μέγεθος του πίνακα διασποράς κάθε φορά που ο συντελεστής φθάνει μία συγκεκριμένη τιμή (π.χ. 50% για τη μέθοδο των μεταβλητών διευθύνσεων) T T
65 Δυναμικοί Πίνακες Διασποράς Συντελεστής πληρότητας Η απόδοση του κατακερματισμού επιδεινώνεται όσο αυξάνει ο συντελεστής Επιπλέον στην μέθοδο των μεταβλητών διευθύνσεων πρέπει Για να αντιμετωπίσουμε το παραπάνω ζήτημα μπορούμε να διπλασιάσουμε το μέγεθος του πίνακα διασποράς κάθε φορά που ο συντελεστής φθάνει μία συγκεκριμένη τιμή (π.χ. 50% για τη μέθοδο των μεταβλητών διευθύνσεων) T T Παίρνει (αναμενόμενο) χρόνο γιατί όλα τα στοιχεία πρέπει να εισαχθούν στο νέο πίνακα. Ευτυχώς ο διπλασιασμός δε συμβαίνει συχνά, αποτελεί καλή λύση όταν μας ενδιαφέρει να είναι χαμηλό το μέσο κόστος ανά πράξη (σε αντίθεση με το κόστος χειρότερης περίπτωσης)
Δυναμικά Σύνολα. Δυναμικό σύνολο. Tα στοιχεία του μεταβάλλονται μέσω εντολών εισαγωγής και διαγραφής. διαγραφή. εισαγωγή
Δυναμικά Σύνολα Δυναμικό σύνολο Tα στοιχεία του μεταβάλλονται μέσω εντολών εισαγωγής και διαγραφής διαγραφή εισαγωγή Δυναμικά Σύνολα Δυναμικό σύνολο Tα στοιχεία του μεταβάλλονται μέσω εντολών εισαγωγής
Διαβάστε περισσότεραΔομές Αναζήτησης. εισαγωγή αναζήτηση επιλογή. εισαγωγή. αναζήτηση
Δομές Αναζήτησης χειρότερη περίπτωση μέση περίπτωση εισαγωγή αναζήτηση επιλογή εισαγωγή αναζήτηση διατεταγμένος πίνακας διατεταγμένη λίστα μη διατεταγμένος πίνακας μη διατεταγμένη λίστα δένδρο αναζήτησης
Διαβάστε περισσότεραΔυναμικά Σύνολα. Δυναμικό σύνολο. Tα στοιχεία του μεταβάλλονται μέσω εντολών εισαγωγής και διαγραφής. διαγραφή. εισαγωγή
Δυναμικά Σύνολα Δυναμικό σύνολο Tα στοιχεία του μεταβάλλονται μέσω εντολών εισαγωγής και διαγραφής διαγραφή εισαγωγή Δυναμικά Σύνολα Δυναμικό σύνολο Tα στοιχεία του μεταβάλλονται μέσω εντολών εισαγωγής
Διαβάστε περισσότεραΔυναμικά Σύνολα. Δυναμικό σύνολο. Tα στοιχεία του μεταβάλλονται μέσω εντολών εισαγωγής και διαγραφής. διαγραφή. εισαγωγή
Δυναμικά Σύνολα Δυναμικό σύνολο Tα στοιχεία του μεταβάλλονται μέσω εντολών εισαγωγής και διαγραφής διαγραφή εισαγωγή Δυναμικά Σύνολα Δυναμικό σύνολο Tα στοιχεία του μεταβάλλονται μέσω εντολών εισαγωγής
Διαβάστε περισσότεραΠίνακες Διασποράς. Χρησιμοποιούμε ένα πίνακα διασποράς 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 Αλγόριθμος: Μέθοδος για την επίλυση ενός προβλήματος Δεδομένα: Σύνολο από πληροφορίες που
Διαβάστε περισσότεραΕνότητα 6: Κατακερματισμός Ασκήσεις και Λύσεις
ΗΥ2, Ενότητα : Ασκήσεις και Λύσεις Ενότητα : Κατακερματισμός Ασκήσεις και Λύσεις Άσκηση 1 Χρησιμοποιήστε τη συνάρτηση κατακερματισμού της διαίρεσης ως πρωτεύουσα συνάρτηση κατακερματισμού και τη συνάρτηση
Διαβάστε περισσότεραΔομές Δεδομένων και Αλγόριθμοι
Δομές Δεδομένων και Αλγόριθμοι Χρήστος Γκόγκος ΤΕΙ Ηπείρου Χειμερινό Εξάμηνο 2014-2015 Παρουσίαση 19 Hashing - Κατακερματισμός 1 / 23 Πίνακες απευθείας πρόσβασης (Direct Access Tables) Οι πίνακες απευθείας
Διαβάστε περισσότεραΟργάνωση αρχείων: πως είναι τοποθετηµένες οι εγγραφές ενός αρχείου όταν αποθηκεύονται στο δίσκο
Κατακερµατισµός 1 Οργάνωση Αρχείων (σύνοψη) Οργάνωση αρχείων: πως είναι τοποθετηµένες οι εγγραφές ενός αρχείου όταν αποθηκεύονται στο δίσκο 1. Αρχεία Σωρού 2. Ταξινοµηµένα Αρχεία Φυσική διάταξη των εγγραφών
Διαβάστε περισσότεραΟ ΑΤΔ Λεξικό. Σύνολο στοιχείων με βασικές πράξεις: Δημιουργία Εισαγωγή Διαγραφή Μέλος. Υλοποιήσεις
Ο ΑΤΔ Λεξικό Σύνολο στοιχείων με βασικές πράξεις: Δημιουργία Εισαγωγή Διαγραφή Μέλος Υλοποιήσεις Πίνακας με στοιχεία bit (0 ή 1) (bit vector) Λίστα ακολουθιακή (πίνακας) ή συνδεδεμένη Είναι γνωστό το μέγιστο
Διαβάστε περισσότεραΚεφα λαιο 9 Κατακερματισμός
Κεφα λαιο 9 Κατακερματισμός Περιεχόμενα 9.1 Εισαγωγή... 197 9.2 Συναρτήσεις Κατακερματισμού... 199 9.3 Επίλυση συγκρούσεων... 200 9.3.1 Ξεχωριστές αλυσίδες... 200 9.3.2 Μεταβλητές διευθύνσεις... 201 Ανάλυση
Διαβάστε περισσότεραΔομές Δεδομένων. Δημήτρης Μιχαήλ. Κατακερματισμός. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο
Δομές Δεδομένων Κατακερματισμός Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Λεξικό Dictionary Ένα λεξικό (dictionary) είναι ένας αφηρημένος τύπος δεδομένων (ΑΤΔ) που διατηρεί
Διαβάστε περισσότεραΕΝΟΤΗΤΑ 8 KATAKEΡΜΑΤΙΣΜΟΣ (HASHING)
ΕΝΟΤΗΤΑ 8 KATAKEΡΜΑΤΙΣΜΟΣ (HASHING) Κατακερµατισµός Στόχος Έχουµε ένα σύνολο από κλειδιά {Κ 0,, Κ n-1 } και θέλουµε να υλοποιήσουµε Insert() και LookUp() (ίσως και Delete()) απλά και γρήγορα στην πράξη.
Διαβάστε περισσότεραΕισαγωγή ενός νέου στοιχείου. Επιλογή i-οστoύ στοιχείου : Εύρεση στοιχείου με το i-οστό μικρότερο κλειδί
Δομές Αναζήτησης Χειριζόμαστε ένα σύνολο στοιχείων κλειδί από ολικά διατεταγμένο σύνολο όπου το κάθε στοιχείο έχει ένα Θέλουμε να υποστηρίξουμε δύο βασικές λειτουργίες: Εισαγωγή ενός νέου στοιχείου με
Διαβάστε περισσότεραΕξωτερική Αναζήτηση. Ιεραρχία Μνήμης Υπολογιστή. Εξωτερική Μνήμη. Εσωτερική Μνήμη. Κρυφή Μνήμη (Cache) Καταχωρητές (Registers) μεγαλύτερη ταχύτητα
Ιεραρχία Μνήμης Υπολογιστή Εξωτερική Μνήμη Εσωτερική Μνήμη Κρυφή Μνήμη (Cache) μεγαλύτερη χωρητικότητα Καταχωρητές (Registers) Κεντρική Μονάδα (CPU) μεγαλύτερη ταχύτητα Πολλές σημαντικές εφαρμογές διαχειρίζονται
Διαβάστε περισσότεραΔυναμική Διατήρηση Γραμμικής Διάταξης
Διατηρεί μια γραμμική διάταξη δυναμικά μεταβαλλόμενης συλλογής στοιχείων. Υποστηρίζει τις λειτουργίες: Εισαγωγή νέου στοιχείου y αμέσως μετά από το στοιχείο x. x y Διαγραφή στοιχείου y. y Έλεγχος της σειράς
Διαβάστε περισσότεραΔομές Δεδομένων. Ενότητα 11: Τεχνικές Κατακερματισμού. Καθηγήτρια Μαρία Σατρατζέμη. Τμήμα Εφαρμοσμένης Πληροφορικής.
Ενότητα 11: Τεχνικές Κατακερματισμού Καθηγήτρια Μαρία Σατρατζέμη Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται
Διαβάστε περισσότεραΤα δεδομένα (περιεχόμενο) μιας βάσης δεδομένων αποθηκεύεται στο δίσκο
Κατακερματισμός 1 Αποθήκευση εδομένων (σύνοψη) Τα δεδομένα (περιεχόμενο) μιας βάσης δεδομένων αποθηκεύεται στο δίσκο Παραδοσιακά, μία σχέση (πίνακας/στιγμιότυπο) αποθηκεύεται σε ένα αρχείο Αρχείο δεδομένων
Διαβάστε περισσότεραΚατακερματισμός (Hashing)
Κατακερματισμός (Hashing) O κατακερματισμός είναι μια τεχνική οργάνωσης ενός αρχείου. Είναι αρκετά δημοφιλής μέθοδος για την οργάνωση αρχείων Βάσεων Δεδομένων, καθώς βοηθάει σημαντικά στην γρήγορη αναζήτηση
Διαβάστε περισσότεραΔιάλεξη 22: Τεχνικές Κατακερματισμού I (Hashing)
Διάλεξη 22: Τεχνικές Κατακερματισμού I (Hashing) Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Ανασκόπηση Προβλήματος και Προκαταρκτικών Λύσεων Bit Διανύσματα Τεχνικές Κατακερματισμού & Συναρτήσεις
Διαβάστε περισσότεραΛΥΣΗ ΤΗΣ ΔΕΥΤΕΡΗΣ ΑΣΚΗΣΗΣ Όλγα Γκουντούνα
ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΜΑΘΗΜΑ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΑΚΑΔ. ΕΤΟΣ 2011-12 ΔΙΔΑΣΚΟΝΤΕΣ Ιωάννης Βασιλείου Καθηγητής Τιμολέων Σελλής Καθηγητής Άσκηση 1
Διαβάστε περισσότεραΔυναμικός Κατακερματισμός. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1
Δυναμικός Κατακερματισμός Βάσεις Δεδομένων 2013-2014 Ευαγγελία Πιτουρά 1 Κατακερματισμός Τι αποθηκεύουμε στους κάδους; Στα παραδείγματα δείχνουμε μόνο την τιμή του πεδίου κατακερματισμού Την ίδια την εγγραφή
Διαβάστε περισσότεραΔομές Αναζήτησης. κλειδί από ολικά διατεταγμένο σύνολο. Θέλουμε να υποστηρίξουμε δύο βασικές λειτουργίες: Εισαγωγή ενός νέου στοιχείου
Δομές Αναζήτησης Χειριζόμαστε ένα σύνολο στοιχείων κλειδί από ολικά διατεταγμένο σύνολο όπου το κάθε στοιχείο έχει ένα Θέλουμε να υποστηρίξουμε δύο βασικές λειτουργίες: Εισαγωγή ενός νέου στοιχείου με
Διαβάστε περισσότεραΚατακερματισμός. 4/3/2009 Μ.Χατζόπουλος 1
Κατακερματισμός 4/3/2009 Μ.Χατζόπουλος 1 H ιδέα που βρίσκεται πίσω από την τεχνική του κατακερματισμού είναι να δίνεται μια συνάρτησης h, που λέγεται συνάρτηση κατακερματισμού ή παραγωγής τυχαίων τιμών
Διαβάστε περισσότεραΔένδρα Αναζήτησης Πολλαπλής Διακλάδωσης
Δένδρα Αναζήτησης Πολλαπλής Διακλάδωσης Δένδρα στα οποία κάθε κόμβος μπορεί να αποθηκεύει ένα ή περισσότερα κλειδιά. Κόμβος με d διακλαδώσεις : k 1 k 2 k 3 k 4 d-1 διατεταγμένα κλειδιά d διατεταγμένα παιδιά
Διαβάστε περισσότεραΔομές Δεδομένων. Κατακερματισμός. Δομές Δεδομένων & Αλγόριθμοι. Εργαστήριο Γνώσης και Ευφυούς Πληροφορικής 1
Δομές Δεδομένων Κατακερματισμός Πληροφορικής 1 Πρόβλημα Insert, Search και DELETE εγγραφής Σε σταθερό χρόνο Σε πίνακα εγγραφών όπου το πεδίο τιμών στα κλειδιά >> Μέγεθος Πίνακα (M) το πλήθος των εγγραφών
Διαβάστε περισσότεραΠίνακες (Μια παλιά άσκηση) Πίνακες Κατακερματισμού (Hash Tables) Πίνακες (Μια παλιά άσκηση) Εισαγωγή. A n
Πίνακες (Μια παλιά άσκηση) Πίνακες Κατακερματισμού (Hash Tables) Ορέστης Τελέλης telelis@unipi.gr Τμήμα Ψηφιακών Συστημάτων, Πανεπιστήμιο Πειραιώς A n O(1) (στην πρώτη ελέυθερη θέση στο τέλος του πίνακα).
Διαβάστε περισσότεραΔυναμικός Κατακερματισμός. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1
Δυναμικός Κατακερματισμός 1 Κατακερματισμός Τι αποθηκεύουμε στους κάδους; Στα παραδείγματα δείχνουμε μόνο την τιμή του πεδίου κατακερματισμού Την ίδια την εγγραφή (ως τρόπος οργάνωσης αρχείου) μέγεθος
Διαβάστε περισσότεραHY240 : Δομές Δεδομένων. Φροντιστήριο Προγραμματιστικής Εργασίας 2 ο και 3 ο Μέρος
HY240 : Δομές Δεδομένων Φροντιστήριο Προγραμματιστικής Εργασίας 2 ο και 3 ο Μέρος Εισαγωγή Στο 2 ο μέρος της εργασίας θα πρέπει να γίνουν τροποποιήσεις στο πρόγραμμα που προέκυψε κατά την υλοποίηση του
Διαβάστε περισσότεραΠρογραµµατιστικές Τεχνικές
Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Αγρονόµων Τοπογράφων Μηχανικών Προγραµµατιστικές Τεχνικές Βασίλειος Βεσκούκης ρ. Ηλεκτρολόγος Μηχανικός & Μηχανικός Υπολογιστών ΕΜΠ v.vescoukis@cs.ntua.gr Ρωµύλος Κορακίτης
Διαβάστε περισσότεραΔοµές Δεδοµένων. 16η Διάλεξη Κατακερµατισµός. Ε. Μαρκάκης
Δοµές Δεδοµένων 16η Διάλεξη Κατακερµατισµός Ε. Μαρκάκης Περίληψη Συναρτήσεις κατακερµατισµού Χωριστή αλυσίδωση Γραµµική διερεύνηση Διπλός κατακερµατισµός Δυναµικός κατακερµατισµός Προοπτική Δοµές Δεδοµένων
Διαβάστε περισσότεραΔυναμικός Κατακερματισμός. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1
Δυναμικός Κατακερματισμός Βάσεις Δεδομένων 2017-2018 1 Κατακερματισμός Πρόβλημα στατικού κατακερματισμού: Έστω Μ κάδους και r εγγραφές ανά κάδο - το πολύ Μ * r εγγραφές (αλλιώς μεγάλες αλυσίδες υπερχείλισης)
Διαβάστε περισσότεραΤυχαιοκρατικοί Αλγόριθμοι
Πιθανότητες και Αλγόριθμοι Ανάλυση μέσης περίπτωσης Μελέτα τη συμπεριφορά ενός αλγορίθμου σε μια «μέση» είσοδο (ως προς κάποια κατανομή) Τυχαιοκρατικός αλγόριθμος Λαμβάνει τυχαίες αποφάσεις καθώς επεξεργάζεται
Διαβάστε περισσότεραΠανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων ομές εδομένων
Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων 2. Πίνακες 45 23 28 95 71 19 30 2 ομές εδομένων 4 5 Χρήστος ουλκερίδης Τμήμα Ψηφιακών Συστημάτων 21/10/2016
Διαβάστε περισσότεραΠανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων ομές εδομένων
Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων 2. Πίνακες 45 23 28 95 71 19 30 2 ομές εδομένων 4 5 Χρήστος ουλκερίδης Τμήμα Ψηφιακών Συστημάτων 12/10/2017
Διαβάστε περισσότεραΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΛΥΣΗ ΣΤΗΝ ΕΥΤΕΡΗ ΑΣΚΗΣΗ
ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΛΥΣΗ ΣΤΗΝ ΕΥΤΕΡΗ ΑΣΚΗΣΗ ΜΑΘΗΜΑ ΒΑΣΕΙΣ Ε ΟΜΕΝΩΝ ΑΚΑ. ΕΤΟΣ 2012-13 Ι ΑΣΚΟΝΤΕΣ Ιωάννης Βασιλείου Καθηγητής, Τοµέας Τεχνολογίας
Διαβάστε περισσότερα10. Πίνακες Κατακερματισμού
Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων 10. Πίνακες Κατακερματισμού 2 ομές εδομένων 4 5 Χρήστος ουλκερίδης Τμήμα Ψηφιακών Συστημάτων 16/12/2016 Πίνακες
Διαβάστε περισσότεραΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. Δομές Δεδομένων. Ιωάννης Γ. Τόλλης Τμήμα Επιστήμης Υπολογιστών Πανεπιστήμιο Κρήτης
ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Δομές Δεδομένων Ιωάννης Γ. Τόλλης Τμήμα Επιστήμης Υπολογιστών Πανεπιστήμιο Κρήτης Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού
Διαβάστε περισσότεραΔυναμικός Κατακερματισμός. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1
Δυναμικός Κατακερματισμός Βάσεις Δεδομένων 2018-2019 1 Κατακερματισμός Πρόβλημα στατικού κατακερματισμού: Έστω Μ κάδους και r εγγραφές ανά κάδο - το πολύ Μ * r εγγραφές (αλλιώς μεγάλες αλυσίδες υπερχείλισης)
Διαβάστε περισσότεραΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. Δομές δεδομένων. Ενότητα 6η: Κατακερματισμός Παναγιώτα Φατούρου Τμήμα Επιστήμης Υπολογιστών
ΕΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Δομές δεδομένων Ενότητα 6η: Κατακερματισμός Παναγιώτα Φατούρου Τμήμα Επιστήμης Υπολογιστών Ενότητα 6 Κατακερματισμός ΗΥ240 - Παναγιώτα Φατούρου 2 Κατακερματισμός -
Διαβάστε περισσότεραΗΥ240: οµές εδοµένων Χειµερινό Εξάµηνο Ακαδηµαϊκό Έτος Παναγιώτα Φατούρου. Προγραµµατιστική Εργασία 3 ο Μέρος
Πανεπιστήµιο Κρήτης, Τµήµα Επιστήµης Υπολογιστών 6 εκεµβρίου 2008 ΗΥ240: οµές εδοµένων Χειµερινό Εξάµηνο Ακαδηµαϊκό Έτος 2008-09 Παναγιώτα Φατούρου Προγραµµατιστική Εργασία 3 ο Μέρος Ηµεροµηνία Παράδοσης:
Διαβάστε περισσότεραΔιάλεξη 23: Τεχνικές Κατακερματισμού II (Hashing)
ΕΠΛ231 Δομές Δεδομένων και Αλγόριθμοι 1 Διάλεξη 23: Τεχνικές Κατακερματισμού II (Hashing) Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Διαχείριση Συγκρούσεων με Ανοικτή Διεύθυνση a) Linear
Διαβάστε περισσότεραΆσκηση 1. με κόκκινο χρώμα σημειώνονται οι κρίσιμοι κόμβοι
Άσκηση 1 α) Παρουσιάστε τα AVL δέντρα που προκύπτουν από τις εισαγωγές των κλειδιών 1, 4, 9,, 7,,, 1, 4 και σε ένα αρχικά άδειο AVL δέντρο με κόκκινο χρώμα σημειώνονται οι κρίσιμοι κόμβοι +4 +9 + 1 1 1
Διαβάστε περισσότεραΕιδικά θέματα Αλγορίθμων και Δομών Δεδομένων (ΠΛΕ073) Απαντήσεις 1 ου Σετ Ασκήσεων
Ειδικά θέματα Αλγορίθμων και Δομών Δεδομένων (ΠΛΕ073) Απαντήσεις 1 ου Σετ Ασκήσεων Άσκηση 1 α) Η δομή σταθμισμένης ένωσης με συμπίεση διαδρομής μπορεί να τροποποιηθεί πολύ εύκολα ώστε να υποστηρίζει τις
Διαβάστε περισσότεραAdvanced Data Indexing
Advanced Data Indexing (Προηγμένη ευρετηρίαση δεδομένων) Κατακερματισμός Hashing (1ο Μέρος) Η Αναζήτηση απαιτεί Δομές Λύσεις Για να υποστηριχθεί η αποδοτική αναζήτηση απαιτείται η χρήση κατάλληλων δομών-ευρετηρίων
Διαβάστε περισσότεραΚατακερµατισµός. Οργάνωση Αρχείων (σύνοψη) Οργάνωση αρχείων: πως είναι τοποθετημένες οι εγγραφές ενός αρχείου όταν αποθηκεύονται στο δίσκο
Κατακερµατισµός 1 Οργάνωση Αρχείων (σύνοψη) Οργάνωση αρχείων: πως είναι τοποθετημένες οι εγγραφές ενός αρχείου όταν αποθηκεύονται στο δίσκο 1. Αρχεία Σωρού 2. Ταξινομημένα Αρχεία Φυσική διάταξη των εγγραφών
Διαβάστε περισσότεραΙσορροπημένα Δένδρα. για κάθε λειτουργία; Ισορροπημένο δένδρο : Διατηρεί ύψος κάθε εισαγωγή ή διαγραφή
Ισορροπημένα Δένδρα Μπορούμε να επιτύχουμε για κάθε λειτουργία; χρόνο εκτέλεσης Ισορροπημένο δένδρο : Διατηρεί ύψος κάθε εισαγωγή ή διαγραφή μετά από Περιστροφές x αριστερή περιστροφή από το x y α β y
Διαβάστε περισσότεραΠΛΗ111. Ανοιξη Μάθηµα 8 ο. Αναζήτηση. Τµήµα Ηλεκτρονικών Μηχανικών και Μηχανικών Υπολογιστών Πολυτεχνείο Κρήτης
ΠΛΗ111 οµηµένος Προγραµµατισµός Ανοιξη 2005 Μάθηµα 8 ο Αναζήτηση Τµήµα Ηλεκτρονικών Μηχανικών και Μηχανικών Υπολογιστών Πολυτεχνείο Κρήτης Αναζήτηση Αναζήτηση σε ιατεταγµένο Πίνακα υαδική Αναζήτηση Κατακερµατισµός
Διαβάστε περισσότεραΤαξινόμηση. 1. Ταξινόμηση με Εισαγωγή 2. Ταξινόμηση με Επιλογή. Εισαγωγή στην Ανάλυση Αλγορίθμων Μάγια Σατρατζέμη
Ταξινόμηση. Ταξινόμηση με Εισαγωγή. Ταξινόμηση με Επιλογή Εισαγωγή στην Ανάλυση Αλγορίθμων Μάγια Σατρατζέμη Ταξινόμηση Η ταξινόμηση sortg τοποθετεί ένα σύνολο κόμβων ή εγγραφών σε μία συγκεκριμένη διάταξη
Διαβάστε περισσότεραΔομές Δεδομένων. Ενότητα 12: Κατακερματισμός: Χειρισμός Συγκρούσεων. Καθηγήτρια Μαρία Σατρατζέμη. Τμήμα Εφαρμοσμένης Πληροφορικής.
Ενότητα 12: Κατακερματισμός: Χειρισμός Συγκρούσεων Καθηγήτρια Μαρία Σατρατζέμη Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες,
Διαβάστε περισσότεραAdvanced Data Indexing
Advanced Data Indexing (Προηγμένη ευρετηρίαση δεδομένων) Κατακερματισμός - Hashing (2 ο Μέρος) Μέθοδοι Κατακερματισμού integer universe Direct Addressing Hashing with chaining Hashing by Division Hashing
Διαβάστε περισσότεραΑριθμητική Ανάλυση & Εφαρμογές
Αριθμητική Ανάλυση & Εφαρμογές Διδάσκων: Δημήτριος Ι. Φωτιάδης Τμήμα Μηχανικών Επιστήμης Υλικών Ιωάννινα 2017-2018 Υπολογισμοί και Σφάλματα Παράσταση Πραγματικών Αριθμών Συστήματα Αριθμών Παράσταση Ακέραιου
Διαβάστε περισσότεραΠληροφορική 2. Δομές δεδομένων και αρχείων
Πληροφορική 2 Δομές δεδομένων και αρχείων 1 2 Δομή Δεδομένων (data structure) Δομή δεδομένων είναι μια συλλογή δεδομένων που έχουν μεταξύ τους μια συγκεκριμένη σχέση Παραδείγματα δομών δεδομένων Πίνακες
Διαβάστε περισσότεραΚΕΦΑΛΑΙΟ 4 Η ΑΡΧΗ ΕΓΚΛΕΙΣΜΟΥ ΑΠΟΚΛΕΙΣΜΟΥ
50 ΚΕΦΑΛΑΙΟ Η ΑΡΧΗ ΕΓΚΛΕΙΣΜΟΥ ΑΠΟΚΛΕΙΣΜΟΥ Εισαγωγή. Η αρχή του εγκλεισμού αποκλεισμού είναι ένα ισχυρό μέσο απαρίθμησης με το οποίο υπολογίζεται ο αριθμός των στοιχείων της ένωσης και της τομής των συμπληρωμάτων
Διαβάστε περισσότεραΔιδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ
Διάλεξη 25: Τεχνικές Κατακερματισμού II Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Διαχείριση Συγκρούσεων με Ανοικτή Διεύθυνση a) Linear Probing, b) Quadratic Probing c) Double Hashing Διατεταγμένος
Διαβάστε περισσότεραΑντισταθμιστική ανάλυση
Αντισταθμιστική ανάλυση Θεωρήστε έναν αλγόριθμο Α που χρησιμοποιεί μια δομή δεδομένων Δ : Κατά τη διάρκεια εκτέλεσης του Α η Δ πραγματοποιεί μία ακολουθία από πράξεις. Παράδειγμα: Θυμηθείτε το πρόβλημα
Διαβάστε περισσότεραΔιάλεξη 18: Τεχνικές Κατακερματισμού I (Hashing)
ΕΠΛ231 Δομές Δεδομένων και Αλγόριθμοι 1 Διάλεξη 18: Τεχνικές Κατακερματισμού I (Hashing) Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Ανασκόπηση Προβλήματος και Προκαταρκτικών Λύσεων Bit-Διανύσματα
Διαβάστε περισσότεραΑριθμοθεωρητικοί Αλγόριθμοι
Αλγόριθμοι που επεξεργάζονται μεγάλους ακέραιους αριθμούς Μέγεθος εισόδου: Αριθμός bits που απαιτούνται για την αναπαράσταση των ακεραίων. Έστω ότι ένας αλγόριθμος λαμβάνει ως είσοδο έναν ακέραιο Ο αλγόριθμος
Διαβάστε περισσότεραΣύνοψη Προηγούμενου. Πίνακες (Arrays) Πίνακες (Arrays): Βασικές Λειτουργίες. Πίνακες (Arrays) Ορέστης Τελέλης
Σύνοψη Προηγούμενου Πίνακες (Arrays Ορέστης Τελέλης telelis@unipi.gr Τμήμα Ψηφιακών Συστημάτων, Πανεπιστήμιο Πειραιώς Διαδικαστικά θέματα. Aντικείμενο Μαθήματος. Aντικείμενα, Κλάσεις, Μέθοδοι, Μεταβλητές.
Διαβάστε περισσότεραΕυρετήρια. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1
Ευρετήρια Ευαγγελία Πιτουρά 1 τιμή γνωρίσματος Ευρετήρια Ένα ευρετήριο (index) είναι μια βοηθητική δομή αρχείου που κάνει πιο αποδοτική την αναζήτηση μιας εγγραφής σε ένα αρχείο Το ευρετήριο καθορίζεται
Διαβάστε περισσότεραΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ
ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ Ενότητα 6β: Ταξινόμηση με εισαγωγή και επιλογή Μαρία Σατρατζέμη Τμήμα Εφαρμοσμένης Πληροφορικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creatve
Διαβάστε περισσότεραΠρογραμματιστικές Τεχνικές
Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Αγρονόμων Τοπογράφων Μηχανικών Προγραμματιστικές Τεχνικές Βασίλειος Βεσκούκης Δρ. Ηλεκτρολόγος Μηχανικός & Μηχανικός Υπολογιστών ΕΜΠ Επικ. Καθηγητής ΕΜΠ v.vescoukis@cs.ntua.gr
Διαβάστε περισσότεραΤα δεδοµένα συνήθως αποθηκεύονται σε αρχεία στο δίσκο Για να επεξεργαστούµε τα δεδοµένα θα πρέπει αυτά να βρίσκονται στη
Ευρετήρια 1 Αρχεία Τα δεδοµένα συνήθως αποθηκεύονται σε αρχεία στο δίσκο Για να επεξεργαστούµε τα δεδοµένα θα πρέπει αυτά να βρίσκονται στη µνήµη. Η µεταφορά δεδοµένων από το δίσκο στη µνήµη και από τη
Διαβάστε περισσότεραΑνάλυση αλγορίθμων. Χρόνος εκτέλεσης: Αναμενόμενη περίπτωση. - απαιτεί γνώση της κατανομής εισόδου
Ανάλυση αλγορίθμων Παράμετροι απόδοσης ενός αλγόριθμου: Χρόνος εκτέλεσης Απαιτούμενοι πόροι, π.χ. μνήμη, επικοινωνία (π.χ. σε κατανεμημένα συστήματα) Προσπάθεια υλοποίησης Ανάλυση της απόδοσης Θεωρητική
Διαβάστε περισσότεραΕνδεικτικές Ερωτήσεις Θεωρίας
Ενδεικτικές Ερωτήσεις Θεωρίας Κεφάλαιο 2 1. Τι καλούμε αλγόριθμο; 2. Ποια κριτήρια πρέπει οπωσδήποτε να ικανοποιεί ένας αλγόριθμος; 3. Πώς ονομάζεται μια διαδικασία που δεν περατώνεται μετά από συγκεκριμένο
Διαβάστε περισσότεραΚεφάλαιο 8 Ισορροπημένα Δένδρα Αναζήτησης
Κεφάλαιο 8 Ισορροπημένα Δένδρα Αναζήτησης Περιεχόμενα 8.1 Κατηγορίες ισορροπημένων δένδρων αναζήτησης... 155 8.1.1 Περιστροφές... 156 8.2 Δένδρα AVL... 157 8.2.1 Αποκατάσταση συνθήκης ισορροπίας... 158
Διαβάστε περισσότεραΔομές Δεδομένων (Data Structures)
Δομές Δεδομένων (Data Structures) Γραμμικές Λίστες Βασικές Έννοιες Βασικές Έννοιες. Αναπαράσταση με τύπο και με δείκτη. Γραμμικές Λίστες. Βασικές Λειτουργίες. Δομές Δεδομένων: Βασικές Έννοιες Αντικείμενο
Διαβάστε περισσότεραεπιστρέφει το αμέσως μεγαλύτερο από το x στοιχείο του S επιστρέφει το αμέσως μικρότερο από το x στοιχείο του S
Μελετάμε την περίπτωση όπου αποθηκεύουμε ένα (δυναμικό) σύνολο στοιχειών,, τα οποίo είναι υποσύνολο του. Υποστηριζόμενες λειτουργίες αναζήτηση(s,x): εισαγωγή(s,x): διαγραφή(s,x): διάδοχος(s,x): προκάτοχος(s,x):
Διαβάστε περισσότεραΣτοιχεία Αλγορίθµων και Πολυπλοκότητας
Στοιχεία Αλγορίθµων και Πολυπλοκότητας Ορέστης Τελέλης telelis@unipi.gr Τµήµα Ψηφιακών Συστηµάτων, Πανεπιστήµιο Πειραιώς Ο. Τελέλης Πανεπιστήµιο Πειραιώς Πολυπλοκότητα 1 / 16 «Ζέσταµα» Να γράψετε τις συναρτήσεις
Διαβάστε περισσότεραΕπιµέλεια Θοδωρής Πιερράτος
εδοµένα οµές δεδοµένων και αλγόριθµοι Τα δεδοµένα είναι ακατέργαστα γεγονότα. Η συλλογή των ακατέργαστων δεδοµένων και ο συσχετισµός τους δίνει ως αποτέλεσµα την πληροφορία. Η µέτρηση, η κωδικοποίηση,
Διαβάστε περισσότεραΚΕΦΑΛΑΙΟ 3 ΤΟ ΔΙΩΝΥΜΙΚΟ ΘΕΩΡΗΜΑ
ΚΕΦΑΛΑΙΟ 3 ΤΟ ΔΙΩΝΥΜΙΚΟ ΘΕΩΡΗΜΑ Εισαγωγή Οι αριθμοί που εκφράζουν το πλήθος των στοιχείων ανά αποτελούν ίσως τους πιο σημαντικούς αριθμούς της Συνδυαστικής και καλούνται διωνυμικοί συντελεστές διότι εμφανίζονται
Διαβάστε περισσότεραΔιαχρονικές δομές δεδομένων
Διαχρονικές δομές δεδομένων Μια τυπική δομή δεδομένων μεταβάλλεται με πράξεις εισαγωγής ή διαγραφής Π.χ. κοκκινόμαυρο δένδρο εισαγωγή 0 18 0 5 39 73 1 46 6 80 Αποκατάσταση ισορροπίας 5 39 73 0 46 6 80
Διαβάστε περισσότεραviii 20 Δένδρα van Emde Boas 543
Περιεχόμενα Πρόλογος xi I Θεμελιώδεις έννοιες Εισαγωγή 3 1 Ο ρόλος των αλγορίθμων στις υπολογιστικές διαδικασίες 5 1.1 Αλγόριθμοι 5 1.2 Οι αλγόριθμοι σαν τεχνολογία 12 2 Προκαταρκτικές έννοιες και παρατηρήσεις
Διαβάστε περισσότεραΔιασυνδεδεμένες Δομές. Λίστες. Προγραμματισμός II 1
Διασυνδεδεμένες Δομές Λίστες Προγραμματισμός II 1 lalis@inf.uth.gr Διασυνδεδεμένες δομές Η μνήμη ενός πίνακα δεσμεύεται συνεχόμενα η πρόσβαση στο i-οστό στοιχείο είναι άμεση καθώς η διεύθυνση του είναι
Διαβάστε περισσότεραΕυρετήρια. Ευρετήρια. Βάσεις Δεδομένων 2009-2010: Ευρετήρια 1
Ευρετήρια 1 Ευρετήρια Ένα ευρετήριο (index) είναι μια βοηθητική δομή αρχείου που κάνει πιο αποδοτική την αναζήτηση μιας εγγραφής σε ένα αρχείο Το ευρετήριο καθορίζεται (συνήθως) σε ένα γνώρισμα του αρχείου
Διαβάστε περισσότεραΕρωτήσεις πολλαπλής επιλογής - Κεφάλαιο 2
Ερωτήσεις πολλαπλής επιλογής - Κεφάλαιο 2 1. Ο αλγόριθμος είναι απαραίτητος μόνο για την επίλυση προβλημάτων Πληροφορικής 2. Ο αλγόριθμος αποτελείται από ένα πεπερασμένο σύνολο εντολών 3. Ο αλγόριθμος
Διαβάστε περισσότερα'Ασκηση 1: Στατικός Κατακερματισμός. Εισαγωγή. Ρουτίνες υλοποίησης κατακερματισμού. (Ημερομηνία Παράδοσης: Παρασκευή, 16/5/2008, 5μμ) HT_Init()
Πληροφορική & Τηλεπικοινωνίες K18 Υλοποίηση Συστημάτων Βάσεων Δεδομένων Εαρινό Εξάμηνο 2008 Αν. Καθηγητής Δημήτρης Γουνόπουλος Καθηγητής Γιάννης Ιωαννίδης 'Ασκηση 1: Στατικός Κατακερματισμός (Ημερομηνία
Διαβάστε περισσότεραΕρωτήσεις πολλαπλής επιλογής - Κεφάλαιο Κάθε δομή μπορεί να χρησιμοποιηθεί σε οποιοδήποτε πρόβλημα ή εφαρμογή
Ερωτήσεις πολλαπλής επιλογής - Κεφάλαιο 3 1. Κάθε δομή μπορεί να χρησιμοποιηθεί σε οποιοδήποτε πρόβλημα ή εφαρμογή 2. Δυναμικές είναι οι δομές που αποθηκεύονται σε συνεχόμενες θέσεις μνήμης 3. Ένας πίνακας
Διαβάστε περισσότεραΥπολογιστικά & Διακριτά Μαθηματικά
Υπολογιστικά & Διακριτά Μαθηματικά Ενότητα 5: Αναδρομικές σχέσεις - Υπολογισμός Αθροισμάτων Στεφανίδης Γεώργιος Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για
Διαβάστε περισσότεραΔιάλεξη 17: Δυαδικά Δέντρα. Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ
Διάλεξη 7: Δυαδικά Δέντρα Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Δυαδικά Δένδρα Δυαδικά Δένδρα Αναζήτησης Πράξεις Εισαγωγής, Εύρεσης Στοιχείου, Διαγραφής Μικρότερου Στοιχείου Διδάσκων:
Διαβάστε περισσότερα3 ΟΥ και 9 ΟΥ ΚΕΦΑΛΑΙΟΥ
ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΙΜΕΛΕΙΑ: ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΘΕΩΡΙΑ 3 ΟΥ και 9 ΟΥ ΚΕΦΑΛΑΙΟΥ ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΠΙΝΑΚΩΝ ΣΤΟΙΒΑΣ ΚΑΙ ΟΥΡΑΣ Α ΜΕΡΟΣ ΘΕΩΡΙΑ ΓΙΑ ΠΙΝΑΚΕΣ 3.1
Διαβάστε περισσότεραΚεφάλαιο 13. Αποθήκευση σε ίσκους, Βασικές οµέςαρχείων, και Κατακερµατισµός. ιαφάνεια 13-1
ιαφάνεια 13-1 Κεφάλαιο 13 Αποθήκευση σε ίσκους, Βασικές οµέςαρχείων, και Κατακερµατισµός ίαβλος, Επιµ.Μ.Χατζόπουλος 1 Γιατί θα µιλήσουµε Μονάδες Αποθήκευσης ίσκων Αρχεία Εγγραφών Πράξεις σε αρχεία Αρχεία
Διαβάστε περισσότεραΒασικές έννοιες προγραμματισμού
Βασικές έννοιες προγραμματισμού Αλφάβητο Γράμματα Κεφαλαία Ελληνικά ( Α Ω ) Πεζά Ελληνικά ( α ω ) Κεφαλαία Λατινικά ( A Z ) Πεζά Ελληνικά ( a z) Ψηφία 0-9 Ειδικοί χαρακτήρες ( +, -, *,/, =,.,,!, κενό )
Διαβάστε περισσότεραΕνότητες 3 & 4: Δένδρα, Σύνολα & Λεξικά Ασκήσεις και Λύσεις
Ενότητες 3 & 4: Δένδρα, Σύνολα & Λεξικά Ασκήσεις και Λύσεις Άσκηση 1 Γράψτε μία αναδρομική συνάρτηση που θα παίρνει ως παράμετρο ένα δείκτη στη ρίζα ενός δυαδικού δένδρου και θα επιστρέφει το βαθμό του
Διαβάστε περισσότεραΠληροφορική 2. Αλγόριθμοι
Πληροφορική 2 Αλγόριθμοι 1 2 Τι είναι αλγόριθμος; Αλγόριθμος είναι ένα διατεταγμένο σύνολο από σαφή βήματα το οποίο παράγει κάποιο αποτέλεσμα και τερματίζεται σε πεπερασμένο χρόνο. Ο αλγόριθμος δέχεται
Διαβάστε περισσότεραΔΕΟ13 - Επαναληπτικές Εξετάσεις 2010 Λύσεις
ΔΕΟ - Επαναληπτικές Εξετάσεις Λύσεις ΘΕΜΑ () Το Διάγραμμα Διασποράς εμφανίζεται στο επόμενο σχήμα. Από αυτό προκύπτει καταρχήν μία θετική σχέση μεταξύ των δύο μεταβλητών. Επίσης, από το διάγραμμα φαίνεται
Διαβάστε περισσότεραΠΑΡΑΡΤΗΜΑ: QUIZ ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ
ΠΑΡΑΡΤΗΜΑ: QUIZ ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ (Οι ερωτήσεις µε κίτρινη υπογράµµιση είναι εκτός ύλης για φέτος) ΕΙΣΑΓΩΓΗ Q1. Οι Πρωταρχικοί τύποι (primitive types) στη Java 1. Είναι όλοι οι ακέραιοι και όλοι οι πραγµατικοί
Διαβάστε περισσότεραΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ : ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΑΞΗ : Γ ΛΥΚΕΙΟΥ ΣΠΟΥΔΕΣ ΟΙΚΟΝΟΜΙΑΣ & ΠΛΗΡΟΦΟΡΙΚΗΣ ΔΙΑΓΩΝΙΣΜΑ ΠΕΡΙΟΔΟΥ : ΜΑΪΟΥ
ΑΡΧΗ 1ης ΣΕΛΙ ΑΣ ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ : ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΑΞΗ : Γ ΛΥΚΕΙΟΥ ΣΠΟΥΔΕΣ ΟΙΚΟΝΟΜΙΑΣ & ΠΛΗΡΟΦΟΡΙΚΗΣ ΔΙΑΓΩΝΙΣΜΑ ΠΕΡΙΟΔΟΥ : ΜΑΪΟΥ ΣΥΝΟΛΟ ΣΕΛΙΔΩΝ : 7 ΘΕΜΑ Α : Α1. Να
Διαβάστε περισσότεραΠρογραμματισμός Ι (ΗΥ120)
Προγραμματισμός Ι (ΗΥ120) Διάλεξη 15: Διασυνδεμένες Δομές - Λίστες Διασυνδεδεμένες δομές δεδομένων Η μνήμη ενός πίνακα δεσμεύεται συνεχόμενα. Η πρόσβαση στο i-οστό στοιχείο είναι άμεση καθώς η διεύθυνση
Διαβάστε περισσότεραΔιακριτά Μαθηματικά ΙΙ Χρήστος Νομικός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων 2018 Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά
Διακριτά Μαθηματικά ΙΙ Χρήστος Νομικός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων 2018 Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά και Πληροφορικής Μαθηματικά Πανεπιστήμιο ΙΙ Ιωαννίνων
Διαβάστε περισσότεραΒάσεις Δεδομένων. Αποθήκευση σε δίσκο, βασικές οργανώσεις αρχείων, κατακερματισμός και δομές ευρετηρίων για αρχεία. Φροντιστήριο 7 o
Βάσεις Δεδομένων Αποθήκευση σε δίσκο, βασικές οργανώσεις αρχείων, κατακερματισμός και δομές ευρετηρίων για αρχεία Φροντιστήριο 7 o 2-2-2008 Θεωρία Άτρακτος/αυλάκι : ομόκεντροι κύκλοι στον δίσκο Κύλινδρος:
Διαβάστε περισσότεραQuicksort. Πρόβλημα Ταξινόμησης. Μέθοδοι Ταξινόμησης. Συγκριτικοί Αλγόριθμοι
Πρόβλημα Ταξινόμησης Quicksort Διδάσκοντες: Σ. Ζάχος, Δ. Φωτάκης Επιμέλεια διαφανειών: Δ. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Είσοδος : ακολουθία n αριθμών (α 1, α 2,..., α n
Διαβάστε περισσότεραΕυρετήρια. Ευρετήρια. Βάσεις Δεδομένων : Ευρετήρια 1
Ευρετήρια 1 Ευρετήρια Ένα ευρετήριο (index) είναι μια βοηθητική δομή αρχείου που κάνει πιο αποδοτική την αναζήτηση μιας εγγραφής σε ένα αρχείο Το ευρετήριο καθορίζεται (συνήθως) σε ένα γνώρισμα του αρχείου
Διαβάστε περισσότεραΦροντιστήριο Αποθήκευση σε δίσκο, βασικές οργανώσεις αρχείων κατακερματισμός και δομές ευρετηρίων για αρχεία
ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ Ι Φροντιστήριο 17-1-2011 Αποθήκευση σε δίσκο, βασικές οργανώσεις αρχείων κατακερματισμός και δομές ευρετηρίων για αρχεία Θεωρία Άτρακτος/αυλάκι : ομόκεντροι κύκλοι στον δίσκο Κύλινδρος:
Διαβάστε περισσότεραΔομές Δεδομένων. Δημήτρης Μιχαήλ. Ταξινόμηση. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο
Δομές Δεδομένων Ταξινόμηση Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Το πρόβλημα Είσοδος n αντικείμενα a 1, a 2,..., a n με κλειδιά (συνήθως σε ένα πίνακα, ή λίστα, κ.τ.λ)
Διαβάστε περισσότεραΔυναμικός Κατακερματισμός
Δυναμικός Κατακερματισμός Καλό για βάση δεδομένων που μεγαλώνει και συρρικνώνεται σε μέγεθος Επιτρέπει τη δυναμική τροποποίηση της συνάρτησης κατακερματισμού Επεκτάσιμος κατακερματισμός μια μορφή δυναμικού
Διαβάστε περισσότεραΕΡΓΑΣΤΗΡΙΑΚΕΣ ΑΣΚΗΣΕΙΣ C ΣΕΙΡΑ 1 η
Δημοκρίτειο Πανεπιστήμιο Θράκης Πολυτεχνική Σχολή Τμήμα Μηχανικών Παραγωγής & Διοίκησης Ακαδ. έτος 2015-2016 Τομέας Συστημάτων Παραγωγής Εξάμηνο Β Αναπληρωτής Καθηγητής Στέφανος Δ. Κατσαβούνης ΜΑΘΗΜΑ :
Διαβάστε περισσότεραΔομές Δεδομένων & Αλγόριθμοι
- Πίνακες 1 Πίνακες Οι πίνακες έχουν σταθερό μέγεθος και τύπο δεδομένων. Βασικά πλεονεκτήματά τους είναι η απλότητα προγραμματισμού τους και η ταχύτητα. Ωστόσο δεν παρέχουν την ευελιξία η οποία απαιτείται
Διαβάστε περισσότεραΑλγόριθμοι - Τμήμα Πληροφορικής ΑΠΘ -4ο εξάμηνο 1
Αλγόριθμοι Χωρικοί-χρονικοί συμβιβασμοί http://delab.csd.auth.gr/courses/algorithms/ Αλγόριθμοι - Τμήμα Πληροφορικής ΑΠΘ -4ο εξάμηνο 1 Χωρικοί-χρονικοί συμβιβασμοί Σε πολλά προβλήματα, ο επιπλέον χώρος
Διαβάστε περισσότεραΓ ε ν ι κ ό Λ ύ κ ε ι ο Ε λ ε υ θ ε ρ ο ύ π ο λ η ς. Α λ γ ό ρ ι θ μ ο ι
Α λ γ ό ρ ι θ μ ο ι Αριθμητικοί τελεστές Οι αριθμητικοί τελεστές είναι: πρόσθεση, αφαίρεση, πολλαπλασιασμός και διαίρεση +,-,*,/ ύψωση σε δύναμη ^ πηλίκο ακέραιης διαίρεσης δύο ακεραίων αριθμών div υπόλοιπο
Διαβάστε περισσότερα