Αντισταθμιστική ανάλυση
|
|
- Φοῖνιξ Κυπραίος
- 7 χρόνια πριν
- Προβολές:
Transcript
1 Αντισταθμιστική ανάλυση Θεωρήστε έναν αλγόριθμο Α που χρησιμοποιεί μια δομή δεδομένων Δ : Κατά τη διάρκεια εκτέλεσης του Α η Δ πραγματοποιεί μία ακολουθία από πράξεις. Παράδειγμα: Θυμηθείτε το πρόβλημα της εύρεσης-ένωσης Είχαμε δει τη δομή «σταθμισμένης ένωσης με συμπίεση διαδρομής» ένωση(3,6) εύρεση(2)
2 Αντισταθμιστική ανάλυση Θεωρήστε έναν αλγόριθμο Α που χρησιμοποιεί μια δομή δεδομένων Δ : Κατά τη διάρκεια εκτέλεσης του Α η Δ πραγματοποιεί μία ακολουθία από πράξεις. Παράδειγμα: Θυμηθείτε το πρόβλημα της εύρεσης-ένωσης Είχαμε δει τη δομή «σταθμισμένης ένωσης με συμπίεση διαδρομής» Χρόνος χειρότερης περίπτωσης για μία πράξη εύρεσης ή ένωσης = ύψος
3 Αντισταθμιστική ανάλυση Θεωρήστε έναν αλγόριθμο Α που χρησιμοποιεί μια δομή δεδομένων Δ : Κατά τη διάρκεια εκτέλεσης του Α η Δ πραγματοποιεί μία ακολουθία από πράξεις. Παράδειγμα: Θυμηθείτε το πρόβλημα της εύρεσης-ένωσης Είχαμε δει τη δομή «σταθμισμένης ένωσης με συμπίεση διαδρομής» Χρόνος χειρότερης περίπτωσης για μία πράξη εύρεσης ή ένωσης = Αλλά : Συνολικός χρόνος εκτέλεσης m πράξεων εύρεσης-ένωσης = Μέσος χρόνος εκτέλεσης για μία πράξη εύρεσης ή ένωσης =
4 Συνάρτηση Ackerman Η συνάρτηση Ackerman ορίζεται ως εξής Η συνάρτηση είναι αντίστροφη της αυξάνει με πάρα πολύ αργό ρυθμό! Π.χ. για
5 Αντισταθμιστική ανάλυση Θεωρήστε έναν αλγόριθμο Α που χρησιμοποιεί μια δομή δεδομένων Δ : Κατά τη διάρκεια εκτέλεσης του Α η Δ πραγματοποιεί μία ακολουθία από πράξεις. Έστω το κόστος μίας πράξης στη χειρότερη περίπτωση Τότε ο συνολικός χρόνος για πράξεις είναι
6 Αντισταθμιστική ανάλυση Θεωρήστε έναν αλγόριθμο Α που χρησιμοποιεί μια δομή δεδομένων Δ : Κατά τη διάρκεια εκτέλεσης του Α η Δ πραγματοποιεί μία ακολουθία από πράξεις. Έστω το κόστος μίας πράξης στη χειρότερη περίπτωση Τότε ο συνολικός χρόνος για Ωστόσο σε κάποιες περιπτώσεις: πράξεις είναι Κάθε πράξη μπορεί να έχει διαφορετικό κόστος ανάλογα με την στιγμή που εκτελείται. Το κόστος μίας πράξης στη χειρότερη περίπτωση μπορεί να είναι πολύ μεγάλο. Αλλά το μέσο κόστος ανά πράξη σε οποιαδήποτε ακολουθία πράξεων μπορεί να είναι αρκετά μικρότερο.
7 Αντισταθμιστική ανάλυση Θεωρήστε έναν αλγόριθμο Α που χρησιμοποιεί μια δομή δεδομένων Δ : Κατά τη διάρκεια εκτέλεσης του Α η Δ πραγματοποιεί μία ακολουθία από πράξεις. Έστω το κόστος μίας πράξης στη χειρότερη περίπτωση Τότε ο συνολικός χρόνος για Ωστόσο σε κάποιες περιπτώσεις: πράξεις είναι Κάθε πράξη μπορεί να έχει διαφορετικό κόστος ανάλογα με την στιγμή που εκτελείται. Το κόστος μίας πράξης στη χειρότερη περίπτωση μπορεί να είναι πολύ μεγάλο. Αλλά το μέσο κόστος ανά πράξη σε οποιαδήποτε ακολουθία πράξεων μπορεί να είναι αρκετά μικρότερο. Αντισταθμιστική ανάλυση: λαμβάνουμε το μέσο κόστος εκτέλεσης μίας πράξης όταν εκτελούμε μία ακολουθία πράξεων χειρότερης περίπτωσης
8 Αντισταθμιστική ανάλυση Απλά παραδείγματα: Διαχείριση στοίβας x push(s,x) : τοποθετεί το x στην κορυφή της στοίβας S
9 Αντισταθμιστική ανάλυση Απλά παραδείγματα: Διαχείριση στοίβας push(s,x) : τοποθετεί το x στην κορυφή της στοίβας S pop(s) : αφαιρεί από τη στοίβα S το στοιχείο στην κορυφή της
10 Αντισταθμιστική ανάλυση Απλά παραδείγματα: Διαχείριση στοίβας push(s,x) : τοποθετεί το x στην κορυφή της στοίβας S pop(s) : αφαιρεί από τη στοίβα S το στοιχείο στην κορυφή της multipop(s,k) : αφαιρεί από τη στοίβα S τα k πρώτα στοιχεία στην κορυφή της k=2
11 Αντισταθμιστική ανάλυση Απλά παραδείγματα: Διαχείριση στοίβας χρόνος push(s,x) : τοποθετεί το x στην κορυφή της στοίβας S pop(s) : αφαιρεί από τη στοίβα S το στοιχείο στην κορυφή της multipop(s,k) : αφαιρεί από τη στοίβα S τα k πρώτα στοιχεία στην κορυφή της
12 Αντισταθμιστική ανάλυση Απλά παραδείγματα: Διαχείριση στοίβας χρόνος push(s,x) : τοποθετεί το x στην κορυφή της στοίβας S pop(s) : αφαιρεί από τη στοίβα S το στοιχείο στην κορυφή της multipop(s,k) : αφαιρεί από τη στοίβα S τα k πρώτα στοιχεία στην κορυφή της Ποιος είναι ο συνολικός χρόνος για μία ακολουθία από Ν πράξεις; ;
13 Αντισταθμιστική ανάλυση Απλά παραδείγματα: Διαχείριση στοίβας χρόνος push(s,x) : τοποθετεί το x στην κορυφή της στοίβας S pop(s) : αφαιρεί από τη στοίβα S το στοιχείο στην κορυφή της multipop(s,k) : αφαιρεί από τη στοίβα S τα k πρώτα στοιχεία στην κορυφή της Ποιος είναι ο συνολικός χρόνος για μία ακολουθία από Ν πράξεις; ; Πιο προσεκτική ανάλυση : Συνολικός χρόνος ανά πράξη
14 Αντισταθμιστική ανάλυση Απλά παραδείγματα: Επαύξηση δυαδικού μετρητή Έστω ένας μετρητής C με k bits : μια πράξη επαύξησης θέτει Κόστος επαύξησης = αριθμός των bits που αλλάζουν
15 Αντισταθμιστική ανάλυση Απλά παραδείγματα: Επαύξηση δυαδικού μετρητή Έστω ένας μετρητής C με k bits : μια πράξη επαύξησης θέτει Κόστος επαύξησης = αριθμός των bits που αλλάζουν επαύξηση κόστος = 1 1
16 Αντισταθμιστική ανάλυση Απλά παραδείγματα: Επαύξηση δυαδικού μετρητή Έστω ένας μετρητής C με k bits : μια πράξη επαύξησης θέτει Κόστος επαύξησης = αριθμός των bits που αλλάζουν επαύξηση κόστος = 5 1 1
17 Αντισταθμιστική ανάλυση Απλά παραδείγματα: Επαύξηση δυαδικού μετρητή Έστω ένας μετρητής C με k bits : μια πράξη επαύξησης θέτει Κόστος επαύξησης = αριθμός των bits που αλλάζουν επαύξηση κόστος = 8 χειρότερη περίπτωση!
18 Αντισταθμιστική ανάλυση Απλά παραδείγματα: Επαύξηση δυαδικού μετρητή Έστω ένας μετρητής C με k bits : μια πράξη επαύξησης θέτει Κόστος επαύξησης = αριθμός των bits που αλλάζουν = στη χειρότερη περίπτωση Συνολικό κόστος για N επαυξήσεις =
19 Αντισταθμιστική ανάλυση Απλά παραδείγματα: Επαύξηση δυαδικού μετρητή Έστω ένας μετρητής C με k bits : μια πράξη επαύξησης θέτει Κόστος επαύξησης = αριθμός των bits που αλλάζουν = στη χειρότερη περίπτωση Συνολικό κόστος για N επαυξήσεις = Βελτιωμένη ανάλυση : συνολικό κόστος = Δηλαδή αντισταθμιστικό κόστος ανά πράξη = (κατά μέσο όρο σταθερό κόστος ανά επαύξηση)
20 Αντισταθμιστική ανάλυση Απλά παραδείγματα: Επαύξηση δυαδικού μετρητή Έστω ένας μετρητής C με k bits : μια πράξη επαύξησης θέτει Κόστος επαύξησης = αριθμός των bits που αλλάζουν = στη χειρότερη περίπτωση Συνολικό κόστος για N επαυξήσεις = Βελτιωμένη ανάλυση : συνολικό κόστος = Δηλαδή αντισταθμιστικό κόστος ανά πράξη = (κατά μέσο όρο σταθερό κόστος ανά επαύξηση) Ξεκινώντας με μηδενισμένο μετρητή
21 Αντισταθμιστική ανάλυση Απλά παραδείγματα: Επαύξηση δυαδικού μετρητή Έστω ένας μετρητής C με k bits : μια πράξη επαύξησης θέτει
22 Αντισταθμιστική ανάλυση Απλά παραδείγματα: Επαύξηση δυαδικού μετρητή Έστω ένας μετρητής C με k bits : μια πράξη επαύξησης θέτει ο ψηφίο από το τέλος: αλλάζει με κάθε επαύξηση
23 Αντισταθμιστική ανάλυση Απλά παραδείγματα: Επαύξηση δυαδικού μετρητή Έστω ένας μετρητής C με k bits : μια πράξη επαύξησης θέτει ο ψηφίο από το τέλος: αλλάζει με κάθε δεύτερη επαύξηση
24 Αντισταθμιστική ανάλυση Απλά παραδείγματα: Επαύξηση δυαδικού μετρητή Έστω ένας μετρητής C με k bits : μια πράξη επαύξησης θέτει ο ψηφίο από το τέλος: αλλάζει με κάθε τέταρτη επαύξηση
25 Αντισταθμιστική ανάλυση Απλά παραδείγματα: Επαύξηση δυαδικού μετρητή Έστω ένας μετρητής C με k bits : μια πράξη επαύξησης θέτει ο ψηφίο από το τέλος: αλλάζει με κάθε όγδοη επαύξηση
26 Αντισταθμιστική ανάλυση Απλά παραδείγματα: Επαύξηση δυαδικού μετρητή Έστω ένας μετρητής C με k bits : μια πράξη επαύξησης θέτει Γενικά το i-οστό ψηφίο από το τέλος αλλάζει μετά από επαυξήσεις. Σε ακολουθία N πράξεων το i-οστό ψηφίο από το τέλος αλλάζει συνολικά φορές Σύνολο αλλαγών για όλα τα ψηφία =
27 Αντισταθμιστική ανάλυση Απλά παραδείγματα: Επαύξηση δυαδικού μετρητή Έστω ένας μετρητής C με k bits : μια πράξη επαύξησης θέτει Γενικά το i-οστό ψηφίο από το τέλος αλλάζει μετά από επαυξήσεις. Σε ακολουθία N πράξεων το i-οστό ψηφίο από το τέλος αλλάζει συνολικά φορές Σύνολο αλλαγών για όλα τα ψηφία =
28 Αντισταθμιστική ανάλυση Απλά παραδείγματα: Επαύξηση δυαδικού μετρητή Έστω ένας μετρητής C με k bits : μια πράξη επαύξησης θέτει Γενικά το i-οστό ψηφίο από το τέλος αλλάζει μετά από επαυξήσεις. Σε ακολουθία N πράξεων το i-οστό ψηφίο από το τέλος αλλάζει συνολικά φορές Σύνολο αλλαγών για όλα τα ψηφία = Αντισταθμιστικό κόστος ανά πράξη =
29 Αντισταθμιστική ανάλυση Μέθοδοι Αντισταθμιστικής Ανάλυσης Αθροιστική μέθοδος Χρεωπιστωτική μέθοδος Ενεργειακή μέθοδος
30 Αντισταθμιστική ανάλυση Μέθοδοι Αντισταθμιστικής Ανάλυσης Αθροιστική μέθοδος Χρεωπιστωτική μέθοδος Ενεργειακή μέθοδος Σε αντίθεση με την αθροιστική μέθοδο η χρεωπιστωτική και η ενεργειακή μέθοδος μπορούν να αποδώσουν διαφορετικό αντισταθμιστικό κόστος σε διαφορετικούς τύπους πράξεων.
31 Αντισταθμιστική ανάλυση Χρεωπιστωτική μέθοδος (Η μέθοδος του τραπεζίτη) Αποδίδουμε σε κάθε πράξη ένα αριθμό από πιστώσεις. Οι πιστώσεις χρησιμοποιούνται για να αποπληρωθούν οι πράξεις: - Όταν μια πράξη κοστίζει λιγότερο από την αντίστοιχη πίστωση τότε το υπόλοιπο αποθηκεύεται σε κάποια αντικείμενα της δομής. - Όταν μια πράξη κοστίζει περισσότερο από την αντίστοιχη πίστωση τότε η υπολειπόμενη χρέωση καλύπτεται από αποθηκευμένες πιστώσεις. Αν οι πιστώσεις που αποδώσαμε στις πράξεις αρκούν για να αποπληρώσουν οποιαδήποτε ακολουθία πράξεων τότε το αντισταθμιστικό κόστος μιας πράξης είναι ίσο με τον αριθμό των πιστώσεων που της αποδώσαμε.
32 Αντισταθμιστική ανάλυση Χρεωπιστωτική μέθοδος (Η μέθοδος του τραπεζίτη) Παράδειγμα: Διαχείριση στοίβας κόστος push(s,x) : τοποθετεί το x στην κορυφή της στοίβας S pop(s) : αφαιρεί από τη στοίβα S το στοιχείο στην κορυφή της multipop(s,k) : αφαιρεί από τη στοίβα S τα k πρώτα στοιχεία στην κορυφή της
33 Αντισταθμιστική ανάλυση Χρεωπιστωτική μέθοδος (Η μέθοδος του τραπεζίτη) Παράδειγμα: Διαχείριση στοίβας push(s,x) : τοποθετεί το x στην κορυφή της στοίβας S κόστος πίστωση pop(s) : αφαιρεί από τη στοίβα S το στοιχείο στην κορυφή της multipop(s,k) : αφαιρεί από τη στοίβα S τα k πρώτα στοιχεία στην κορυφή της Πρέπει να δείξουμε ότι οι πιστώσεις αρκούν για να αποπληρώσουν οποιαδήποτε ακολουθία πράξεων.
34 Αντισταθμιστική ανάλυση Χρεωπιστωτική μέθοδος (Η μέθοδος του τραπεζίτη) Παράδειγμα: Διαχείριση στοίβας push(s,x) : τοποθετεί το x στην κορυφή της στοίβας S κόστος πίστωση pop(s) : αφαιρεί από τη στοίβα S το στοιχείο στην κορυφή της multipop(s,k) : αφαιρεί από τη στοίβα S τα k πρώτα στοιχεία στην κορυφή της push(s,x) x 1 1 Από τις δύο πιστώσεις η μία πληρώνει την τοποθέτηση και η άλλη αποθηκεύεται στο x
35 Αντισταθμιστική ανάλυση Χρεωπιστωτική μέθοδος (Η μέθοδος του τραπεζίτη) Παράδειγμα: Διαχείριση στοίβας push(s,x) : τοποθετεί το x στην κορυφή της στοίβας S κόστος πίστωση pop(s) : αφαιρεί από τη στοίβα S το στοιχείο στην κορυφή της multipop(s,k) : αφαιρεί από τη στοίβα S τα k πρώτα στοιχεία στην κορυφή της pop/multipop 1 Κάθε αντικείμενο στην S κρατά μία μονάδα πίστωσης. Έτσι αποπληρώνεται η απομάκρυνση του αντικειμένου.
36 Αντισταθμιστική ανάλυση Χρεωπιστωτική μέθοδος (Η μέθοδος του τραπεζίτη) Παράδειγμα: Επαύξηση δυαδικού μετρητή κόστος πίστωση αλλαγή bit από σε 1 αλλαγή bit από 1 σε
37 Αντισταθμιστική ανάλυση Χρεωπιστωτική μέθοδος (Η μέθοδος του τραπεζίτη) Παράδειγμα: Επαύξηση δυαδικού μετρητή κόστος πίστωση αλλαγή bit από σε 1 αλλαγή bit από 1 σε 1 επαύξηση 1 Κάθε bit με τιμή 1 έχει μία μονάδα πίστωσης
38 Αντισταθμιστική ανάλυση Χρεωπιστωτική μέθοδος (Η μέθοδος του τραπεζίτη) Παράδειγμα: Επαύξηση δυαδικού μετρητή κόστος πίστωση αλλαγή bit από σε 1 αλλαγή bit από 1 σε Κάθε bit με τιμή 1 έχει μία μονάδα πίστωσης
39 Αντισταθμιστική ανάλυση Χρεωπιστωτική μέθοδος (Η μέθοδος του τραπεζίτη) Παράδειγμα: Επαύξηση δυαδικού μετρητή κόστος πίστωση αλλαγή bit από σε 1 αλλαγή bit από 1 σε επαύξηση Κάθε bit με τιμή 1 έχει μία μονάδα πίστωσης
40 Αντισταθμιστική ανάλυση Ενεργειακή μέθοδος (Η μέθοδος του φυσικού) Αποδίδουμε στη δομή δεδομένων ένα δυναμικό («δυναμική ενέργεια»). όπου δυναμικό δομής δεδομένων D Έστω η αρχική δομή δεδομένων και η δομή μετά την i-οστη πράξη. Επίσης, έστω το κόστος της i-οστής πράξης. Αντισταθμιστικό κόστος i-οστής πράξης : Συνολικό αντισταθμιστικό κόστος για N πράξεις : Θέλουμε έτσι ώστε
41 Αντισταθμιστική ανάλυση Ενεργειακή μέθοδος (Η μέθοδος του φυσικού) Αντισταθμιστικό κόστος i-οστής πράξης : Ερμηνεία : αν αν η δομή συγκεντρώνει δυναμικό και τότε η δομή χάνει δυναμικό και Δηλαδή το κόστος μιας ακριβής πράξης αποπληρώνεται από τη διαφορά δυναμικού
42 Αντισταθμιστική ανάλυση Ενεργειακή μέθοδος (Η μέθοδος του φυσικού) Συνολικό αντισταθμιστικό κόστος για N πράξεις : Θέλουμε έτσι ώστε Προσοχή: Επειδή μπορεί να μη γνωρίζουμε το πλήθος των πράξεων Ν απαιτούμε να ισχύει για κάθε i=1,2,,n
43 Αντισταθμιστική ανάλυση Ενεργειακή μέθοδος (Η μέθοδος του φυσικού) Παράδειγμα: Διαχείριση στοίβας Επιλέγουμε αριθμός αντικειμένων στη στοίβα S Για αρχικά κενή στοίβα έχουμε για κάθε i=1,2,,n για κάθε i=1,2,,n Επομένως το συνολικό αντισταθμιστικό κόστος αποτελεί άνω φράγμα του συνολικού πραγματικού κόστους.
44 Αντισταθμιστική ανάλυση Ενεργειακή μέθοδος (Η μέθοδος του φυσικού) Παράδειγμα: Διαχείριση στοίβας Επιλέγουμε αριθμός αντικειμένων στη στοίβα S Μένει να υπολογίσουμε το αντισταθμιστικό κόστος για κάθε τύπο πράξης Έστω ότι η i-οστή πράξη είναι τύπου push : push(s,x) : τοποθετεί το x στην κορυφή της στοίβας S Έχουμε και, επομένως
45 Αντισταθμιστική ανάλυση Ενεργειακή μέθοδος (Η μέθοδος του φυσικού) Παράδειγμα: Διαχείριση στοίβας Επιλέγουμε αριθμός αντικειμένων στη στοίβα S Μένει να υπολογίσουμε το αντισταθμιστικό κόστος για κάθε τύπο πράξης Έστω ότι η i-οστή πράξη είναι τύπου pop : pop(s) : αφαιρεί από τη στοίβα S το στοιχείο στην κορυφή της Έχουμε και, επομένως
46 Αντισταθμιστική ανάλυση Ενεργειακή μέθοδος (Η μέθοδος του φυσικού) Παράδειγμα: Διαχείριση στοίβας Επιλέγουμε αριθμός αντικειμένων στη στοίβα S Μένει να υπολογίσουμε το αντισταθμιστικό κόστος για κάθε τύπο πράξης Έστω ότι η i-οστή πράξη είναι τύπου multipop : multipop(s,k) : αφαιρεί από τη στοίβα S τα πρώτα k στοιχεία στην κορυφή της Έχουμε και,, επομένως
47 Αντισταθμιστική ανάλυση Ενεργειακή μέθοδος (Η μέθοδος του φυσικού) Παράδειγμα: Επαύξηση δυαδικού μετρητή Επιλέγουμε αριθμός bit με τιμή 1 Για αρχικά μηδενισμένο μετρητή έχουμε για κάθε i=1,2,,n για κάθε i=1,2,,n Επομένως το συνολικό αντισταθμιστικό κόστος αποτελεί άνω φράγμα του συνολικού πραγματικού κόστους.
48 Αντισταθμιστική ανάλυση Ενεργειακή μέθοδος (Η μέθοδος του φυσικού) Παράδειγμα: Επαύξηση δυαδικού μετρητή Επιλέγουμε αριθμός bit με τιμή 1 Μένει να υπολογίσουμε το αντισταθμιστικό κόστος Έστω και Επίσης, έστω ότι η i-οστή πράξη μηδενίζει bit. Έχουμε και, επομένως
49 Αντισταθμιστική ανάλυση Ενεργειακή μέθοδος (Η μέθοδος του φυσικού) Παράδειγμα: Επαύξηση δυαδικού μετρητή Επιλέγουμε αριθμός bit με τιμή 1 Aν έχουμε και Επομένως αν πραγματοποιήσουμε πραγματικό κόστος είναι επαυξήσεις τότε το συνολικό ανεξάρτητα από την αρχική τιμή
50 Δυναμικοί πίνακες Πολλές δομές δεδομένων υλοποιούνται με χρήση πινάκων π.χ. Στοίβες κάτω όριο α β γ δ τρέχουσα κορυφή άνω όριο Ουρές 5 Ν-1 tail 1 2 head % N 4 3
51 Δυναμικοί πίνακες Πολλές δομές δεδομένων υλοποιούνται με χρήση πινάκων π.χ. Ουρές Προτεραιότητας Αναπαράσταση ως πλήρες δυαδικό δένδρο: κάθε κόμβος έχει κλειδί μικρότερο ή ίσο με το κλειδί του γονέα του. [1] 2 η ρίζα έχει το μέγιστο κλειδί. [2] [3] ύψος lgn [8] [4] [5] [9] [1] [11] [6] 6 9 [12] 5 [] Υλοποίηση με πίνακα: το στοιχείο στη θέση i είναι ο γονέας των στοιχείων στις θέσεις 2i και 2i+1. [1] [2] [3] [4] [5] [6] [] [8] [9] [1] [11] [12]
52 Δυναμικοί πίνακες Πολλές δομές δεδομένων υλοποιούνται με χρήση πινάκων π.χ. Πίνακες Διασποράς (Πίνακες Κατακερματισμού) T U K k 2 k 1 k 3 m-1
53 Δυναμικοί πίνακες Πολλές δομές δεδομένων υλοποιούνται με χρήση πινάκων Πίνακες στη C Δυναμική κατανομή μνήμης void initialize(int *a, int N) { *a = malloc(n*sizeof(int)); for (i=; i<n; i++) a[i]=; } void main() { int *a; initialize(a,ν); }
54 Δυναμικοί πίνακες Πολλές δομές δεδομένων υλοποιούνται με χρήση πινάκων Πίνακες στη C Δυναμική κατανομή μνήμης void initialize(int *a, int N) { *a = malloc(n*sizeof(int)); for (i=; i<n; i++) a[i]=; } void main() { int *a; initialize(a,ν); } Τι γίνεται αν δε γνωρίζουμε εκ των προτέρων τη τιμή του N;
55 Δυναμικοί πίνακες T k 4 k k 6 k 2 k 1 k 3 k 5
56 Δυναμικοί πίνακες T k 6 k 4 k ο πίνακας είναι γεμάτος k 2 k 8 k 1 k 3 k 5
57 Δυναμικοί πίνακες T k 6 k 4 k ο πίνακας είναι γεμάτος k 9 k 2 k 8 k 1 k 3 k 5
58 Δυναμικοί πίνακες T k 6 k 4 k ο πίνακας είναι γεμάτος k 9 k 2 k 8 k 1 k 3 k 5 Λύση : Δημιουργούμε ένα μεγαλύτερο πίνακα Τ και αντιγράφουμε τα στοιχεία του Τ. Τι μέγεθος πρέπει να έχει ο T ;
59 Δυναμικοί πίνακες Ακραία λύση 1: T T 8 νέο στοιχείο
60 Δυναμικοί πίνακες Ακραία λύση 1: T T αξιοποιούμε όλο το χώρο του Τ κάθε νέα εισαγωγή παίρνει Ο(n) χρόνο 8 νέο στοιχείο
61 Δυναμικοί πίνακες Ακραία λύση 2: T T εισαγωγή νέου στοιχείου σε Ο(1) χρόνο αξιοποιούμε ελάχιστο από το χώρο του Τ 8 νέο στοιχείο
62 Δυναμικοί πίνακες Ενδιάμεση λύση : T T εισαγωγή νέου στοιχείου σε αντισταθμιστικό Ο(1) χρόνο 8 αξιοποιούμε πάνω από το μισό χώρο του Τ νέο στοιχείο 15
63 Δυναμικοί πίνακες Ενδιάμεση λύση : Ανάλυση με την αθροιστική μέθοδο Το κόστος της i-οστής εισαγωγής είναι: όταν το i-1 είναι δύναμη του 2 διαφορετικά
64 Δυναμικοί πίνακες Ενδιάμεση λύση : Ανάλυση με την αθροιστική μέθοδο Το κόστος της i-οστής εισαγωγής είναι: όταν το i-1 είναι δύναμη του 2 διαφορετικά Επομένως για ακολουθία n εισαγωγών έχουμε συνολικό κόστος
65 Δυναμικοί πίνακες Ενδιάμεση λύση : Ανάλυση με την χρεωπιστωτική μέθοδο Σε κάθε πράξη εισαγωγής αποδίδουμε 3 μονάδες πίστωσης T νέο στοιχείο
66 Δυναμικοί πίνακες Ενδιάμεση λύση : Ανάλυση με την χρεωπιστωτική μέθοδο Σε κάθε πράξη εισαγωγής αποδίδουμε 3 μονάδες πίστωσης T νέο στοιχείο
67 Δυναμικοί πίνακες Ενδιάμεση λύση : Ανάλυση με την χρεωπιστωτική μέθοδο Σε κάθε πράξη εισαγωγής αποδίδουμε 3 μονάδες πίστωσης T 1 νέο στοιχείο 1 1
68 15 Δυναμικοί πίνακες Ενδιάμεση λύση : Ανάλυση με την χρεωπιστωτική μέθοδο Σε κάθε πράξη εισαγωγής αποδίδουμε 3 μονάδες πίστωσης πριν το διπλασιασμό του πίνακα κάθε θέση έχει 1 μονάδα πίστωσης T T 8
69 15 Δυναμικοί πίνακες Ενδιάμεση λύση : Ανάλυση με την χρεωπιστωτική μέθοδο Σε κάθε πράξη εισαγωγής αποδίδουμε 3 μονάδες πίστωσης πριν το διπλασιασμό του πίνακα κάθε θέση έχει 1 μονάδα πίστωσης αποπληρώνει τη μετακίνηση του στοιχείου T T 8 στον Τ δεν υπάρχει καμία πίστωση
70 15 Δυναμικοί πίνακες Ενδιάμεση λύση : Ανάλυση με την χρεωπιστωτική μέθοδο Σε κάθε πράξη εισαγωγής αποδίδουμε 3 μονάδες πίστωσης T T νέο στοιχείο
71 15 Δυναμικοί πίνακες Ενδιάμεση λύση : Ανάλυση με την χρεωπιστωτική μέθοδο Σε κάθε πράξη εισαγωγής αποδίδουμε 3 μονάδες πίστωσης T T 1 μέχρι τον επόμενο διπλασιασμό κάθε θέση του Τ θα έχει 1 μονάδα πίστωσης νέο στοιχείο 1 1 8
72 Δυναμικοί πίνακες Ενδιάμεση λύση : Ανάλυση με την ενεργειακή μέθοδο Επιλέγουμε όπου πλήθος αποθηκευμένων στοιχείων στον Τ μέγεθος του Τ Αρχικά, πριν την πρώτη εισαγωγή
73 Δυναμικοί πίνακες Ενδιάμεση λύση : Ανάλυση με την ενεργειακή μέθοδο Επιλέγουμε όπου πλήθος αποθηκευμένων στοιχείων στον Τ μέγεθος του Τ Έστω ότι η i-οστή εισαγωγή δεν προκαλεί διπλασιασμό του πίνακα τότε και επομένως έχουμε αντισταθμιστικό κόστος
74 Δυναμικοί πίνακες Ενδιάμεση λύση : Ανάλυση με την ενεργειακή μέθοδο Επιλέγουμε όπου πλήθος αποθηκευμένων στοιχείων στον Τ μέγεθος του Τ Έστω ότι η i-οστή εισαγωγή προκαλεί διπλασιασμό του πίνακα Τότε και επομένως έχουμε αντισταθμιστικό κόστος
75 Δυναμικοί πίνακες Δυναμικοί πίνακες με εισαγωγές και διαγραφές Συντελεστής πληρότητας πίνακα Τ : όπου πλήθος αποθηκευμένων στοιχείων στον Τ μέγεθος του Τ Επιθυμητές ιδιότητες : α) περιορισμένη σπατάλη χώρου : σταθερά β) μικρό αντισταθμιστικό κόστος ανά πράξη
76 Δυναμικοί πίνακες Δυναμικοί πίνακες με εισαγωγές και διαγραφές Συντελεστής πληρότητας πίνακα Τ : όπου πλήθος αποθηκευμένων στοιχείων στον Τ μέγεθος του Τ Επιθυμητές ιδιότητες : α) περιορισμένη σπατάλη χώρου : σταθερά β) μικρό αντισταθμιστικό κόστος ανά πράξη Για να πετύχουμε την ιδιότητα (α) πρέπει να αντιγράφουμε τα στοιχεία σε μικρότερο πίνακα μετά από αρκετές διαγραφές
77 Δυναμικοί πίνακες Δυναμικοί πίνακες με εισαγωγές και διαγραφές Δοκιμάζουμε να επεκτείνουμε την προηγούμενη λύση διπλασιασμός υποδιπλασιασμός εισαγωγή με διαγραφή με 8 15
78 Δυναμικοί πίνακες Δυναμικοί πίνακες με εισαγωγές και διαγραφές Δοκιμάζουμε να επεκτείνουμε την προηγούμενη λύση διπλασιασμός υποδιπλασιασμός εισαγωγή με διαγραφή με 8 επιτυγχάνει 15
79 Δυναμικοί πίνακες Δυναμικοί πίνακες με εισαγωγές και διαγραφές Δοκιμάζουμε να επεκτείνουμε την προηγούμενη λύση διπλασιασμός υποδιπλασιασμός εισαγωγή με διαγραφή με 8 επιτυγχάνει Ο(n) αντισταθμιστικό κόστος ανά πράξη 15
80 Δυναμικοί πίνακες Δυναμικοί πίνακες με εισαγωγές και διαγραφές Π.χ. Ο(n) αντισταθμιστικό κόστος ανά πράξη εισαγωγή 8 15
81 Δυναμικοί πίνακες Δυναμικοί πίνακες με εισαγωγές και διαγραφές Π.χ. Ο(n) αντισταθμιστικό κόστος ανά πράξη εισαγωγή διαγραφή
82 Δυναμικοί πίνακες Δυναμικοί πίνακες με εισαγωγές και διαγραφές Ο(n) αντισταθμιστικό κόστος ανά πράξη Π.χ. εισαγωγή διαγραφή διαγραφή
83 Δυναμικοί πίνακες Δυναμικοί πίνακες με εισαγωγές και διαγραφές Ο(n) αντισταθμιστικό κόστος ανά πράξη Π.χ. γωγή εισαγωγή διαγραφή διαγραφή εισα Μπορούμε να επαναλάβουμε την ίδια διαδικασία πολλές φορές
84 Δυναμικοί πίνακες Δυναμικοί πίνακες με εισαγωγές και διαγραφές Βελτιωμένη λύση διπλασιασμός υποδιπλασιασμός εισαγωγή με διαγραφή με 8 15
85 Δυναμικοί πίνακες Δυναμικοί πίνακες με εισαγωγές και διαγραφές Βελτιωμένη λύση διπλασιασμός υποδιπλασιασμός εισαγωγή με διαγραφή με 8 επιτυγχάνει Ο(1) αντισταθμιστικό κόστος ανά πράξη 15
86 Δυναμικοί πίνακες Δυναμικοί πίνακες με εισαγωγές και διαγραφές Ανάλυση με την ενεργειακή μέθοδο Επιλέγουμε, Ιδιότητες
87 Δυναμικοί πίνακες Δυναμικοί πίνακες με εισαγωγές και διαγραφές Ανάλυση με την ενεργειακή μέθοδο Επιλέγουμε, Ιδιότητες Το δυναμικό αρκεί για να καλύψει την αντιγραφή των αντικειμένων
88 Δυναμικοί πίνακες Δυναμικοί πίνακες με εισαγωγές και διαγραφές Ανάλυση με την ενεργειακή μέθοδο Επιλέγουμε, Αρχικά, πριν την πρώτη εισαγωγή και μετά από κάθε πράξη ισχύει Επομένως το συνολικό αντισταθμιστικό κόστος είναι
89 Δυναμικοί πίνακες Δυναμικοί πίνακες με εισαγωγές και διαγραφές Ανάλυση με την ενεργειακή μέθοδο Επιλέγουμε, Πρέπει να δείξουμε ότι η i-οστή πράξη (εισαγωγή ή διαγραφή) έχει αντισταθμιστικό κόστος Πρέπει να αναλύσουμε διάφορες περιπτώσεις ανάλογα με το είδος της πράξης και αν προκαλείται διπλασιασμός ή υποδιπλασιασμός του πίνακα
90 Δυναμικοί πίνακες Δυναμικοί πίνακες με εισαγωγές και διαγραφές Ανάλυση με την ενεργειακή μέθοδο Επιλέγουμε, Έστω ότι η i-οστή πράξη είναι εισαγωγή. Εάν και έχουμε
91 Δυναμικοί πίνακες Δυναμικοί πίνακες με εισαγωγές και διαγραφές Ανάλυση με την ενεργειακή μέθοδο Επιλέγουμε, Έστω ότι η i-οστή πράξη είναι εισαγωγή. Εάν και έχουμε
92 Δυναμικοί πίνακες Δυναμικοί πίνακες με εισαγωγές και διαγραφές Ανάλυση με την ενεργειακή μέθοδο Επιλέγουμε, Έστω ότι η i-οστή πράξη είναι διαγραφή. Εάν και δεν προκαλείται υποδιπλασιασμός έχουμε
93 Δυναμικοί πίνακες Δυναμικοί πίνακες με εισαγωγές και διαγραφές Ανάλυση με την ενεργειακή μέθοδο Επιλέγουμε, Έστω ότι η i-οστή πράξη είναι διαγραφή. Εάν και προκαλείται υποδιπλασιασμός έχουμε και οπότε
94 Δυναμικοί πίνακες Δυναμικοί πίνακες με εισαγωγές και διαγραφές Ανάλυση με την ενεργειακή μέθοδο Επιλέγουμε, Έστω ότι η i-οστή πράξη είναι διαγραφή. Εάν και προκαλείται υποδιπλασιασμός έχουμε και, άρα
95 Δυναμικοί πίνακες Δυναμικοί πίνακες με εισαγωγές και διαγραφές Ανάλυση με την ενεργειακή μέθοδο Επιλέγουμε, Με όμοιο τρόπο αναλύονται και οι υπόλοιπες περιπτώσεις. Έτσι λαμβάνουμε σταθερό αντισταθμιστικό κόστος για κάθε πράξη.
96 Δυναμικοί πίνακες Δυναμικοί πίνακες με εισαγωγές και διαγραφές Εγχειρίδιο της C++ στη διεύθυνση Vector Vectors are a kind of sequence containers. As such, their elements are ordered following a strict linear sequence. Vector containers are implemented as dynamic arrays; Just as regular arrays, vector containers have their elements stored in contiguous storage locations, which means that their elements can be accessed not only using iterators but also using offsets on regular pointers to elements. But unlike regular arrays, storage in vectors is handled automatically, allowing it to be expanded and contracted as needed. Vectors are good at: Accessing individual elements by their position index (constant time). Iterating over the elements in any order (linear time). Add and remove elements from its end (constant amortized time).
Ισορροπημένα Δένδρα. για κάθε λειτουργία; Ισορροπημένο δένδρο : Διατηρεί ύψος κάθε εισαγωγή ή διαγραφή
Ισορροπημένα Δένδρα Μπορούμε να επιτύχουμε για κάθε λειτουργία; χρόνο εκτέλεσης Ισορροπημένο δένδρο : Διατηρεί ύψος κάθε εισαγωγή ή διαγραφή μετά από Περιστροφές x αριστερή περιστροφή από το x y α β y
Διαβάστε περισσότεραΙσορροπημένα Δένδρα. για κάθε λειτουργία; Ισορροπημένο δένδρο : Διατηρεί ύψος κάθε εισαγωγή ή διαγραφή
Ισορροπημένα Δένδρα Μπορούμε να επιτύχουμε για κάθε λειτουργία; χρόνο εκτέλεσης Ισορροπημένο δένδρο : Διατηρεί ύψος κάθε εισαγωγή ή διαγραφή μετά από Περιστροφές x αριστερή περιστροφή από το x y α β y
Διαβάστε περισσότεραΚεφάλαιο 13 Αντισταθμιστική Ανάλυση
Κεφάλαιο 13 Αντισταθμιστική Ανάλυση Περιεχόμενα 13.1 Αντισταθμιστική Ανάλυση... 248 13.2 Μέθοδοι Αντισταθμιστικής Ανάλυσης... 250 13.2.1 Η χρεωπιστωτική μέθοδος... 250 13.2.2 Η ενεργειακή μέθοδος... 251
Διαβάστε περισσότεραΕιδικά θέματα Αλγορίθμων και Δομών Δεδομένων (ΠΛΕ073) Απαντήσεις 1 ου Σετ Ασκήσεων
Ειδικά θέματα Αλγορίθμων και Δομών Δεδομένων (ΠΛΕ073) Απαντήσεις 1 ου Σετ Ασκήσεων Άσκηση 1 α) Η δομή σταθμισμένης ένωσης με συμπίεση διαδρομής μπορεί να τροποποιηθεί πολύ εύκολα ώστε να υποστηρίζει τις
Διαβάστε περισσότεραΟυρά Προτεραιότητας (priority queue)
Ουρά Προτεραιότητας (priority queue) Δομή δεδομένων που υποστηρίζει δύο βασικές λειτουργίες : Εισαγωγή στοιχείου με δεδομένο κλειδί. Επιστροφή ενός στοιχείου με μέγιστο (ή ελάχιστο) κλειδί και διαγραφή
Διαβάστε περισσότεραΟυρά Προτεραιότητας (priority queue)
Ουρά Προτεραιότητας (priority queue) Δομή δεδομένων που υποστηρίζει τις ακόλουθες λειτουργίες PQinsert : εισαγωγή στοιχείου PQdelmax : επιστροφή του στοιχείου με το μεγαλύτερο* κλειδί και διαγραφή του
Διαβάστε περισσότεραΔυναμικοί πίνακες. Πνιιέο δνκέο δεδνκέλσλ πινπνηνύληαη κε ρξήζε πηλάθσλ. π.ρ. Σηνίβεο. α β γ δ. tail. head % N. Οπξέο Ν-1. θάησ όξην.
Πνιιέο δνκέο δεδνκέλσλ πινπνηνύληαη κε ρξήζε πηλάθσλ π.ρ. Σηνίβεο θάησ όξην α β γ δ ηξέρνπζα θνξπθή άλσ όξην Οπξέο 5 Ν- tail 2 head % N 4 3 Πνιιέο δνκέο δεδνκέλσλ πινπνηνύληαη κε ρξήζε πηλάθσλ π.ρ. Οπξέο
Διαβάστε περισσότεραΕισαγωγή ενός νέου στοιχείου. Επιλογή i-οστoύ στοιχείου : Εύρεση στοιχείου με το i-οστό μικρότερο κλειδί
Δομές Αναζήτησης Χειριζόμαστε ένα σύνολο στοιχείων κλειδί από ολικά διατεταγμένο σύνολο όπου το κάθε στοιχείο έχει ένα Θέλουμε να υποστηρίξουμε δύο βασικές λειτουργίες: Εισαγωγή ενός νέου στοιχείου με
Διαβάστε περισσότεραΣυνδετικότητα γραφήματος (graph connectivity)
Συνδετικότητα γραφήματος (graph connectivity) Συνδετικότητα γραφήματος (graph connectivity) Υπάρχει μονοπάτι μεταξύ α και β; α Παραδείγματα: υπολογιστές ενός δικτύου ιστοσελίδες ισοδύναμες μεταβλητές ενός
Διαβάστε περισσότεραΔομές Δεδομένων και Αλγόριθμοι. Λουκάς Γεωργιάδης
Δομές Δεδομένων και Αλγόριθμοι Λουκάς Γεωργιάδης loukas@cs.uoi.gr www.cs.uoi.gr/~loukas Στόχοι Μαθήματος Η σχεδίαση και ανάλυση αλγορίθμων και δομών δεδομένων αποτελεί σημαντικό τμήμα της πληροφορικής.
Διαβάστε περισσότεραΑνάλυση αλγορίθμων. Χρόνος εκτέλεσης: Αναμενόμενη περίπτωση. - απαιτεί γνώση της κατανομής εισόδου
Ανάλυση αλγορίθμων Παράμετροι απόδοσης ενός αλγόριθμου: Χρόνος εκτέλεσης Απαιτούμενοι πόροι, π.χ. μνήμη, επικοινωνία (π.χ. σε κατανεμημένα συστήματα) Προσπάθεια υλοποίησης Ανάλυση της απόδοσης Θεωρητική
Διαβάστε περισσότεραΔυναμικός Κατακερματισμός. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1
Δυναμικός Κατακερματισμός Βάσεις Δεδομένων 2013-2014 Ευαγγελία Πιτουρά 1 Κατακερματισμός Τι αποθηκεύουμε στους κάδους; Στα παραδείγματα δείχνουμε μόνο την τιμή του πεδίου κατακερματισμού Την ίδια την εγγραφή
Διαβάστε περισσότεραΔιαχρονικές δομές δεδομένων
Διαχρονικές δομές δεδομένων Μια τυπική δομή δεδομένων μεταβάλλεται με πράξεις εισαγωγής ή διαγραφής Π.χ. κοκκινόμαυρο δένδρο εισαγωγή 0 18 0 5 39 73 1 46 6 80 Αποκατάσταση ισορροπίας 5 39 73 0 46 6 80
Διαβάστε περισσότεραΔυναμικός Κατακερματισμός. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1
Δυναμικός Κατακερματισμός Βάσεις Δεδομένων 2017-2018 1 Κατακερματισμός Πρόβλημα στατικού κατακερματισμού: Έστω Μ κάδους και r εγγραφές ανά κάδο - το πολύ Μ * r εγγραφές (αλλιώς μεγάλες αλυσίδες υπερχείλισης)
Διαβάστε περισσότεραΔυναμικός Κατακερματισμός. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1
Δυναμικός Κατακερματισμός 1 Κατακερματισμός Τι αποθηκεύουμε στους κάδους; Στα παραδείγματα δείχνουμε μόνο την τιμή του πεδίου κατακερματισμού Την ίδια την εγγραφή (ως τρόπος οργάνωσης αρχείου) μέγεθος
Διαβάστε περισσότεραΕξωτερική Αναζήτηση. Ιεραρχία Μνήμης Υπολογιστή. Εξωτερική Μνήμη. Εσωτερική Μνήμη. Κρυφή Μνήμη (Cache) Καταχωρητές (Registers) μεγαλύτερη ταχύτητα
Ιεραρχία Μνήμης Υπολογιστή Εξωτερική Μνήμη Εσωτερική Μνήμη Κρυφή Μνήμη (Cache) μεγαλύτερη χωρητικότητα Καταχωρητές (Registers) Κεντρική Μονάδα (CPU) μεγαλύτερη ταχύτητα Πολλές σημαντικές εφαρμογές διαχειρίζονται
Διαβάστε περισσότεραΔυναμικός Κατακερματισμός. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1
Δυναμικός Κατακερματισμός Βάσεις Δεδομένων 2018-2019 1 Κατακερματισμός Πρόβλημα στατικού κατακερματισμού: Έστω Μ κάδους και r εγγραφές ανά κάδο - το πολύ Μ * r εγγραφές (αλλιώς μεγάλες αλυσίδες υπερχείλισης)
Διαβάστε περισσότεραεπιστρέφει το αμέσως μεγαλύτερο από το x στοιχείο του S επιστρέφει το αμέσως μικρότερο από το x στοιχείο του S
Μελετάμε την περίπτωση όπου αποθηκεύουμε ένα (δυναμικό) σύνολο στοιχειών,, τα οποίo είναι υποσύνολο του. Υποστηριζόμενες λειτουργίες αναζήτηση(s,x): εισαγωγή(s,x): διαγραφή(s,x): διάδοχος(s,x): προκάτοχος(s,x):
Διαβάστε περισσότεραΤεχνικές Επιμερισμένης Ανάλυσης
Τεχνικές Επιμερισμένης Ανάλυσης Εισαγωγή Γενικά στην ανάλυση Δομών Δεδομένων και Αλγορίθμων μας ενδιαφέρουν κυρίως 3 περιπτώσεις ως προς την Πολυπλοκότητα: Πολυπλοκότητα Χειρότερης Περίπτωσης (Worst Case
Διαβάστε περισσότεραΔένδρα Αναζήτησης Πολλαπλής Διακλάδωσης
Δένδρα Αναζήτησης Πολλαπλής Διακλάδωσης Δένδρα στα οποία κάθε κόμβος μπορεί να αποθηκεύει ένα ή περισσότερα κλειδιά. Κόμβος με d διακλαδώσεις : k 1 k 2 k 3 k 4 d-1 διατεταγμένα κλειδιά d διατεταγμένα παιδιά
Διαβάστε περισσότεραΚεφάλαιο 11 Ένωση Ξένων Συνόλων
Κεφάλαιο 11 Ένωση Ξένων Συνόλων Περιεχόμενα 11.1 Εισαγωγή... 227 11.2 Εφαρμογή στο Πρόβλημα της Συνεκτικότητας... 228 11.3 Δομή Ξένων Συνόλων με Συνδεδεμένες Λίστες... 229 11.4 Δομή Ξένων Συνόλων με Ανοδικά
Διαβάστε περισσότεραΣυλλογές, Στοίβες και Ουρές
Συλλογές, Στοίβες και Ουρές Σε πολλές εφαρμογές μας αρκεί η αναπαράσταση ενός δυναμικού συνόλου με μια δομή δεδομένων η οποία δεν υποστηρίζει την αναζήτηση οποιουδήποτε στοιχείου. Συλλογή (bag) : Επιστρέφει
Διαβάστε περισσότεραΚΕΦΑΛΑΙΟ 8: Αφαίρεση δεδοµένων
ΚΕΦΑΛΑΙΟ 8: Αφαίρεση δεδοµένων 8.1 Βασικές έννοιες δοµών δεδοµένων 8.2 Σχετικές έννοιες 8.3 Υλοποίηση δοµών δεδοµένων 8.4 Μια σύντοµη µελέτη περίπτωσης 8.5 Προσαρµοσµένοι τύποι δεδοµένων 1 Βασικές δοµές
Διαβάστε περισσότεραΚεφάλαιο 14 Προηγμένες Ουρές Προτεραιότητας
Κεφάλαιο 14 Προηγμένες Ουρές Προτεραιότητας Περιεχόμενα 14.1 Διωνυμικά Δένδρα... 255 14.2 Διωνυμικές Ουρές... 258 14.1.1 Εισαγωγή στοιχείου σε διωνυμική ουρά... 258 14.1.2 Διαγραφή μεγίστου από διωνυμική
Διαβάστε περισσότεραΠίνακες Συμβόλων. εισαγωγή αναζήτηση επιλογή. εισαγωγή. αναζήτηση
Πίνακες Συμβόλων χειρότερη περίπτωση μέση περίπτωση εισαγωγή αναζήτηση επιλογή εισαγωγή αναζήτηση διατεταγμένος πίνακας διατεταγμένη λίστα μη διατεταγμένος πίνακας μη διατεταγμένη λίστα δένδρο αναζήτησης
Διαβάστε περισσότεραΣτοίβες με Δυναμική Δέσμευση Μνήμης
ΕΠΛ 231 ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΑΛΓΟΡΙΘΜΟΙ 10/02/10 Παύλος Αντωνίου Στοίβες με Δυναμική Δέσμευση Μνήμης Στοίβα: Στοίβα είναι μια λίστα που έχει ένα επιπλέον περιορισμό. Ο περιορισμός είναι ότι οι εισαγωγές
Διαβάστε περισσότεραΟι βασικές λειτουργίες (ή πράξεις) που γίνονται σε μια δομή δεδομένων είναι:
ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ Μια δομή δεδομένων στην πληροφορική, συχνά αναπαριστά οντότητες του φυσικού κόσμου στον υπολογιστή. Για την αναπαράσταση αυτή, δημιουργούμε πρώτα ένα αφηρημένο μοντέλο στο οποίο προσδιορίζονται
Διαβάστε περισσότεραΕπιλογές και Κριτήρια Σχεδιασμού ΑΤΔ Ανεξαρτήτως από Γλώσσα Υλοποίησης 24/4/2012
Επιλογές και Κριτήρια Σχεδιασμού ΑΤΔ Ανεξαρτήτως από Γλώσσα Υλοποίησης 24/4/2012 Κύκλος (Ζωής) Λογισμικού (ΑΤΔ) Γενικά Ορισμός ΑΤΔ (Προδιαγραφές) Οργάνωση Δεδομένων Τι κάνει Υλοποίηση Σχεδιασμός (ανεξάρτητος
Διαβάστε περισσότεραΔυναμικά Σύνολα. Δυναμικό σύνολο. Tα στοιχεία του μεταβάλλονται μέσω εντολών εισαγωγής και διαγραφής. διαγραφή. εισαγωγή
Δυναμικά Σύνολα Δυναμικό σύνολο Tα στοιχεία του μεταβάλλονται μέσω εντολών εισαγωγής και διαγραφής διαγραφή εισαγωγή Δυναμικά Σύνολα Δυναμικό σύνολο Tα στοιχεία του μεταβάλλονται μέσω εντολών εισαγωγής
Διαβάστε περισσότεραΔομές Αναζήτησης. εισαγωγή αναζήτηση επιλογή. εισαγωγή. αναζήτηση
Δομές Αναζήτησης χειρότερη περίπτωση μέση περίπτωση εισαγωγή αναζήτηση επιλογή εισαγωγή αναζήτηση διατεταγμένος πίνακας διατεταγμένη λίστα μη διατεταγμένος πίνακας μη διατεταγμένη λίστα δένδρο αναζήτησης
Διαβάστε περισσότεραΔομές Δεδομένων Standard Template Library (STL) 23/3/2017 ΜΠΟΜΠΟΤΑΣ ΑΓΟΡΑΚΗΣ
Δομές Δεδομένων Standard Template Library (STL) 23/3/2017 ΜΠΟΜΠΟΤΑΣ ΑΓΟΡΑΚΗΣ mpompotas@ceid.upatras.gr Εισαγωγή - STL Η Standard Βιβλιοθήκη προτύπων (STL) είναι μια βιβλιοθήκη λογισμικού για την C++ Δημιουργήθηκε
Διαβάστε περισσότεραStandard Template Library (STL) C++ library
Τ Μ Η Μ Α Μ Η Χ Α Ν Ι Κ Ω Ν Η / Υ Κ Α Ι Π Λ Η Ρ Ο Φ Ο Ρ Ι Κ Η Σ Standard Template Library (STL) C++ library Δομές Δεδομένων Μάριος Κενδέα kendea@ceid.upatras.gr Εισαγωγή Η Standard Βιβλιοθήκη προτύπων
Διαβάστε περισσότεραΚατακερματισμός (Hashing)
Κατακερματισμός (Hashing) O κατακερματισμός είναι μια τεχνική οργάνωσης ενός αρχείου. Είναι αρκετά δημοφιλής μέθοδος για την οργάνωση αρχείων Βάσεων Δεδομένων, καθώς βοηθάει σημαντικά στην γρήγορη αναζήτηση
Διαβάστε περισσότεραΑλγόριθμοι και Δομές Δεδομένων (IΙ) (γράφοι και δένδρα)
Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2016-17 Αλγόριθμοι και Δομές Δεδομένων (IΙ) (γράφοι και δένδρα) http://mixstef.github.io/courses/csintro/ Μ.Στεφανιδάκης Αφηρημένες
Διαβάστε περισσότεραΟργάνωση αρχείων: πως είναι τοποθετηµένες οι εγγραφές ενός αρχείου όταν αποθηκεύονται στο δίσκο
Κατακερµατισµός 1 Οργάνωση Αρχείων (σύνοψη) Οργάνωση αρχείων: πως είναι τοποθετηµένες οι εγγραφές ενός αρχείου όταν αποθηκεύονται στο δίσκο 1. Αρχεία Σωρού 2. Ταξινοµηµένα Αρχεία Φυσική διάταξη των εγγραφών
Διαβάστε περισσότεραΟι λίστες, χάνοντας τα πλεονεκτήματα των πινάκων, λύνουν προβλήματα που παρουσιάζουν οι πίνακες
Δομές δεδομένων Πίνακες Οι πίνακες είναι το πιο απλό «μέσο» αποθήκευσης ομοειδούς πληροφορίας. Χρησιμοποιούν ακριβώς όση μνήμη χρειάζεται για την αποθήκευση της πληροφορίας Επιτρέπουν την προσπέλαση άμεσα
Διαβάστε περισσότεραΚατακερµατισµός. Οργάνωση Αρχείων (σύνοψη) Οργάνωση αρχείων: πως είναι τοποθετημένες οι εγγραφές ενός αρχείου όταν αποθηκεύονται στο δίσκο
Κατακερµατισµός 1 Οργάνωση Αρχείων (σύνοψη) Οργάνωση αρχείων: πως είναι τοποθετημένες οι εγγραφές ενός αρχείου όταν αποθηκεύονται στο δίσκο 1. Αρχεία Σωρού 2. Ταξινομημένα Αρχεία Φυσική διάταξη των εγγραφών
Διαβάστε περισσότεραΟι δυναμικές δομές δεδομένων στην ΑΕΠΠ
Καθηγητής Πληροφορικής Απαγορεύεται η αναπαραγωγή των σημειώσεων χωρίς αναφορά στην πηγή Οι σημειώσεις, αν και βασίζονται στο διδακτικό πακέτο, αποτελούν προσωπική θεώρηση της σχετικής ύλης και όχι επίσημο
Διαβάστε περισσότεραΔομές Δεδομένων Ενότητα 4
ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Ενότητα 4: Ουρές Απόστολος Παπαδόπουλος Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό
Διαβάστε περισσότεραΠΛΕ075: Προηγμένη Σχεδίαση Αλγορίθμων και Δομών Δεδομένων. Λουκάς Γεωργιάδης
ΠΛΕ075: Προηγμένη Σχεδίαση Αλγορίθμων και Δομών Δεδομένων Λουκάς Γεωργιάδης loukas@cs.uoi.gr www.cs.uoi.gr/~loukas Βασικές έννοιες και εφαρμογές Αλγόριθμος: Μέθοδος για την επίλυση ενός προβλήματος Δομή
Διαβάστε περισσότεραΔυναμικά Σύνολα. Δυναμικό σύνολο. Tα στοιχεία του μεταβάλλονται μέσω εντολών εισαγωγής και διαγραφής. διαγραφή. εισαγωγή
Δυναμικά Σύνολα Δυναμικό σύνολο Tα στοιχεία του μεταβάλλονται μέσω εντολών εισαγωγής και διαγραφής διαγραφή εισαγωγή Δυναμικά Σύνολα Δυναμικό σύνολο Tα στοιχεία του μεταβάλλονται μέσω εντολών εισαγωγής
Διαβάστε περισσότεραΠληροφορική 2. Δομές δεδομένων και αρχείων
Πληροφορική 2 Δομές δεδομένων και αρχείων 1 2 Δομή Δεδομένων (data structure) Δομή δεδομένων είναι μια συλλογή δεδομένων που έχουν μεταξύ τους μια συγκεκριμένη σχέση Παραδείγματα δομών δεδομένων Πίνακες
Διαβάστε περισσότεραΔυναμικά Σύνολα. Δυναμικό σύνολο. Tα στοιχεία του μεταβάλλονται μέσω εντολών εισαγωγής και διαγραφής. διαγραφή. εισαγωγή
Δυναμικά Σύνολα Δυναμικό σύνολο Tα στοιχεία του μεταβάλλονται μέσω εντολών εισαγωγής και διαγραφής διαγραφή εισαγωγή Δυναμικά Σύνολα Δυναμικό σύνολο Tα στοιχεία του μεταβάλλονται μέσω εντολών εισαγωγής
Διαβάστε περισσότεραΤα δεδομένα (περιεχόμενο) μιας βάσης δεδομένων αποθηκεύεται στο δίσκο
Κατακερματισμός 1 Αποθήκευση εδομένων (σύνοψη) Τα δεδομένα (περιεχόμενο) μιας βάσης δεδομένων αποθηκεύεται στο δίσκο Παραδοσιακά, μία σχέση (πίνακας/στιγμιότυπο) αποθηκεύεται σε ένα αρχείο Αρχείο δεδομένων
Διαβάστε περισσότεραΔιάλεξη 22: Τεχνικές Κατακερματισμού I (Hashing)
Διάλεξη 22: Τεχνικές Κατακερματισμού I (Hashing) Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Ανασκόπηση Προβλήματος και Προκαταρκτικών Λύσεων Bit Διανύσματα Τεχνικές Κατακερματισμού & Συναρτήσεις
Διαβάστε περισσότερα13/5/2015 ΟΥΡΕΣ ΠΡΟΤΕΡΑΙΟΤΗΤΑΣ. Δομές Δεδομένων. Ουρές Προτεραιότητας
ΟΥΡΕΣ ΠΡΟΤΕΡΑΙΟΤΗΤΑΣ Δομές Δεδομένων Τι θα δούμε Ουρές προτεραιότητας Πράξεις Διωνυμικές Ουρές Διωνυμικά Δέντρα Διωνυμικοί Σωροί Ουρές Fibonacci Αναπαράσταση Πράξεις Ανάλυση Συγκρίσεις Ουρές προτεραιότητας
Διαβάστε περισσότεραΣύνοψη Προηγούμενου. Λίστες (Lists) Συνδεδεμένες Λίστες: Εισαγωγή (1/2) Συνδεδεμένες Λίστες. Ορέστης Τελέλης
Σύνοψη Προηγούμενου Λίστες (Lists) Ορέστης Τελέλης telelis@unipi.gr Τμήμα Ψηφιακών Συστημάτων, Πανεπιστήμιο Πειραιώς Στοίβες (Stacks) : στην κορυφή της στοίβας ( ) από την κορυφή της στοίβας ( ) Ουρές
Διαβάστε περισσότεραΔομές Δεδομένων & Αλγόριθμοι
Σωροί 1 Ορισμοί Ένα δέντρο μεγίστων (δένδρο ελαχίστων) είναι ένα δένδρο, όπου η τιμή κάθε κόμβου είναι μεγαλύτερη (μικρότερη) ή ίση με των τιμών των παιδιών του Ένας σωρός μεγίστων (σωρός ελαχίστων) είναι
Διαβάστε περισσότεραΚατηγορίες Συμπίεσης. Συμπίεση με απώλειες δεδομένων (lossy compression) π.χ. συμπίεση εικόνας και ήχου
Συμπίεση Η συμπίεση δεδομένων ελαττώνει το μέγεθος ενός αρχείου : Εξοικονόμηση αποθηκευτικού χώρου Εξοικονόμηση χρόνου μετάδοσης Τα περισσότερα αρχεία έχουν πλεονασμό στα δεδομένα τους Είναι σημαντική
Διαβάστε περισσότεραΕΥΡΕΣΗ ΜΕΓΙΣΤΟΥ ΚΟΙΝΟΥ ΔΙΑΙΡΕΤΗ
ΕΥΡΕΣΗ ΜΕΓΙΣΤΟΥ ΚΟΙΝΟΥ ΔΙΑΙΡΕΤΗ Το πρόβλημα: Δεδομένα: δύο ακέραιοι a και b Ζητούμενο: ο μέγιστος ακέραιος που διαιρεί και τους δύο δοσμένους αριθμούς, γνωστός ως Μέγιστος Κοινός Διαιρέτης τους (Greatest
Διαβάστε περισσότεραΔομές Δεδομένων και Αλγόριθμοι
Δομές Δεδομένων και Αλγόριθμοι Χρήστος Γκόγκος ΤΕΙ Ηπείρου Χειμερινό Εξάμηνο 2014-2015 Παρουσίαση 20 Huffman codes 1 / 12 Κωδικοποίηση σταθερού μήκους Αν χρησιμοποιηθεί κωδικοποίηση σταθερού μήκους δηλαδή
Διαβάστε περισσότεραΔομές Αναζήτησης. κλειδί από ολικά διατεταγμένο σύνολο. Θέλουμε να υποστηρίξουμε δύο βασικές λειτουργίες: Εισαγωγή ενός νέου στοιχείου
Δομές Αναζήτησης Χειριζόμαστε ένα σύνολο στοιχείων κλειδί από ολικά διατεταγμένο σύνολο όπου το κάθε στοιχείο έχει ένα Θέλουμε να υποστηρίξουμε δύο βασικές λειτουργίες: Εισαγωγή ενός νέου στοιχείου με
Διαβάστε περισσότεραΑλγόριθμοι Ταξινόμησης Μέρος 3
Αλγόριθμοι Ταξινόμησης Μέρος 3 Μανόλης Κουμπαράκης 1 Ταξινόμηση με Ουρά Προτεραιότητας Θα παρουσιάσουμε τώρα δύο αλγόριθμους ταξινόμησης που χρησιμοποιούν μια ουρά προτεραιότητας για την υλοποίηση τους.
Διαβάστε περισσότεραΒασικές δοµές δεδοµένων. Ορολογία λιστών. 8.1 Βασικές έννοιες δοµών δεδοµένων 8.2 Υλοποίηση δοµών δεδοµένων 8.3 Μια σύντοµη υπόθεση εργασίας
ΚΕΦΑΛΑΙΟ 8: Αφηρηµένοι τύποι δεδοµένων 8.1 οµές δεδοµένων (data structures) 8.1 Βασικές έννοιες δοµών δεδοµένων 8.2 Υλοποίηση δοµών δεδοµένων 8.3 Μια σύντοµη υπόθεση εργασίας Αδόµητα δεδοµένα οδός Ζέας
Διαβάστε περισσότεραΕΝΟΤΗΤΑ 9 ΕΝΩΣΗ ΞΕΝΩΝ ΣΥΝΟΛΩΝ ( ΟΜΕΣ UNION-FIND)
ΕΝΟΤΗΤΑ 9 ΕΝΩΣΗ ΞΕΝΩΝ ΣΥΝΟΛΩΝ ( ΟΜΕΣ UNION-FIND) Ένωση Ξένων Συνόλων (Disjoint Sets with Union) S 1,, S k : ξένα υποσύνολα ενός συνόλου U δηλ., S i S j =, αν i j, και S 1 S k = U. Λειτουργίες που θέλουµε
Διαβάστε περισσότεραΟΥΡΕΣ ΠΡΟΤΕΡΑΙΟΤΗΤΑΣ
ΟΥΡΕΣ ΠΡΟΤΕΡΑΙΟΤΗΤΑΣ Δομές Δεδομένων Παπαγιαννόπουλος Δημήτριος 30 Μαρτίου 2017 18 Μαΐου 2017 papagianno@ceid.upatras.gr 1 Περιεχόμενα Ουρές προτεραιότητας Πράξεις Διωνυμικές Ουρές Διωνυμικά Δέντρα Διωνυμικοί
Διαβάστε περισσότεραΔιάλεξη 22: Δυαδικά Δέντρα. Διδάσκων: Παναγιώτης Ανδρέου
Διάλεξη 22: Δυαδικά Δέντρα Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Δυαδικά Δένδρα - Δυαδικά Δένδρα Αναζήτησης - Πράξεις Εισαγωγής, Εύρεσης Στοιχείου, Διαγραφής Μικρότερου Στοιχείου
Διαβάστε περισσότεραΔυναμικός Κατακερματισμός
Δυναμικός Κατακερματισμός Καλό για βάση δεδομένων που μεγαλώνει και συρρικνώνεται σε μέγεθος Επιτρέπει τη δυναμική τροποποίηση της συνάρτησης κατακερματισμού Επεκτάσιμος κατακερματισμός μια μορφή δυναμικού
Διαβάστε περισσότεραΤεχνικές Επιμερισμένης Ανάλυσης
ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ Η/Υ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ Τεχνικές Επιμερισμένης Ανάλυσης Δομές Δεδομένων Μπαλτάς Αλέξανδρος 21 Απριλίου 2015 ampaltas@ceid.upatras.gr Περιεχόμενα 1. Εισαγωγή 2. Ορισμός Επιμερισμένης Πολυπλοκότητας
Διαβάστε περισσότεραΒασικές Έννοιες Δοµών Δεδοµένων
Δοµές Δεδοµένων Δοµές Δεδοµένων Στην ενότητα αυτή θα γνωρίσουµε ορισµένες Δοµές Δεδοµένων και θα τις χρησιµοποιήσουµε για την αποδοτική επίλυση του προβλήµατος του ευσταθούς ταιριάσµατος Βασικές Έννοιες
Διαβάστε περισσότεραΜελετάμε την περίπτωση όπου αποθηκεύουμε ένα (δυναμικό) σύνολο στοιχειών. Ένα στοιχείο γράφεται ως, όπου κάθε.
Ψηφιακά Δένδρα Μελετάμε την περίπτωση όπου αποθηκεύουμε ένα (δυναμικό) σύνολο στοιχειών τα οποία είναι ακολουθίες συμβάλλων από ένα πεπερασμένο αλφάβητο Ένα στοιχείο γράφεται ως, όπου κάθε. Μπορούμε να
Διαβάστε περισσότεραΚεφάλαιο 6 Ουρές Προτεραιότητας
Κεφάλαιο 6 Ουρές Προτεραιότητας Περιεχόμενα 6.1 Ο αφηρημένος τύπος δεδομένων ουράς προτεραιότητας... 114 6.2 Ουρές προτεραιότητας με στοιχειώδεις δομές δεδομένων... 115 6.3 Δυαδικός σωρός... 116 6.3.1
Διαβάστε περισσότεραΔομές Δεδομένων & Αλγόριθμοι
- Πίνακες 1 Πίνακες Οι πίνακες έχουν σταθερό μέγεθος και τύπο δεδομένων. Βασικά πλεονεκτήματά τους είναι η απλότητα προγραμματισμού τους και η ταχύτητα. Ωστόσο δεν παρέχουν την ευελιξία η οποία απαιτείται
Διαβάστε περισσότεραΔιδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ
Διάλεξη 10: Λίστες Υλοποίηση & Εφαρμογές Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Ευθύγραμμες Απλά Συνδεδεμένες Λίστες (εύρεση, εισαγωγή, διαγραφή) Σύγκριση Συνδεδεμένων Λιστών με Πίνακες
Διαβάστε περισσότεραΔιάλεξη 16: Σωροί. Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Ουρές Προτεραιότητας - Ο ΑΤΔ Σωρός, Υλοποίηση και πράξεις
ΕΠΛ231 Δομές Δεδομένων και Αλγόριθμοι 1 Διάλεξη 16: Σωροί Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Ουρές Προτεραιότητας - Ο ΑΤΔ Σωρός, Υλοποίηση και πράξεις Ουρά Προτεραιότητας (Priority
Διαβάστε περισσότεραΠανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων ομές εδομένων
Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων 3. Στοίβες & Ουρές 2 ομές εδομένων 4 5 Χρήστος ουλκερίδης Τμήμα Ψηφιακών Συστημάτων 19/10/2017 Ανακεφαλαίωση:
Διαβάστε περισσότεραΆμεσοι Αλγόριθμοι: Προσπέλαση Λίστας (list access)
Έχουμε αποθηκεύσει μια συλλογή αρχείων σε μια συνδεδεμένη λίστα, όπου κάθε αρχείο έχει μια ετικέτα ταυτοποίησης. Μια εφαρμογή παράγει μια ακολουθία από αιτήματα πρόσβασης στα αρχεία της λίστας. Για να
Διαβάστε περισσότεραΠανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων ομές εδομένων
Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων 3. Στοίβες & Ουρές 2 ομές εδομένων 4 5 Χρήστος ουλκερίδης Τμήμα Ψηφιακών Συστημάτων 4/11/2016 Ανακεφαλαίωση:
Διαβάστε περισσότεραΔιάλεξη 23: Τεχνικές Κατακερματισμού II (Hashing)
ΕΠΛ231 Δομές Δεδομένων και Αλγόριθμοι 1 Διάλεξη 23: Τεχνικές Κατακερματισμού II (Hashing) Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Διαχείριση Συγκρούσεων με Ανοικτή Διεύθυνση a) Linear
Διαβάστε περισσότεραΔιδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ
Διάλεξη 25: Τεχνικές Κατακερματισμού II Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Διαχείριση Συγκρούσεων με Ανοικτή Διεύθυνση a) Linear Probing, b) Quadratic Probing c) Double Hashing Διατεταγμένος
Διαβάστε περισσότεραΆσκηση 1 (ανακοινώθηκε στις 20 Μαρτίου 2017, προθεσμία παράδοσης: 24 Απριλίου 2017, 12 τα μεσάνυχτα).
Κ08 Δομές Δεδομένων και Τεχνικές Προγραμματισμού Διδάσκων: Μανόλης Κουμπαράκης Εαρινό Εξάμηνο 2016-2017. Άσκηση 1 (ανακοινώθηκε στις 20 Μαρτίου 2017, προθεσμία παράδοσης: 24 Απριλίου 2017, 12 τα μεσάνυχτα).
Διαβάστε περισσότεραviii 20 Δένδρα van Emde Boas 543
Περιεχόμενα Πρόλογος xi I Θεμελιώδεις έννοιες Εισαγωγή 3 1 Ο ρόλος των αλγορίθμων στις υπολογιστικές διαδικασίες 5 1.1 Αλγόριθμοι 5 1.2 Οι αλγόριθμοι σαν τεχνολογία 12 2 Προκαταρκτικές έννοιες και παρατηρήσεις
Διαβάστε περισσότεραΑναζήτηση σε Γράφους. Μανόλης Κουμπαράκης. ΥΣ02 Τεχνητή Νοημοσύνη 1
Αναζήτηση σε Γράφους Μανόλης Κουμπαράκης ΥΣ02 Τεχνητή Νοημοσύνη 1 Πρόλογος Μέχρι τώρα έχουμε δει αλγόριθμους αναζήτησης για την περίπτωση που ο χώρος καταστάσεων είναι δένδρο (υπάρχει μία μόνο διαδρομή
Διαβάστε περισσότεραΟυρές Προτεραιότητας: Υπενθύμιση. Σωροί / Αναδρομή / Ταξινόμηση. Υλοποίηση Σωρού. Σωρός (Εισαγωγή) Ορέστης Τελέλης
Ουρές Προτεραιότητας: Υπενθύμιση Σωροί / Αναδρομή / Ταξινόμηση Ορέστης Τελέλης telelis@unipi.gr Τμήμα Ψηφιακών Συστημάτων, Πανεπιστήμιο Πειραιώς (Abstract Data Type) με μεθόδους: Μπορεί να υλοποιηθεί με
Διαβάστε περισσότεραΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. Δοµές Δεδοµένων
ΟΝΟΜΑΤΕΠΩΝΥΜΟ: ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ AM: Δοµές Δεδοµένων Εξεταστική Ιανουαρίου 2014 Διδάσκων : Ευάγγελος Μαρκάκης 20.01.2014 ΥΠΟΓΡΑΦΗ ΕΠΟΠΤΗ: Διάρκεια εξέτασης : 2 ώρες και
Διαβάστε περισσότεραΜέγιστη ροή. Κατευθυνόμενο γράφημα. Συνάρτηση χωρητικότητας. αφετηρίακός κόμβος. τερματικός κόμβος. Ροή δικτύου. με τις ακόλουθες ιδιότητες
Κατευθυνόμενο γράφημα Συνάρτηση χωρητικότητας 12 16 2 Ροή δικτύου Συνάρτηση αφετηρίακός κόμβος 13 1 με τις ακόλουθες ιδιότητες 4 14 9 7 4 τερματικός κόμβος Περιορισμός χωρητικότητας: Αντισυμμετρία: Διατήρηση
Διαβάστε περισσότεραΟ ΑΤΔ Λεξικό. Σύνολο στοιχείων με βασικές πράξεις: Δημιουργία Εισαγωγή Διαγραφή Μέλος. Υλοποιήσεις
Ο ΑΤΔ Λεξικό Σύνολο στοιχείων με βασικές πράξεις: Δημιουργία Εισαγωγή Διαγραφή Μέλος Υλοποιήσεις Πίνακας με στοιχεία bit (0 ή 1) (bit vector) Λίστα ακολουθιακή (πίνακας) ή συνδεδεμένη Είναι γνωστό το μέγιστο
Διαβάστε περισσότεραΔιδάσκων: Παναγιώτης Ανδρέου
Διάλεξη 12: Δέντρα ΙΙ -Δυαδικά Δέντρα Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Δυαδικά Δένδρα - Δυαδικά Δένδρα Αναζήτησης(ΔΔΑ) - Εύρεση Τυχαίου, Μέγιστου, Μικρότερου στοιχείου - Εισαγωγή
Διαβάστε περισσότεραΓράφημα. Συνδυαστικό αντικείμενο που αποτελείται από 2 σύνολα: Σύνολο κορυφών (vertex set) Σύνολο ακμών (edge set) 4 5 πλήθος κορυφών πλήθος ακμών
Γράφημα Συνδυαστικό αντικείμενο που αποτελείται από 2 σύνολα: Σύνολο κορυφών (vertex set) Σύνολο ακμών (edge set) 1 2 3 4 5 πλήθος κορυφών πλήθος ακμών Γράφημα Συνδυαστικό αντικείμενο που αποτελείται από
Διαβάστε περισσότεραΠΛΗ21 Κεφάλαιο 2. ΠΛΗ21 Ψηφιακά Συστήματα: Τόμος Α Κεφάλαιο: Παράσταση Προσημασμένων Αριθμών Συμπληρώματα
Ψηφιακά Συστήματα: Τόμος Α Κεφάλαιο: 2 2.3.4 Παράσταση Προσημασμένων Αριθμών Συμπληρώματα Στόχοι του κεφαλαίου είναι να γνωρίσουμε: Τι είναι ένας Συμπλήρωμα ενός αριθμού πρακτικά Τι είναι Συμπλήρωμα ως
Διαβάστε περισσότεραΑριθμήσιμα σύνολα. Μαθηματικά Πληροφορικής 5ο Μάθημα. Παραδείγματα αριθμήσιμων συνόλων. Οι ρητοί αριθμοί
Αριθμήσιμα σύνολα Μαθηματικά Πληροφορικής 5ο Μάθημα Τμήμα Πληροφορικής και Τηλεπικοινωνιών Πανεπιστήμιο Αθηνών Ορισμός Πόσα στοιχεία έχει το σύνολο {a, b, r, q, x}; Οσα και το σύνολο {,,, 4, 5} που είναι
Διαβάστε περισσότεραΔιδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ
Διάλεξη 9: Στοίβες:Υλοποίηση & Εφαρμογές Στην ενότητα αυτή θα μελετηθεί η χρήση στοιβών στις εξής εφαρμογές: Υλοποίηση Στοιβών με Δυναμική Δέσμευση Μνήμης Εφαρμογή Στοιβών 1: Αναδρομικές συναρτήσεις Εφαρμογή
Διαβάστε περισσότεραΔιάλεξη 16: Σωροί. Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Ουρές Προτεραιότητας - Ο ΑΤΔ Σωρός, Υλοποίηση και πράξεις
ΕΠΛ231 Δομές Δεδομένων και Αλγόριθμοι 1 Διάλεξη 16: Σωροί Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Ουρές Προτεραιότητας - Ο ΑΤΔ Σωρός, Υλοποίηση και πράξεις Ουρά Προτεραιότητας Η δομή
Διαβάστε περισσότεραΠεριεχόμενα. Περιεχόμενα
Περιεχόμενα xv Περιεχόμενα 1 Αρχές της Java... 1 1.1 Προκαταρκτικά: Κλάσεις, Τύποι και Αντικείμενα... 2 1.1.1 Βασικοί Τύποι... 5 1.1.2 Αντικείμενα... 7 1.1.3 Τύποι Enum... 14 1.2 Μέθοδοι... 15 1.3 Εκφράσεις...
Διαβάστε περισσότεραΚεφάλαιο 2. Η δομή δεδομένων Σωρός και η Ταξινόμηση Σωρού (The Heap data structure and Heapsort) Έκδοση 1.3, 14/11/2014
Κεφάλαιο 2 Η δομή δεδομένων Σωρός και η Ταξινόμηση Σωρού (The Heap data structure and Heapsort) Έκδοση 1.3, 14/11/2014 Χρησιμοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne. 1 Σωρός και Ταξινόμηση
Διαβάστε περισσότεραΤύποι Δεδομένων και Απλές Δομές Δεδομένων. Παύλος Εφραιμίδης V1.0 ( )
Τύποι Δεδομένων και Απλές Δομές Δεδομένων Παύλος Εφραιμίδης V1.0 (2014-01-13) Απλές Δομές Δεδομένων Στην ενότητα αυτή θα γνωρίσουμε ορισμένες απλές Δομές Δεδομένων και θα τις χρησιμοποιήσουμε για την αποδοτική
Διαβάστε περισσότερα8.6 Κλάσεις και αντικείμενα 8.7 Δείκτες σε γλώσσα μηχανής
ΚΕΦΑΛΑΙΟ 8: Αφαιρετικές έννοιες δεδομένων 8.1 Βασικές έννοιες δομών δεδομένων 8.2 Σχετικές έννοιες 8.3 Υλοποίηση δομών δεδομένων 8.4 Μια σύντομη μελέτη περίπτωσης 8.4 Προσαρμοσμένοι τύποι δεδομένων 8.6
Διαβάστε περισσότεραΟδηγός Ασκήσεων Υποδικτύωσης
Οδηγός Ασκήσεων Υποδικτύωσης Για να επιλύσουμε ασκήσεις υποδικτύωσης θα πρέπει: Να γνωρίζουμε μετατροπή από δυαδικό στο δεκαδικό και το ανάποδο (το βιβλίο και το βοήθημα περιγράφουν κάποιους εύκολους τρόπους).
Διαβάστε περισσότεραΔυαδικά Δέντρα Αναζήτησης (Binary Search Trees) Ορισμός : Ένα δυαδικό δέντρο αναζήτησης t είναι ένα δυαδικό δέντρο, το οποίο είτε είναι κενό είτε:
Δυαδικά Δέντρα Αναζήτησης (Binary Search Trees) Ορισμός : Ένα δυαδικό δέντρο αναζήτησης t είναι ένα δυαδικό δέντρο, το οποίο είτε είναι κενό είτε: (i) όλα τα περιεχόμενα στο αριστερό υποδέντρο του t είναι
Διαβάστε περισσότεραΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ
1 ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΚΕΦΑΛΑΙΟ 3ο: ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΑΛΓΟΡΙΘΜΟΙ ΜΕΡΟΣ 2 ο : ΣΤΟΙΒΑ & ΟΥΡΑ ΙΣΤΟΣΕΛΙΔΑ ΜΑΘΗΜΑΤΟΣ: http://eclass.sch.gr/courses/el594100/ ΣΤΟΙΒΑ 2 Μια στοίβα
Διαβάστε περισσότεραΟιβασικέςπράξειςπουορίζουντονΑΤΔ δυαδικό δέντρο αναζήτησης είναι οι ακόλουθες:
Δυαδικά Δέντρα Αναζήτησης (Binary Search Trees) Ορισμός : Ένα δυαδικό δέντρο αναζήτησης t είναι ένα δυαδικό δέντρο, το οποίο είτε είναι κενό είτε: (i) όλα τα περιεχόμενα στο αριστερό υποδέντρο του t είναι
Διαβάστε περισσότεραΔιάλεξη 12: Λίστες Υλοποίηση & Εφαρμογές. Διδάσκων: Παναγιώτης Ανδρέου
Διάλεξη 12: Λίστες Υλοποίηση & Εφαρμογές Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: -Ευθύγραμμες Απλά Συνδεδεμένες Λίστες (εύρεση, εισαγωγή, διαγραφή) - Σύγκριση Συνδεδεμένων Λιστών με Πίνακες
Διαβάστε περισσότεραΑφηρημένες Δομές Δεδομένων. Στοίβα (Stack) Υλοποίηση στοίβας
Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής ισαγωγή στην πιστήμη των Υπολογιστών 2015-16 λγόριθμοι και ομές εδομένων (IΙ) (γράφοι και δένδρα) http://di.ionio.gr/~mistral/tp/csintro/ Μ.Στεφανιδάκης φηρημένες
Διαβάστε περισσότεραΠελάτες φθάνουν στο ταμείο μιας τράπεζας Eνα μόνο ταμείο είναι ανοικτό Κάθε πελάτης παρουσιάζεται με ένα νούμερο - αριθμός προτεραιότητας Όσο ο
Ουρές προτεραιότητας Πελάτες φθάνουν στο ταμείο μιας τράπεζας Eνα μόνο ταμείο είναι ανοικτό Κάθε πελάτης παρουσιάζεται με ένα νούμερο - αριθμός προτεραιότητας Όσο ο αριθμός είναι μεγάλος, τόσο οι πελάτες
Διαβάστε περισσότεραΕνότητα 3: ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΑΛΓΟΡΙΘΜΟΙ
Ενότητα 3: ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΑΛΓΟΡΙΘΜΟΙ ΔΕΔΟΜΕΝΑ ΑΛΓΟΡΙΘΜΟΙ -ΠΛΗΡΟΦΟΡΙΑ: Δεδομένα: Αναπαράσταση της Πραγματικότητας Μπορούν να γίνουν αντιληπτά με μια από τις αισθήσεις μας Πληροφορία: Προκύπτει από
Διαβάστε περισσότεραΛύσεις Παλιών Θεµάτων. Συστήµατα Παράλληλης Επεξεργασίας, 9ο εξάµηνο Υπεύθ. Καθ. Νεκτάριος Κοζύρης
Λύσεις Παλιών Θεµάτων Συστήµατα Παράλληλης Επεξεργασίας, 9ο εξάµηνο Υπεύθ. Καθ. Νεκτάριος Κοζύρης Θέµα Φεβρουάριος 2003 1) Έστω ένας υπερκύβος n-διαστάσεων. i. Να βρεθεί ο αριθµός των διαφορετικών τρόπων
Διαβάστε περισσότεραInitialize each person to be free. while (some man is free and hasn't proposed to every woman) { Choose such a man m w = 1 st woman on m's list to
Κεφάλαιο 2 Δοµές Δεδοµένων Ι Χρησιµοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne. 1 Δοµές Δεδοµένων Ι Στην ενότητα αυτή θα γνωρίσουµε ορισµένες Δοµές Δεδοµένων και θα τις χρησιµοποιήσουµε
Διαβάστε περισσότεραΕνότητες 3 & 4: Δένδρα, Σύνολα & Λεξικά Ασκήσεις και Λύσεις
Ενότητες 3 & 4: Δένδρα, Σύνολα & Λεξικά Ασκήσεις και Λύσεις Άσκηση 1 Γράψτε μία αναδρομική συνάρτηση που θα παίρνει ως παράμετρο ένα δείκτη στη ρίζα ενός δυαδικού δένδρου και θα επιστρέφει το βαθμό του
Διαβάστε περισσότεραΚΕΦΑΛΑΙΟ 3 ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΑΛΓΟΡΙΘΜΟΙ
ΚΕΦΑΛΑΙΟ 3 ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΑΛΓΟΡΙΘΜΟΙ Τα δεδομένα (data) είναι η αφαιρετική αναπαράσταση της πραγματικότητας και συνεπώς μία απλοποιημένη όψη της. Η συλλογή των ακατέργαστων δεδομένων και ο συσχετισμός
Διαβάστε περισσότεραΣχεδιαση Αλγοριθμων -Τμημα Πληροφορικης ΑΠΘ - Κεφαλαιο 9ο
Σχεδίαση Αλγορίθμων Άπληστοι Αλγόριθμοι http://delab.csd.auth.gr/~gounaris/courses/ad 1 Άπληστοι αλγόριθμοι Προβλήματα βελτιστοποίησης ηςλύνονται με μια σειρά επιλογών που είναι: εφικτές τοπικά βέλτιστες
Διαβάστε περισσότερα