Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Δυναμικά Σύνολα TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A AA A A Δυναμικό σύνολο Tα στοιχεία του μεταβάλλονται.

Παρόμοιες παρουσιάσεις


Παρουσίαση με θέμα: "Δυναμικά Σύνολα TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A AA A A Δυναμικό σύνολο Tα στοιχεία του μεταβάλλονται."— Μεταγράφημα παρουσίασης:

1 Δυναμικά Σύνολα TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A AA A A Δυναμικό σύνολο Tα στοιχεία του μεταβάλλονται μέσω εντολών εισαγωγής και διαγραφής εισαγωγή διαγραφή

2 Δυναμικά Σύνολα TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A AA A A Δυναμικό σύνολο Tα στοιχεία του μεταβάλλονται μέσω εντολών εισαγωγής και διαγραφής Βασικές λειτουργίες αναζήτηση(S,k): εισαγωγή(S,x): διαγραφή(S,x): επιστρέφει το στοιχείο με κλειδί k αν υπάρχει στο S θέτει

3 Δυναμικά Σύνολα TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A AA A A Αν το S είναι ολικά διατεταγμένο μπορούμε να έχουμε επιπλέον τις λειτουργίες ελάχιστο(S): μέγιστο(S): διάδοχος(S,x): προκάτοχος(S,x): Δυναμικό σύνολο Tα στοιχεία του μεταβάλλονται μέσω εντολών εισαγωγής και διαγραφής επιστρέφει το στοιχείο του S με το ελάχιστο κλειδί επιστρέφει το στοιχείο του S με το μέγιστο κλειδί επιστρέφει το αμέσως μεγαλύτερο από το x στοιχείο του S επιστρέφει το αμέσως μικρότερο από το x στοιχείο του S Βασικές λειτουργίες αναζήτηση(S,k): εισαγωγή(S,x): διαγραφή(S,x): επιστρέφει το στοιχείο με κλειδί k αν υπάρχει στο S θέτει

4 Δυναμικά Σύνολα TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A εισαγωγή αναζήτηση διατεταγμένος πίνακας διατεταγμένη λίστα μη διατεταγμένη λίστα μη διατεταγμένος πίνακας δένδρο δυαδικής αναζήτησης τυχαιοποιημένο δένδρο κόκκινου-μαύρου (*) Συμβαίνει με εξαιρετικά μικρή πιθανότητα εισαγωγή αναζήτηση κατακερματισμός χειρότερη περίπτωσημέση περίπτωση Με δυαδική αναζήτηση

5 Πίνακες Διασποράς TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A AA A A Δυναμικό σύνολο Tα στοιχεία του μεταβάλλονται μέσω εντολών εισαγωγής και διαγραφής Βασικές λειτουργίες αναζήτηση(S,k): εισαγωγή(S,x): διαγραφή(S,x): επιστρέφει το στοιχείο με κλειδί k αν υπάρχει στο S θέτει Οι πίνακες διασποράς (κατακερματισμός) δίνουν μια αποδοτική λύση όταν θέλουμε να υποστηρίξουμε μόνο τις παραπάνω λειτουργίες

6 Πίνακες Διασποράς TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A AA A A Αποδοτική δομή όταν για το S χρειαζόμαστε μόνο τις λειτουργίες: κλειδί k k T 0 1 2 3 4 5 6 7 συνάρτηση διασποράς U : χώρος πιθανών κλειδιών Τ : πίνακας μεγέθους m αναζήτηση(S,k): εισαγωγή(S,x): διαγραφή(S,x): επιστρέφει το στοιχείο με κλειδί k αν υπάρχει στο S θέτει

7 Πίνακες Διασποράς TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A AA A A Μετατροπή σε ακέραιο στο διάστημα - για αριθμό κινητής υποδιαστολής στο διάστημα int m, k; float x; k = x*m; π.χ. για m = 67 x =.57641 k = 38 x =.32178 k = 21 x =.58113 k = 38 - για αλφαριθμητικά με χαρακτήρες των 7 bit κάθε χαρακτήρας αντιστοιχεί σε ένα ακέραιο σε κωδικοποίηση ASCII έχουμε ‘a’ = 97, ‘b’ = 98, ‘c’ = 99, … κλπ char s[3] = “now” k =(110*128 2 + 111*128 1 + 119*128 0 ) mod 67 π.χ. για m = 67 = 1816567 mod 67 = 63

8 Πίνακες Διασποράς TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A AA A A Μετατροπή σε ακέραιο στο διάστημα - για αριθμό κινητής υποδιαστολής στο διάστημα int m, k; float x; k = x*m; π.χ. για m = 67 x =.57641 k = 38 x =.32178 k = 21 x =.58113 k = 38 - για αλφαριθμητικά με χαρακτήρες των 7 bit κάθε χαρακτήρας αντιστοιχεί σε ένα ακέραιο σε κωδικοποίηση ASCII έχουμε ‘a’ = 97, ‘b’ = 98, ‘c’ = 99, … κλπ char s[4] = “have” π.χ. για m = 67 = 219708261 mod 67 = 52 k = (104*128 3 + 97*128 2 + 118*128 1 + 101*128 0 ) mod 67

9 Πίνακες Διασποράς TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A AA A A Μετατροπή σε ακέραιο στο διάστημα - για αλφαριθμητικά με χαρακτήρες των 7 bit κάθε χαρακτήρας αντιστοιχεί σε ένα ακέραιο σε κωδικοποίηση ASCII έχουμε ‘a’ = 97, ‘b’ = 98, ‘c’ = 99, … κλπ char s[4] = “have” π.χ. για m = 67 = 219708261 mod 67 = 52 k = (104*128 3 + 97*128 2 + 118*128 1 + 101*128 0 ) mod 67 int w = 1; int k = s[n-1]; for (i=n-2; i>=0; i--){ w *= 128; k += s[i]*w; } k = k % m; για μεγάλα αλφαριθμητικά θα προκληθεί υπερχείλιση (overflow) αν ο υπολογισμός γίνει με απλοϊκό τρόπο

10 για να αποφύγουμε το πρόβλημα της υπερχείλισης χρησιμοποιούμε τον αλγόριθμο του Horner και τις αριθμητικές ιδιότητες της συνάρτησης mod Πίνακες Διασποράς TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A AA A A Μετατροπή σε ακέραιο στο διάστημα - για αλφαριθμητικά με χαρακτήρες των 7 bit κάθε χαρακτήρας αντιστοιχεί σε ένα ακέραιο σε κωδικοποίηση ASCII έχουμε ‘a’ = 97, ‘b’ = 98, ‘c’ = 99, … κλπ char s[4] = “have” π.χ. για m = 67 = 219708261 mod 67 = 52 k = (104*128 3 + 97*128 2 + 118*128 1 + 101*128 0 ) mod 67 104*128 3 + 97*128 2 + 118*128 1 + 101*128 0 = ((104*128 + 97)*128 + 118)*128 + 101

11 Πίνακες Διασποράς TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A AA A A Μετατροπή σε ακέραιο στο διάστημα - για αλφαριθμητικά με χαρακτήρες των 7 bit κάθε χαρακτήρας αντιστοιχεί σε ένα ακέραιο σε κωδικοποίηση ASCII έχουμε ‘a’ = 97, ‘b’ = 98, ‘c’ = 99, … κλπ char s[4] = “have” π.χ. για m = 67 k = (((104*128 + 97)*128 + 118)*128 + 101) mod 67 = 52 int w = 128; int k = 0; for (i=0; i<n; i++){ k = (k*w + s[i]) % m; }

12 Πίνακες σταθερών διευθύνσεων TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A AA A A Απλή λύση όταν το U είναι μικρό: 1 1 T 0 1 2 3 4 5 6 7 συνάρτηση διασποράς U : χώρος πιθανών κλειδιών Τ : πίνακας μεγέθους m όπου 4 4 7 7 2 3 5 6 0 U K K : χώρος ενεργών κλειδιών

13 Πίνακες σταθερών διευθύνσεων TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A AA A A Απλή λύση όταν το U είναι μικρό: 1 1 T 0 1 2 3 4 5 6 7 συνάρτηση διασποράς U : χώρος πιθανών κλειδιών Τ : πίνακας μεγέθους m όπου 4 4 7 7 2 3 5 6 0 U K K : χώρος ενεργών κλειδιών Δίνει Ο(1) χρόνο ανά πράξη.

14 Πίνακες σταθερών διευθύνσεων TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A AA A A Απλή λύση όταν το U είναι μικρό: 1 1 T 0 1 2 3 4 5 6 7 συνάρτηση διασποράς U : χώρος πιθανών κλειδιών Τ : πίνακας μεγέθους m όπου 4 4 7 7 2 3 5 6 0 U K K : χώρος ενεργών κλειδιών Τι γίνεται όμως αν ; Δίνει Ο(1) χρόνο ανά πράξη.

15 Πίνακες Διασποράς TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A AA A A Επιθυμητές ιδιότητες: χώρος χρόνος ανά λειτουργία (αναμενόμενη περίπτωση) συνάρτηση διασποράς U : χώρος πιθανών κλειδιών Τ : πίνακας μεγέθους m K : χώρος ενεργών κλειδιών k2k2 T 0 m-1 k1k1 k3k3 k4k4 U K

16 Πίνακες Διασποράς TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A AA A A Επιθυμητές ιδιότητες: χώρος χρόνος ανά λειτουργία (αναμενόμενη περίπτωση) συνάρτηση διασποράς U : χώρος πιθανών κλειδιών Τ : πίνακας μεγέθους m K : χώρος ενεργών κλειδιών k2k2 T 0 m-1 k1k1 k3k3 k4k4 U K Σύμπτωση: για κλειδιά

17 Πίνακες Διασποράς TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A AA A A Επιθυμητές ιδιότητες: χώρος χρόνος ανά λειτουργία (αναμενόμενη περίπτωση) συνάρτηση διασποράς U : χώρος πιθανών κλειδιών Τ : πίνακας μεγέθους m K : χώρος ενεργών κλειδιών k2k2 T 0 m-1 k1k1 k3k3 k4k4 U K Σύμπτωση: για κλειδιά Η h πρέπει να δίνει τυχαιόμορφη κατανομή

18 Πίνακες Διασποράς TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A AA A A Ποιά συνάρτηση διασποράς είναι καλύτερη;

19 Πίνακες Διασποράς TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A AA A A k2k2 T 0 m-1 k1k1 k3k3 k4k4 U K Σύμπτωση: για κλειδιά k2k2 k1k1 k3k3 k4k4 Άρση των συμπτώσεων μέσω αλυσιδωτής σύνδεσης κάθε Τ[i] δείχνει σε μία αλυσίδα για τα κλειδιά k με διασπορά h[k]=i

20 Πίνακες Διασποράς TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A AA A A k2k2 T 0 m-1 k1k1 k3k3 k4k4 U K Σύμπτωση: για κλειδιά k2k2 k1k1 k3k3 k4k4 Άρση των συμπτώσεων μέσω αλυσιδωτής σύνδεσης κάθε Τ[i] δείχνει σε μία αλυσίδα για τα κλειδιά k με διασπορά h[k]=i εισαγωγή(Τ,x): εισαγωγή του x στη λίστα του Τ[h(κλειδί[x])]

21 Πίνακες Διασποράς TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A AA A A k2k2 T 0 m-1 k1k1 k3k3 k4k4 U K Σύμπτωση: για κλειδιά k1k1 k3k3 k4k4 k5k5 k5k5 k2k2 Άρση των συμπτώσεων μέσω αλυσιδωτής σύνδεσης κάθε Τ[i] δείχνει σε μία αλυσίδα για τα κλειδιά k με διασπορά h[k]=i εισαγωγή(Τ,x): εισαγωγή του x στη λίστα του Τ[h(κλειδί[x])]

22 Πίνακες Διασποράς TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A AA A A k2k2 T 0 m-1 k1k1 k3k3 k4k4 U K Σύμπτωση: για κλειδιά k1k1 k3k3 k4k4 k5k5 k5k5 k2k2 αναζήτηση(Τ,k): αναζήτηση στοιχείου με κλειδί k στην αλυσίδα T[h(k)] διαγραφή(Τ,x): διαγραφή του x από την αλυσίδα του Τ[h(κλειδί[x])] Άρση των συμπτώσεων μέσω αλυσιδωτής σύνδεσης κάθε Τ[i] δείχνει σε μία αλυσίδα για τα κλειδιά k με διασπορά h[k]=i εισαγωγή(Τ,x): εισαγωγή του x στη λίστα του Τ[h(κλειδί[x])]

23 Πίνακες Διασποράς TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A AA A A Σύμπτωση: για κλειδιά Εισαγωγή και διαγραφή παίρνουν Ο(1) χρόνο Για την αναζήτηση πρέπει να υπολογίσουμε το αναμενόμενο μήκος μιας αλυσίδας. k2k2 T 0 m-1 k1k1 k3k3 k4k4 U K k1k1 k3k3 k4k4 k5k5 k5k5 k2k2 αναζήτηση(Τ,k): αναζήτηση στοιχείου με κλειδί k στην αλυσίδα T[h(k)] διαγραφή(Τ,x): διαγραφή του x από την αλυσίδα του Τ[h(κλειδί[x])] Άρση των συμπτώσεων μέσω αλυσιδωτής σύνδεσης κάθε Τ[i] δείχνει σε μία αλυσίδα για τα κλειδιά k με διασπορά h[k]=i εισαγωγή(Τ,x): εισαγωγή του x στη λίστα του Τ[h(κλειδί[x])]

24 Πίνακες Διασποράς TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A AA A A Συντελεστής πληρότητας Στη χειρότερη περίπτωση η διασπορά h(k) είναι ίδια για όλα τα χρόνος αναζήτησης στη χειρότερη περίπτωση Ο αναμενόμενος χρόνος αναζήτησης εξαρτάται από την επιλογή της h k2k2 T 0 m-1 k1k1 k3k3 k4k4 U K k1k1 k3k3 k4k4 k5k5 k5k5 k2k2 πλήθος των ενεργών κλειδιών

25 Πίνακες Διασποράς TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A AA A A Συντελεστής πληρότητας πλήθος των ενεργών κλειδιών Έχουμε και επομένως το μέσο μήκος μιας αλυσίδας είναι Υπόθεση απλής ομοιόμορφης διασποράς: κάθε νέο στοιχείο έχει ίση πιθανότητα να διασπαρεί σε οποιαδήποτε από τις m θέσεις. Αναμενόμενος χρόνος ανεπιτυχούς αναζήτησης: Αναμενόμενος χρόνος επιτυχούς αναζήτησης: Έστω το μήκος της αλυσίδας του k2k2 T 0 m-1 k1k1 k3k3 k4k4 U K k1k1 k3k3 k4k4 k5k5 k5k5 k2k2

26 Συναρτήσεις Διασποράς TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A AA A A Πότε είναι μία συνάρτηση διασποράς καλή; Επιθυμητή ιδιότητα: να ικανοποιεί την υπόθεση της απλής ομοιόμορφης διασποράς (δηλ. κάθε νέο στοιχείο έχει ίση πιθανότητα να διασπαρεί σε οποιαδήποτε από τις m θέσεις). Η παραπάνω ιδιότητα απαιτεί γνώση της κατανομής των κλειδιών, που συνήθως δεν είναι γνωστή. Παράδειγμα: Τα κλειδιά είναι ανεξάρτητοι και ομοιόμορφα κατανεμημένοι αριθμοί στο διάστημα [0,1]. Επιλέγοντας ικανοποιούμε την υπόθεση της απλής ομοιόμορφης διασποράς.

27 Συναρτήσεις Διασποράς TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A AA A A Διαιρετική μέθοδος (συνήθως) κακή επιλογή : m = δύναμη του 2 καλύτερη επιλογή : m = πρώτος αριθμός Πολλαπλασιαστική μέθοδος Πότε είναι μία συνάρτηση διασποράς καλή; Επιθυμητή ιδιότητα: να ικανοποιεί την υπόθεση της απλής ομοιόμορφης διασποράς (δηλ. κάθε νέο στοιχείο έχει ίση πιθανότητα να διασπαρεί σε οποιαδήποτε από τις m θέσεις).

28 Καθολική Διασπορά TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A AA A A Για κάθε καθορισμένη συνάρτηση διασποράς μπορούμε να επιλέξουμε κλειδιά που θα δίνουν τη χειρότερη δυνατή επίδοση. Προκειμένου να βελτιώσουμε την κατάσταση μπορούμε να βασιστούμε σε τυχαιοκρατικούς αλγόριθμους: Ορίζουμε μία οικογένεια συναρτήσεων και κατά τη διάρκεια της εκτέλεσης επιλέγουμε τυχαία μία από αυτές τις συναρτήσεις ως συνάρτηση διασποράς. Περιορίζουμε την πιθανότητα εμφάνισης παθολογικών περιπτώσεων.

29 Καθολική Διασπορά TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A AA A A πεπερασμένη συλλογή συναρτήσεων Η συλλογή είναι καθολική αν για κάθε ζεύγος διαφορετικών κλειδιών υπάρχουν το πολύ συναρτήσεις με

30 Καθολική Διασπορά TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A AA A A πεπερασμένη συλλογή συναρτήσεων Η συλλογή είναι καθολική αν για κάθε ζεύγος διαφορετικών κλειδιών υπάρχουν το πολύ συναρτήσεις με Συνεπώς

31 Πιθανότητα σύμπτωσης όταν και επιλέγονται τυχαία και ανεξάρτητα. Καθολική Διασπορά TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A AA A A πεπερασμένη συλλογή συναρτήσεων Η συλλογή είναι καθολική αν για κάθε ζεύγος διαφορετικών κλειδιών υπάρχουν το πολύ συναρτήσεις με Συνεπώς

32 Καθολική Διασπορά TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A AA A A καθολική συλλογή συναρτήσεων διασποράς που αντιστοιχίζει το σύμπαν στο σύνολο αυθαίρετο υποσύνολο του με αυθαίρετο στοιχείο του αριθμός στοιχειών με (τυχαία μεταβλητή) τυχαία επιλεγμένη συνάρτηση της Για κάθε έχουμε δείκτρια τυχαία μεταβλητή Έχουμε Άρα

33 Καθολική Διασπορά TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A AA A A Θεώρημα Έστω ότι επιλέγουμε τυχαία και κάνουμε εισαγωγή κλειδιών σε πίνακα μεγέθους. Έστω. Τότε Πόρισμα Ο αναμενόμενος χρόνος εκτέλεσης μίας ακολουθίας πράξεων με πράξεις εισαγωγής είναι Συνεπάγεται από το παραπάνω θεώρημα και την παρατήρηση ότι

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

51 Πλήρης Διασπορά k2k2 T 0 m-1 k1k1 k3k3 k4k4 K k1k1 k3k3 k4k4 k5k5 k2k2 k5k5 Ιδέα: Διασπορά δύο επιπέδων με χρήση καθολικής διασποράς ανά επίπεδο Όταν το σύνολο των κλειδιών είναι στατικό μπορούμε να πετύχουμε άριστη επίδοση : χρόνο χειρότερης περίπτωσης ανά πράξη

52 Πλήρης Διασπορά k2k2 T 0 m-1 k1k1 k3k3 k4k4 K k1k1 k3k3 k4k4 k5k5 k2k2 k5k5 Ιδέα: Διασπορά δύο επιπέδων με χρήση καθολικής διασποράς ανά επίπεδο 1 ο επίπεδο 2 ο επίπεδο : δευτερογενής πίνακας διασποράς για κάθε T[i] Όταν το σύνολο των κλειδιών είναι στατικό μπορούμε να πετύχουμε άριστη επίδοση : χρόνο χειρότερης περίπτωσης ανά πράξη

53 Πλήρης Διασπορά Στο 2 ο επίπεδο αποφεύγουμε τις συμπτώσεις k2k2 T 0 m-1 k1k1 k3k3 k4k4 K k1k1 k3k3 k4k4 k5k5 k2k2 k5k5 Ιδέα: Διασπορά δύο επιπέδων με χρήση καθολικής διασποράς ανά επίπεδο 1 ο επίπεδο 2 ο επίπεδο : δευτερογενής πίνακας διασποράς για κάθε T[i] Όταν το σύνολο των κλειδιών είναι στατικό μπορούμε να πετύχουμε άριστη επίδοση : χρόνο χειρότερης περίπτωσης ανά πράξη

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

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

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


Κατέβασμα ppt "Δυναμικά Σύνολα TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A AA A A Δυναμικό σύνολο Tα στοιχεία του μεταβάλλονται."

Παρόμοιες παρουσιάσεις


Διαφημίσεις Google