Ισορροπημένα Δένδρα TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Μπορούμε να επιτύχουμε χρόνο εκτέλεσης για.

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 Μπορούμε να επιτύχουμε χρόνο εκτέλεσης για.
Δομές Αναζήτησης 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 Δένδρα στα οποία κάθε.
Δυαδικά Δένδρα Αναζήτησης, Δένδρα AVL
Συστήματα Αρίθμησης Αριθμοί σταθερής και κινητής υποδιαστολής.
Γραφήματα & Επίπεδα Γραφήματα
Διαίρει και Βασίλευε πρόβλημα μεγέθους Ν διάσπαση πρόβλημα μεγέθους Ν-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 Χειριζόμαστε ένα σύνολο στοιχείων όπου το κάθε.
Ανάλυση αλγορίθμων Παράμετροι απόδοσης ενός αλγόριθμου: Χρόνος εκτέλεσης Απαιτούμενοι πόροι, π.χ. μνήμη, επικοινωνία (π.χ. σε κατανεμημένα συστήματα) Προσπάθεια.
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 A A Μπορούμε να χρησιμοποιήσουμε την παραπάνω αναπαράσταση.
Δυναμικά Σύνολα 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 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 Μια εταιρεία παράγει κέικ δύο κατηγοριών,
Δομές Δεδομένων - Ισοζυγισμένα Δυαδικά Δένδρα (balanced binary trees)
Δομές Αναζήτησης 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 αβ ζ η ε γ θ Το γράφημα.
Διερεύνηση γραφήματος. Ένας αλγόριθμος διερεύνησης γραφήματος επισκέπτεται τους κόμβους του γραφήματος με μια καθορισμένη στρατηγική, π.χ. κατά εύρος.
ΕΠΛ 231 – Δομές Δεδομένων και Αλγόριθμοι 8-1 Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: 2-3 Δένδρα, Υλοποίηση και πράξεις Β-δένδρα B-Δένδρα.
Λίστες παράλειψης (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 Συνδυαστικό αντικείμενο που αποτελείται από.
ΕΠΛ 231 – Δομές Δεδομένων και Αλγόριθμοι
Μέγιστη ροή TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A AA A A Συνάρτηση χωρητικότητας Κατευθυνόμενο γράφημα.
ΕΠΛ 231 – Δομές Δεδομένων και Αλγόριθμοι13-1 Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Ο αλγόριθμος Dijkstra για εύρεση βραχυτέρων μονοπατιών.
Ελαφρύτατες διαδρομές 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)
Δομές Αναζήτησης Χειριζόμαστε ένα σύνολο στοιχείων όπου το κάθε στοιχείο έχει ένα κλειδί από ολικά διατεταγμένο σύνολο Θέλουμε να υποστηρίξουμε δύο.
Ελαφρύτατες διαδρομές
(2,4) Trees 11/15/2018 8:56 PM (2,4) Δέντρα (2,4) Δέντρα.
Εξωτερική Αναζήτηση Ιεραρχία Μνήμης Υπολογιστή Εξωτερική Μνήμη
Δυναμικός Κατακερματισμός
Μεταγράφημα παρουσίασης:

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

Node rotateRight(Node y) { Node x = y.left; y.left = x.right; x.right = y; return x; } Node rotateLeft(Node x) { Node y = x.right; x.right = y.left; y.left = x; return y; } Περιστροφές TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A x y α βγ x y α γ β αριστερή περιστροφή από το x δεξιά περιστροφή από το y Η περιστροφή παίρνει χρόνο Ο(1) αριστερή περιστροφήδεξιά περιστροφή

Περιστροφές TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A δεξιά περιστροφή από το 14

Ισορροπημένα Δένδρα TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Τυχαιοποιημένα δένδρα Αρθρωτά δένδρα (splay trees) (*) Δένδρα AVL Κοκκινόμαυρα δένδρα (a,b) δένδρα Μερικοί τύποι ισορροπημένων δένδρων Όλα τα παραπάνω χρησιμοποιούν περιστροφές για να παραμείνουν ισορροπημένα (*) Τα αρθρωτά δένδρα είναι ισορροπημένα κατά «αντισταθμιστική» έννοια

Αρθρωτά δένδρα (splay trees) TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Εκτελεί όλες τις πράξεις στη ρίζα του δένδρου. Χρησιμοποιεί ζεύγη περιστροφών καθώς μετακινεί ένα κλειδί στη ρίζα (λειτουργία splay ) για να φέρει το δένδρο σε μεγαλύτερη ισορροπία. DEMO :

Αρθρωτά δένδρα (splay trees) TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Εισαγωγή 1,2,3,4,5,6,7,8

Αρθρωτά δένδρα (splay trees) TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A splay(1)

Αρθρωτά δένδρα (splay trees) TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A splay(1) (συνέχεια)

Αρθρωτά δένδρα (splay trees) TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A splay(1) (συνέχεια)

Αρθρωτά δένδρα (splay trees) TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A x x A A y y z z B B C C D D Περίπτωση zig-zig: από τον παππού του x ακολουθούμε δύο αριστερούς ή δύο δεξιούς συνδέσμους για να πάμε στο x z z D D y y x x C C B B A A Εκτελεί όλες τις πράξεις στη ρίζα του δένδρου. Χρησιμοποιεί ζεύγη περιστροφών καθώς μετακινεί ένα κλειδί στη ρίζα (λειτουργία splay ) για να φέρει το δένδρο σε μεγαλύτερη ισορροπία. splay(x)

Αρθρωτά δένδρα (splay trees) TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A x x A A y y z z B B C C D D Περίπτωση zig-zig: από τον παππού του x ακολουθούμε δύο αριστερούς ή δύο δεξιούς συνδέσμους για να πάμε στο x. z z D D y y x x C C B B A A Εκτελεί όλες τις πράξεις στη ρίζα του δένδρου. Χρησιμοποιεί ζεύγη περιστροφών καθώς μετακινεί ένα κλειδί στη ρίζα (λειτουργία splay ) για να φέρει το δένδρο σε μεγαλύτερη ισορροπία. splay(x) x x A A y y z z B B C C D D 2 1 Προσοχή στη σειρά των περιστροφών!

Αρθρωτά δένδρα (splay trees) TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A x x B B y y z z C C A A D D z z D D y y x x C C B B A A Εκτελεί όλες τις πράξεις στη ρίζα του δένδρου. Χρησιμοποιεί ζεύγη περιστροφών καθώς μετακινεί ένα κλειδί στη ρίζα (λειτουργία splay ) για να φέρει το δένδρο σε μεγαλύτερη ισορροπία. Περίπτωση zig-zag: από τον παππού του x ακολουθούμε πρώτα έναν αριστερό και μετά ένα δεξιό σύνδεσμο ή πρώτα έναν δεξιό και μετά ένα αριστερό σύνδεσμο για να πάμε στο x splay(x)

Αρθρωτά δένδρα (splay trees) TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A x x B B y y z z C C A A D D z z D D y y x x C C B B A A Εκτελεί όλες τις πράξεις στη ρίζα του δένδρου. Χρησιμοποιεί ζεύγη περιστροφών καθώς μετακινεί ένα κλειδί στη ρίζα (λειτουργία splay ) για να φέρει το δένδρο σε μεγαλύτερη ισορροπία. Περίπτωση zig-zag: από τον παππού του x ακολουθούμε πρώτα έναν αριστερό και μετά ένα δεξιό σύνδεσμο ή πρώτα έναν δεξιό και μετά ένα αριστερό σύνδεσμο για να πάμε στο x splay(x) x x B B y y z z C C A A D D 1 2

Αρθρωτά δένδρα (splay trees) TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A x x A A y y B B C C Αν ο πατέρας του x είναι η ρίζα τότε εκτελούμε μια απλή περιστροφή y y x x C C B B A A Εκτελεί όλες τις πράξεις στη ρίζα του δένδρου. Χρησιμοποιεί ζεύγη περιστροφών καθώς μετακινεί ένα κλειδί στη ρίζα (λειτουργία splay ) για να φέρει το δένδρο σε μεγαλύτερη ισορροπία. splay(x)

Αρθρωτά δένδρα (splay trees) TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A splay(19) zig-zag

Αρθρωτά δένδρα (splay trees) TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A splay(19) (συνέχεια) μετά το zig-zag

Αρθρωτά δένδρα (splay trees) TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A splay(19) (συνέχεια)

Αρθρωτά δένδρα (splay trees) TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A splay(19) (συνέχεια) zig-zig

Αρθρωτά δένδρα (splay trees) TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A splay(19) (συνέχεια) μετά το zig-zig

Αρθρωτά δένδρα (splay trees) TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A splay(19) (συνέχεια)

Αρθρωτά δένδρα (splay trees) TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A splay(19) (συνέχεια) zig-zig

Αρθρωτά δένδρα (splay trees) TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A splay(19) (συνέχεια) 1010 μετά το zig-zig

Αρθρωτά δένδρα (splay trees) TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A splay(19) (συνέχεια) 1010

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

Αρθρωτά δένδρα (splay trees) TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Αναζήτηση splay

Αρθρωτά δένδρα (splay trees) TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Αναζήτηση

Αρθρωτά δένδρα (splay trees) TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Όλες οι λειτουργίες (αναζήτηση, εισαγωγή, διαγραφή) βασίζονται στη splay Εισαγωγή στοιχείου με κλειδί Εκτελούμε τα βήματα της εισαγωγής όπως στο απλό δυαδικό δένδρο. Έστω x ο νέος κόμβος που αποθηκεύει το στοιχείο με κλειδί Εκτελούμε splay(x)

Αρθρωτά δένδρα (splay trees) TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Εισαγωγή

Αρθρωτά δένδρα (splay trees) TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Εισαγωγή splay

Αρθρωτά δένδρα (splay trees) TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Εισαγωγή

Αρθρωτά δένδρα (splay trees) TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Όλες οι λειτουργίες (αναζήτηση, εισαγωγή, διαγραφή) βασίζονται στη splay Διαγραφή κόμβου x Εκτελούμε τα βήματα της εισαγωγής όπως στο απλό δυαδικό δένδρο. Έστω z ο κόμβος που διαγράφεται. (Αν ο x έχει κενό παιδί τότε z=x, διαφορετικά o z είναι ο διάδοχος του x.) Έστω w ο γονέας του z. Εκτελούμε splay(w)

Αρθρωτά δένδρα (splay trees) TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Διαγραφή x 1010 x w z

Αρθρωτά δένδρα (splay trees) TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Διαγραφή x 1010 w z

Αρθρωτά δένδρα (splay trees) TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Διαγραφή x 1010 w

Αρθρωτά δένδρα (splay trees) TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Διαγραφή x 1010 wsplay(w)

Αρθρωτά δένδρα (splay trees) TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Διαγραφή x 1010 w

Αρθρωτά δένδρα (splay trees) TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A αντισταθμιστικός χρόνος ανά λειτουργία Έστω ο αριθμός των λειτουργιών που γίνονται στο κλειδί (δηλαδή ο αριθμός προσπελάσεων του κλειδιού ). Τότε ο συνολικός χρόνος εκτέλεσης όλων των λειτουργιών είναι Ιδιότητες Έστω ότι εκτελούμε λειτουργίες σε αρχικά κενό αρθρωτό δένδρο, όπου κάθε λειτουργία είναι αναζήτηση, εισαγωγή ή διαγραφή. Έστω ο συνολικός αριθμός εισαγωγών. Τότε ισχύουν οι παρακάτω ιδιότητες : Ο συνολικός χρόνος εκτέλεσης όλων των λειτουργιών είναι

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

Αντισταθμιστική ανάλυση → Το κόστος μίας πράξης στη χειρότερη περίπτωση μπορεί να είναι πολύ μεγάλο. → Κάθε πράξη μπορεί να έχει διαφορετικό κόστος ανάλογα με την στιγμή που εκτελείται. → Αλλά το μέσο κόστος ανά πράξη σε οποιαδήποτε ακολουθία πράξεων μπορεί να είναι αρκετά μικρότερο. Κατά τη διάρκεια εκτέλεσης του Α η Δ πραγματοποιεί μία ακολουθία από πράξεις. Θεωρήστε έναν αλγόριθμο Α που χρησιμοποιεί μια δομή δεδομένων Δ : Ωστόσο σε κάποιες περιπτώσεις: Έστω το κόστος μίας πράξης στη χειρότερη περίπτωση για n αντικείμενα. Τότε ο συνολικός χρόνος για m πράξεις είναι

Αντισταθμιστική ανάλυση → Το κόστος μίας πράξης στη χειρότερη περίπτωση μπορεί να είναι πολύ μεγάλο. → Κάθε πράξη μπορεί να έχει διαφορετικό κόστος ανάλογα με την στιγμή που εκτελείται. → Αλλά το μέσο κόστος ανά πράξη σε οποιαδήποτε ακολουθία πράξεων μπορεί να είναι αρκετά μικρότερο. Κατά τη διάρκεια εκτέλεσης του Α η Δ πραγματοποιεί μία ακολουθία από πράξεις. Θεωρήστε έναν αλγόριθμο Α που χρησιμοποιεί μια δομή δεδομένων Δ : Ωστόσο σε κάποιες περιπτώσεις: Αντισταθμιστική ανάλυση: λαμβάνουμε το μέσο κόστος εκτέλεσης μίας πράξης όταν εκτελούμε μία ακολουθία πράξεων χειρότερης περίπτωσης Έστω το κόστος μίας πράξης στη χειρότερη περίπτωση για n αντικείμενα. Τότε ο συνολικός χρόνος για m πράξεις είναι

Αντισταθμιστική ανάλυση push(S,x) : τοποθετεί το x στην κορυφή της στοίβας S x Διαχείριση στοίβας

Αντισταθμιστική ανάλυση push(S,x) : τοποθετεί το x στην κορυφή της στοίβας S pop(S) : αφαιρεί από τη στοίβα S το στοιχείο στην κορυφή της Διαχείριση στοίβας

Αντισταθμιστική ανάλυση push(S,x) : τοποθετεί το x στην κορυφή της στοίβας S pop(S) : αφαιρεί από τη στοίβα S το στοιχείο στην κορυφή της k=2 Διαχείριση στοίβας multiPop(S,k) : αφαιρεί από τη στοίβα S τα k πρώτα στοιχεία στην κορυφή της

Αντισταθμιστική ανάλυση push(S,x) : τοποθετεί το x στην κορυφή της στοίβας S pop(S) : αφαιρεί από τη στοίβα S το στοιχείο στην κορυφή της χρόνος multiPop(S,k) : αφαιρεί από τη στοίβα S τα k πρώτα στοιχεία στην κορυφή της Διαχείριση στοίβας

Αντισταθμιστική ανάλυση push(S,x) : τοποθετεί το x στην κορυφή της στοίβας S pop(S) : αφαιρεί από τη στοίβα S το στοιχείο στην κορυφή της multiPop(S,k) : αφαιρεί από τη στοίβα S τα k πρώτα στοιχεία στην κορυφή της χρόνος Ποιος είναι ο συνολικός χρόνος για μία ακολουθία από Ν πράξεις;; Διαχείριση στοίβας

Αντισταθμιστική ανάλυση push(S,x) : τοποθετεί το x στην κορυφή της στοίβας S pop(S) : αφαιρεί από τη στοίβα S το στοιχείο στην κορυφή της χρόνος Συνολικός χρόνοςανά πράξη Ποιος είναι ο συνολικός χρόνος για μία ακολουθία από Ν πράξεις;; Διαχείριση στοίβας Πιο προσεκτική ανάλυση : multiPop(S,k) : αφαιρεί από τη στοίβα S τα k πρώτα στοιχεία στην κορυφή της

Αντισταθμιστική ανάλυση Έστω ένας μετρητής C με k bits : μια πράξη επαύξησης θέτει Κόστος επαύξησης = αριθμός των bits που αλλάζουν Επαύξηση δυαδικού μετρητή

Αντισταθμιστική ανάλυση Έστω ένας μετρητής C με k bits : μια πράξη επαύξησης θέτει επαύξηση Κόστος επαύξησης = αριθμός των bits που αλλάζουν κόστος = 1 Επαύξηση δυαδικού μετρητή

Αντισταθμιστική ανάλυση Έστω ένας μετρητής C με k bits : μια πράξη επαύξησης θέτει επαύξηση Κόστος επαύξησης = αριθμός των bits που αλλάζουν κόστος = 5 Επαύξηση δυαδικού μετρητή

Αντισταθμιστική ανάλυση Έστω ένας μετρητής C με k bits : μια πράξη επαύξησης θέτει επαύξηση Κόστος επαύξησης = αριθμός των bits που αλλάζουν κόστος = 8 χειρότερη περίπτωση! Επαύξηση δυαδικού μετρητή

Αντισταθμιστική ανάλυση Έστω ένας μετρητής C με k bits : μια πράξη επαύξησης θέτει Κόστος επαύξησης = αριθμός των bits που αλλάζουν = στη χειρότερη περίπτωση Συνολικό κόστος για N επαυξήσεις = Επαύξηση δυαδικού μετρητή

Αντισταθμιστική ανάλυση Έστω ένας μετρητής C με k bits : μια πράξη επαύξησης θέτει Κόστος επαύξησης = αριθμός των bits που αλλάζουν = στη χειρότερη περίπτωση Συνολικό κόστος για N επαυξήσεις = Βελτιωμένη ανάλυση : συνολικό κόστος = Δηλαδή αντισταθμιστικό κόστος ανά πράξη = (κατά μέσο όρο σταθερό κόστος ανά επαύξηση) Επαύξηση δυαδικού μετρητή

Αντισταθμιστική ανάλυση Έστω ένας μετρητής C με k bits : μια πράξη επαύξησης θέτει Κόστος επαύξησης = αριθμός των bits που αλλάζουν = στη χειρότερη περίπτωση Συνολικό κόστος για N επαυξήσεις = Βελτιωμένη ανάλυση : συνολικό κόστος = Δηλαδή αντισταθμιστικό κόστος ανά πράξη = (κατά μέσο όρο σταθερό κόστος ανά επαύξηση) Ξεκινώντας με μηδενισμένο μετρητή Επαύξηση δυαδικού μετρητή

Αντισταθμιστική ανάλυση Έστω ένας μετρητής C με k bits : μια πράξη επαύξησης θέτει Επαύξηση δυαδικού μετρητή

Αντισταθμιστική ανάλυση Έστω ένας μετρητής C με k bits : μια πράξη επαύξησης θέτει ο ψηφίο από το τέλος: αλλάζει με κάθε επαύξηση Επαύξηση δυαδικού μετρητή

Αντισταθμιστική ανάλυση Έστω ένας μετρητής C με k bits : μια πράξη επαύξησης θέτει 2 ο ψηφίο από το τέλος: αλλάζει με κάθε δεύτερη επαύξηση Επαύξηση δυαδικού μετρητή

Αντισταθμιστική ανάλυση Έστω ένας μετρητής C με k bits : μια πράξη επαύξησης θέτει 3 ο ψηφίο από το τέλος: αλλάζει με κάθε τέταρτη επαύξηση Επαύξηση δυαδικού μετρητή

Αντισταθμιστική ανάλυση Έστω ένας μετρητής C με k bits : μια πράξη επαύξησης θέτει 4 ο ψηφίο από το τέλος: αλλάζει με κάθε όγδοη επαύξηση Επαύξηση δυαδικού μετρητή

Αντισταθμιστική ανάλυση Έστω ένας μετρητής C με k bits : μια πράξη επαύξησης θέτει Γενικά το i-οστό ψηφίο από το τέλος αλλάζει μετά από επαυξήσεις. Σε ακολουθία N πράξεων το i-οστό ψηφίο από το τέλος αλλάζει συνολικά φορές Σύνολο αλλαγών για όλα τα ψηφία = Επαύξηση δυαδικού μετρητή

Αντισταθμιστική ανάλυση Έστω ένας μετρητής C με k bits : μια πράξη επαύξησης θέτει Γενικά το i-οστό ψηφίο από το τέλος αλλάζει μετά από επαυξήσεις. Σε ακολουθία N πράξεων το i-οστό ψηφίο από το τέλος αλλάζει συνολικά φορές Σύνολο αλλαγών για όλα τα ψηφία = Επαύξηση δυαδικού μετρητή

Αντισταθμιστική ανάλυση Επαύξηση δυαδικού μετρητή Έστω ένας μετρητής C με k bits : μια πράξη επαύξησης θέτει Γενικά το i-οστό ψηφίο από το τέλος αλλάζει μετά από επαυξήσεις. Σε ακολουθία N πράξεων το i-οστό ψηφίο από το τέλος αλλάζει συνολικά φορές Σύνολο αλλαγών για όλα τα ψηφία = Αντισταθμιστικό κόστος ανά πράξη =

Αντισταθμιστική ανάλυση Ενεργειακή μέθοδος → Αποδίδουμε στη δομή δεδομένων ένα δυναμικό («δυναμική ενέργεια»). δυναμικό δομής δεδομένων D όπου → Έστω η αρχική δομή δεδομένων και η δομή μετά την i-οστη πράξη. Επίσης, έστω το κόστος της i-οστής πράξης. Αντισταθμιστικό κόστος i-οστής πράξης : Συνολικό αντισταθμιστικό κόστος για N πράξεις : → Θέλουμε έτσι ώστε

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

Αντισταθμιστική ανάλυση Συνολικό αντισταθμιστικό κόστος για N πράξεις : Θέλουμε έτσι ώστε Προσοχή: Επειδή μπορεί να μη γνωρίζουμε το πλήθος των πράξεων Ν απαιτούμε να ισχύει για κάθε i=1,2,…,N Ενεργειακή μέθοδος

Αντισταθμιστική ανάλυση Παράδειγμα: Διαχείριση στοίβας Επιλέγουμε αριθμός αντικειμένων στη στοίβα S Για αρχικά κενή στοίβα έχουμε για κάθε i=1,2,…,N Επομένως το συνολικό αντισταθμιστικό κόστος αποτελεί άνω φράγμα του συνολικού πραγματικού κόστους. για κάθε i=1,2,…,N Ενεργειακή μέθοδος

Αντισταθμιστική ανάλυση Παράδειγμα: Διαχείριση στοίβας Επιλέγουμε αριθμός αντικειμένων στη στοίβα S push(S,x) : τοποθετεί το x στην κορυφή της στοίβας S Μένει να υπολογίσουμε το αντισταθμιστικό κόστος για κάθε τύπο πράξης Έστω ότι η i-οστή πράξη είναι τύπου push : Έχουμε και, επομένως Ενεργειακή μέθοδος

Αντισταθμιστική ανάλυση Παράδειγμα: Διαχείριση στοίβας Επιλέγουμε αριθμός αντικειμένων στη στοίβα S Μένει να υπολογίσουμε το αντισταθμιστικό κόστος για κάθε τύπο πράξης Έστω ότι η i-οστή πράξη είναι τύπου pop : Έχουμε και, επομένως pop(S) : αφαιρεί από τη στοίβα S το στοιχείο στην κορυφή της Ενεργειακή μέθοδος

Αντισταθμιστική ανάλυση Παράδειγμα: Διαχείριση στοίβας Επιλέγουμε αριθμός αντικειμένων στη στοίβα S Μένει να υπολογίσουμε το αντισταθμιστικό κόστος για κάθε τύπο πράξης Έστω ότι η i-οστή πράξη είναι τύπου multiPop : Έχουμε και,, επομένως multiPop(S,k) : αφαιρεί από τη στοίβα S τα πρώτα k στοιχεία στην κορυφή της Ενεργειακή μέθοδος

Αρθρωτά δένδρα (splay trees) TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Ιδιότητα: Σε ένα αρθρωτό δένδρο με κόμβους η λειτουργία splay εκτελείται σε αντισταθμιστικό χρόνο

Αρθρωτά δένδρα (splay trees) TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Ιδιότητα: Σε ένα αρθρωτό δένδρο με κόμβους η λειτουργία splay εκτελείται σε αντισταθμιστικό χρόνο e e d d b b a a c c i i f f g g h h j j Θα χρησιμοποιήσουμε την ενεργειακή μέθοδο. Έστω το πλήθος των απογόνων του κόμβου στο αρθρωτό δένδρο. Ορίζουμε την «τάξη» του ως

Αρθρωτά δένδρα (splay trees) TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Ιδιότητα: Σε ένα αρθρωτό δένδρο με κόμβους η λειτουργία splay εκτελείται σε αντισταθμιστικό χρόνο e e d d b b a a c c i i f f g g h h j j Θα χρησιμοποιήσουμε την ενεργειακή μέθοδο. Έστω το πλήθος των απογόνων του κόμβου στο αρθρωτό δένδρο. Ορίζουμε την «τάξη» του ως

Αρθρωτά δένδρα (splay trees) TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Ιδιότητα: Σε ένα αρθρωτό δένδρο με κόμβους η λειτουργία splay εκτελείται σε αντισταθμιστικό χρόνο e e d d b b a a c c i i f f g g h h j j Θα χρησιμοποιήσουμε την ενεργειακή μέθοδο. Έστω το πλήθος των απογόνων του κόμβου στο αρθρωτό δένδρο. Ορίζουμε την «τάξη» του ως Δυναμικό δένδρου

Αρθρωτά δένδρα (splay trees) TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Ιδιότητα: Σε ένα αρθρωτό δένδρο με κόμβους η λειτουργία splay εκτελείται σε αντισταθμιστικό χρόνο Θα χρησιμοποιήσουμε την ενεργειακή μέθοδο. Έστω το πλήθος των απογόνων του κόμβου στο αρθρωτό δένδρο. Ορίζουμε την «τάξη» του ως Δυναμικό δένδρου : Αναλύουμε την επίδραση του κάθε βήματος περιστροφών στο δυναμικό του δένδρου Παρατηρούμε ότι σε κάθε περίπτωση αλλάζει η τάξη δύο ή τριών κόμβων ( και ) x x B B y y z z C C A A D D x x A A y y z z B B C C D D x x A A y y B B C C

Αρθρωτά δένδρα (splay trees) TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Ιδιότητα: Σε ένα αρθρωτό δένδρο με κόμβους η λειτουργία splay εκτελείται σε αντισταθμιστικό χρόνο Θα χρησιμοποιήσουμε την ενεργειακή μέθοδο. Έστω το πλήθος των απογόνων του κόμβου στο αρθρωτό δένδρο. Ορίζουμε την «τάξη» του ως Δυναμικό δένδρου : Ας αναλύσουμε την περίπτωση zig-zig x x A A y y z z B B C C D D z z D D y y x x C C B B A A Έστω και οι τιμές μετά τη διπλή περιστροφή Ισχύουν και

Αρθρωτά δένδρα (splay trees) TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Ιδιότητα: Σε ένα αρθρωτό δένδρο με κόμβους η λειτουργία splay εκτελείται σε αντισταθμιστικό χρόνο Ας αναλύσουμε την περίπτωση zig-zig x x A A y y z z B B C C D D z z D D y y x x C C B B A A Ισχύουν και

Αρθρωτά δένδρα (splay trees) TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Ιδιότητα: Σε ένα αρθρωτό δένδρο με κόμβους η λειτουργία splay εκτελείται σε αντισταθμιστικό χρόνο Ας αναλύσουμε την περίπτωση zig-zig x x A A y y z z B B C C D D z z D D y y x x C C B B A A Ισχύουν και Επιπλέον

Αρθρωτά δένδρα (splay trees) TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Ιδιότητα: Σε ένα αρθρωτό δένδρο με κόμβους η λειτουργία splay εκτελείται σε αντισταθμιστικό χρόνο Ας αναλύσουμε την περίπτωση zig-zig x x A A y y z z B B C C D D z z D D y y x x C C B B A A Ισχύουν και Επιπλέον

Αρθρωτά δένδρα (splay trees) TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Ιδιότητα: Σε ένα αρθρωτό δένδρο με κόμβους η λειτουργία splay εκτελείται σε αντισταθμιστικό χρόνο Ας αναλύσουμε την περίπτωση zig-zig x x A A y y z z B B C C D D z z D D y y x x C C B B A A Ισχύουν και

Αρθρωτά δένδρα (splay trees) TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Ιδιότητα: Σε ένα αρθρωτό δένδρο με κόμβους η λειτουργία splay εκτελείται σε αντισταθμιστικό χρόνο Ας αναλύσουμε την περίπτωση zig-zig x x A A y y z z B B C C D D z z D D y y x x C C B B A A Άρα Πραγματικό κόστος περιστροφών Αντισταθμιστικό κόστος περιστροφών

Αρθρωτά δένδρα (splay trees) TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Ιδιότητα: Σε ένα αρθρωτό δένδρο με κόμβους η λειτουργία splay εκτελείται σε αντισταθμιστικό χρόνο Ομοίως αναλύεται η περίπτωση zig-zag Άρα Πραγματικό κόστος περιστροφών Αντισταθμιστικό κόστος περιστροφών x x B B y y z z C C A A D D z z D D y y x x C C B B A A

Αρθρωτά δένδρα (splay trees) TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Ιδιότητα: Σε ένα αρθρωτό δένδρο με κόμβους η λειτουργία splay εκτελείται σε αντισταθμιστικό χρόνο Τερματική περίπτωση x x A A y y B B C C y y x x C C B B A A Ισχύουν και

Αρθρωτά δένδρα (splay trees) TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Ιδιότητα: Σε ένα αρθρωτό δένδρο με κόμβους η λειτουργία splay εκτελείται σε αντισταθμιστικό χρόνο Τερματική περίπτωση x x A A y y B B C C y y x x C C B B A A Ισχύουν και

Αρθρωτά δένδρα (splay trees) TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Ιδιότητα: Σε ένα αρθρωτό δένδρο με κόμβους η λειτουργία splay εκτελείται σε αντισταθμιστικό χρόνο Τερματική περίπτωση x x A A y y B B C C y y x x C C B B A A Άρα Πραγματικό κόστος περιστροφών Αντισταθμιστικό κόστος περιστροφών

Αρθρωτά δένδρα (splay trees) TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Ιδιότητα: Σε ένα αρθρωτό δένδρο με κόμβους η λειτουργία splay εκτελείται σε αντισταθμιστικό χρόνο Έστω λοιπόν ότι η λειτουργιά splay πραγματοποιείται σε βήματα Έστω και οι τιμές μετά τo i -οστό βήμα Το συνολικό αντισταθμιστικό κόστος είναι

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

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

Αρθρωτά δένδρα (splay trees) TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Έστω ένα σταθερό κλειδί. Τότε, ο συνολικός χρόνος εκτέλεσης μιας ακολουθίας προσπελάσεων είναι όπου η απόσταση των κλειδιών και στη διατεταγμένη ακολουθία των κλειδιών του αρθρωτού δένδρου. Λήμμα Στατικού Σελιδοδείκτη Συνεπάγεται από το λήμμα προσπέλασης θέτοντας για το βάρος του κλειδιού. Τότε και ο αντισταθμιστικός χρόνος της j-οστής προσπέλασης είναι Η συνολική μεταβολή του δυναμικού της δομής είναι

Αρθρωτά δένδρα (splay trees) TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Έστω μια ακολουθία προσπελάσεων. Έστω ο αριθμός των διαφορετικών κλειδιών που προσπελάστηκαν πριν την j-οστή προσπέλαση μέχρι την τελευταία προσπέλαση του. Τότε, ο συνολικός χρόνος εκτέλεσης της ακολουθίας προσπελάσεων είναι Λήμμα Συνόλου Εργασίας Δίνουμε τα βάρη στα κλειδιά με τη σειρά ως προς την πρώτη προσπέλαση τους. (Το κλειδί που προσπελάστηκε πρώτο λαμβάνει το μεγαλύτερο βάρος.) Μετά την j-οστή προσπέλαση αλλάζουμε την κατανομή βαρών ως εξής: Έστω το βάρος του κατά την j-οστή προσπέλαση. Μετά την προσπέλαση δίνουμε στο βάρος 1, και σε κάθε κλειδί με βάρος, όπου, ορίζουμε το νέο βάρος του ως. Άρα, κατά την j-οστή προσπέλαση έχουμε