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

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
Αναδρομικοί Αλγόριθμοι
Advertisements

Δομές Δεδομένων και Αλγόριθμοι
Δένδρα van Emde Boas TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Μελετάμε την περίπτωση όπου αποθηκεύουμε.
Συλλογές, Στοίβες και Ουρές Σε πολλές εφαρμογές μας αρκεί η αναπαράσταση ενός δυναμικού συνόλου με μια δομή δεδομένων η οποία δεν υποστηρίζει την αναζήτηση.
Επίπεδα Γραφήματα (planar graphs)
Στοιχειώδεις Δομές Δεδομένων TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Τύποι δεδομένων στη Java • Ακέραιοι.
Λίστες παράλειψης (skip lists) TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A
Άμεσοι Αλγόριθμοι: Προσπέλαση Λίστας (list access) TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Έχουμε αποθηκεύσει.
Επίπεδα Γραφήματα : Προβλήματα και Υπολογιστική Πολυπλοκότητα TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A AA.
Πολυπλοκότητα Παράμετροι της αποδοτικότητας ενός αλγόριθμου:
Ισορροπημένα Δένδρα TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Μπορούμε να επιτύχουμε χρόνο εκτέλεσης για.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά1 Δυναμικός Κατακερματισμός.
Δομές Αναζήτησης TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A εισαγωγή αναζήτησηεπιλογή διατεταγμένος πίνακας.
Ψηφιακά Δένδρα TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Μπορούμε να χρησιμοποιήσουμε την παραπάνω αναπαράσταση.
Δένδρα Αναζήτησης Πολλαπλής Διακλάδωσης TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Δένδρα στα οποία κάθε.
Τελεστές ανάθεσης (assignment)
Διαίρει και Βασίλευε πρόβλημα μεγέθους Ν διάσπαση πρόβλημα μεγέθους Ν-k πρόβλημα μεγέθους k.
Κοντινότεροι Κοινοί Πρόγονοι α βγ θ δεζ η π ν ι κλμ ρσ τ κκπ(λ,ι)=α, κκπ(τ,σ)=ν, κκπ(λ,π)=η κκπ(π,σ)=γ, κκπ(ξ,ο)=κ ξο κκπ(ι,ξ)=β, κκπ(τ,θ)=θ, κκπ(ο,μ)=α.
Προσεγγιστικοί Αλγόριθμοι
Δυναμική Διατήρηση Γραμμικής Διάταξης Διατηρεί μια γραμμική διάταξη δυναμικά μεταβαλλόμενης συλλογής στοιχείων. Υποστηρίζει τις λειτουργίες: Έλεγχος της.
Μέγιστη ροή TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A AA A A Συνάρτηση χωρητικότητας Κατευθυνόμενο γράφημα.
Αριθμοθεωρητικοί Αλγόριθμοι TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A AA A A Αλγόριθμοι που επεξεργάζονται.
Τυχαιοκρατικοί Αλγόριθμοι TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA Πιθανότητες και Αλγόριθμοι Ανάλυση μέσης.
Ισορροπημένα Δένδρα TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Μπορούμε να επιτύχουμε χρόνο εκτέλεσης για.
TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A Δυναμικός Προγραμματισμός πρόβλημα μεγέθους Ν διάσπαση πρόβλημα.
Δομές Αναζήτησης TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Χειριζόμαστε ένα σύνολο στοιχείων όπου το κάθε.
Ανάλυση αλγορίθμων Παράμετροι απόδοσης ενός αλγόριθμου: Χρόνος εκτέλεσης Απαιτούμενοι πόροι, π.χ. μνήμη, επικοινωνία (π.χ. σε κατανεμημένα συστήματα) Προσπάθεια.
Ελαφρύτατες διαδρομές TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A AA A A Συνάρτηση βάρους Κατευθυνόμενο γράφημα.
Ισορροπημένα Δένδρα TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Μπορούμε να επιτύχουμε χρόνο εκτέλεσης για.
Ψηφιακά Δένδρα TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Μπορούμε να χρησιμοποιήσουμε την παραπάνω αναπαράσταση.
TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Ουρά Προτεραιότητας (priority queue) Δομή δεδομένων που υποστηρίζει.
TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Ουρά Προτεραιότητας (priority queue) Δομή δεδομένων που υποστηρίζει.
Ειδικά Θέματα Αλγορίθμων και Δομών Δεδομένων
Διερεύνηση γραφήματος. Ένας αλγόριθμος διερεύνησης γραφήματος επισκέπτεται τους κόμβους του γραφήματος με μια καθορισμένη στρατηγική, π.χ. κατά εύρος.
Διαφάνειες παρουσίασης Πίνακες (συνέχεια) Αριθμητικοί υπολογισμοί Αναδρομή.
Δυναμικά Σύνολα 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.
TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Ουρά Προτεραιότητας (priority queue) Δομή δεδομένων που υποστηρίζει.
Γραμμικός Προγραμματισμός TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A AA A A Μια εταιρεία παράγει κέικ δύο κατηγοριών,
Δομές Αναζήτησης TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Θέλουμε να υποστηρίξουμε δύο βασικές λειτουργίες:
Στοιχειώδεις Δομές Δεδομένων TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Τύποι δεδομένων στη C Ακέραιοι.
Επίπεδα Γραφήματα: Έλεγχος Επιπεδότητας TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A AA A A αβ ζ η ε γ θ Το γράφημα.
Λεξικό, Union – Find Διδάσκοντες: Σ. Ζάχος, Δ. Φωτάκης Επιμέλεια διαφανειών: Δ. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο.
Διερεύνηση γραφήματος. Ένας αλγόριθμος διερεύνησης γραφήματος επισκέπτεται τους κόμβους του γραφήματος με μια καθορισμένη στρατηγική, π.χ. κατά εύρος.
Advanced Data Indexing (Προηγμένη ευρετηρίαση δεδομένων) Κατακερματισμός – Hashing (1 ο Μέρος)
Λίστες παράλειψης (skip lists) TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A
Γράφημα TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Συνδυαστικό αντικείμενο που αποτελείται από.
Τμήμα Πληροφορικής και Τηλεπικοινωνιών Κ. Χαλάτσης, Εισαγωγή στην Επιστήμη της Πληροφορικής και των Τηλεπικοινωνιών Πανεπιστήμιο Αθηνών 1 Παράσταση Πληροφοριών.
Μέγιστη ροή TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A AA A A Συνάρτηση χωρητικότητας Κατευθυνόμενο γράφημα.
Ελαφρύτατες διαδρομές TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A AA A A.
Μέγιστη ροή TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A AA A A Συνάρτηση χωρητικότητας Κατευθυνόμενο γράφημα.
Συνδετικότητα γραφήματος (graph connectivity). α β Υπάρχει μονοπάτι μεταξύ α και β; Παραδείγματα: υπολογιστές ενός δικτύου ιστοσελίδες ισοδύναμες μεταβλητές.
Γλώσσες Προγραμματισμού Μεταγλωττιστές Πίνακας Συμβόλων Πανεπιστήμιο Μακεδονίας Τμήμα Εφαρμοσμένης Πληροφορικής Ηλίας Σακελλαρίου.
Γράφημα Συνδυαστικό αντικείμενο που αποτελείται από 2 σύνολα:
ΜΕΤΑΒΛΗΤΕΣ-ΣΤΑΘΕΡΕΣ -ΕΚΦΡΑΣΕΙΣ
Δυναμικός Κατακερματισμός
Μέγιστη ροή Κατευθυνόμενο γράφημα 12 Συνάρτηση χωρητικότητας
Πίνακες Συμβόλων TexPoint fonts used in EMF.
Μέγιστη ροή Κατευθυνόμενο γράφημα 12 Συνάρτηση χωρητικότητας
Τύποι Μεταβλητών Τελεστές Βασική Είσοδος/Έξοδος
Ισορροπημένα Δένδρα Μπορούμε να επιτύχουμε χρόνο εκτέλεσης
Δένδρα Αναζήτησης Πολλαπλής Διακλάδωσης
Ισορροπημένα Δένδρα Μπορούμε να επιτύχουμε χρόνο εκτέλεσης
Ισορροπημένα Δένδρα Μπορούμε να επιτύχουμε χρόνο εκτέλεσης
Ουρά Προτεραιότητας (priority queue)
Δομές Αναζήτησης Χειριζόμαστε ένα σύνολο στοιχείων όπου το κάθε στοιχείο έχει ένα κλειδί από ολικά διατεταγμένο σύνολο Θέλουμε να υποστηρίξουμε δύο.
Ελαφρύτατες διαδρομές
ΗΜΥ 210: Λογικός Σχεδιασμός
Εξωτερική Αναζήτηση Ιεραρχία Μνήμης Υπολογιστή Εξωτερική Μνήμη
Δυναμικός Κατακερματισμός
Μεταγράφημα παρουσίασης:

Δυναμικά Σύνολα 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α στοιχεία του μεταβάλλονται μέσω εντολών εισαγωγής και διαγραφής Βασικές λειτουργίες αναζήτηση(S,k): εισαγωγή(S,x): διαγραφή(S,x): επιστρέφει το στοιχείο με κλειδί k αν υπάρχει στο S θέτει

Δυναμικά Σύνολα 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 θέτει

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

Πίνακες Διασποράς 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 θέτει Οι πίνακες διασποράς (κατακερματισμός) δίνουν μια αποδοτική λύση όταν θέλουμε να υποστηρίξουμε μόνο τις παραπάνω λειτουργίες

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

Πίνακες Διασποράς 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 = k = 38 x = k = 21 x = k = 38 - για αλφαριθμητικά με χαρακτήρες των 7 bit κάθε χαρακτήρας αντιστοιχεί σε ένα ακέραιο σε κωδικοποίηση ASCII έχουμε ‘a’ = 97, ‘b’ = 98, ‘c’ = 99, … κλπ char s[3] = “now” k =(110* * *128 0 ) mod 67 π.χ. για m = 67 = mod 67 = 63

Πίνακες Διασποράς 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 = k = 38 x = k = 21 x = k = 38 - για αλφαριθμητικά με χαρακτήρες των 7 bit κάθε χαρακτήρας αντιστοιχεί σε ένα ακέραιο σε κωδικοποίηση ASCII έχουμε ‘a’ = 97, ‘b’ = 98, ‘c’ = 99, … κλπ char s[4] = “have” π.χ. για m = 67 = mod 67 = 52 k = (104* * * *128 0 ) mod 67

Πίνακες Διασποράς 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 = mod 67 = 52 k = (104* * * *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) αν ο υπολογισμός γίνει με απλοϊκό τρόπο

για να αποφύγουμε το πρόβλημα της υπερχείλισης χρησιμοποιούμε τον αλγόριθμο του 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 = mod 67 = 52 k = (104* * * *128 0 ) mod * * * *128 0 = ((104* )* )*

Πίνακες Διασποράς 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* )* )* ) mod 67 = 52 int w = 128; int k = 0; for (i=0; i<n; i++){ k = (k*w + s[i]) % m; }

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

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

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

Πίνακες Διασποράς 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

Πίνακες Διασποράς 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 Σύμπτωση: για κλειδιά

Πίνακες Διασποράς 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 πρέπει να δίνει τυχαιόμορφη κατανομή

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

Πίνακες Διασποράς 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

Πίνακες Διασποράς 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])]

Πίνακες Διασποράς 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])]

Πίνακες Διασποράς 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])]

Πίνακες Διασποράς 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])]

Πίνακες Διασποράς 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 πλήθος των ενεργών κλειδιών

Πίνακες Διασποράς 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

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

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

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

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

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

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

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

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

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

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

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

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

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

Η συνάρτηση διασποράς αντιστοιχεί σε κάθε κλειδί μία ακολουθία από διευθύνσεις του πίνακα Τ βολιδοσκοπική ακολουθία Συνάρτηση Διασποράς μετάθεση του 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 μέχρι να βρει την πρώτη κενή θέση και τοποθετεί το αντικείμενο εκεί.

Η συνάρτηση διασποράς αντιστοιχεί σε κάθε κλειδί μία ακολουθία από διευθύνσεις του πίνακα Τ βολιδοσκοπική ακολουθία Συνάρτηση Διασποράς μετάθεση του 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 μέχρι να βρει την πρώτη κενή θέση και τοποθετεί το αντικείμενο εκεί.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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