Κεφάλαιο 13 Αντισταθμιστική Ανάλυση

Save this PDF as:
 WORD  PNG  TXT  JPG

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

Download "Κεφάλαιο 13 Αντισταθμιστική Ανάλυση"

Transcript

1 Κεφάλαιο 13 Αντισταθμιστική Ανάλυση Περιεχόμενα 13.1 Αντισταθμιστική Ανάλυση Μέθοδοι Αντισταθμιστικής Ανάλυσης Η χρεωπιστωτική μέθοδος Η ενεργειακή μέθοδος Ασκήσεις Βιβλιογραφία Στο κεφάλαιο αυτό μελετάμε την Αντισταθμιστική Ανάλυση. Σε αντίθεση με τη ανάλυση πολυπλοκότητας στη χειρότερη περίπτωση, που σε πολλές περιπτώσεις μπορεί να υπερεκτιμά το κόστος μιας πράξης, η αντισταθμιστική ανάλυση βασίζεται στον υπολογισμό του μέσου κόστους μιας πράξης μετά από μια ακολουθία πράξεων, συχνά καταλήγοντας σε ακριβέστερες εκτιμήσεις της πολυπλοκότητας των πράξεων Αντισταθμιστική Ανάλυση Ας θεωρήσουμε έναν αλγόριθμο Α ο οποίος χρησιμοποιεί μια δομή δεδομένων Δ. Κατά τη διάρκεια εκτέλεσης του αλγορίθμου Α, η δομή Δ πραγματοποιεί μια ακολουθία από πράξεις. Υπό κάποιες συνθήκες η εκτέλεση μιας τέτοιας πράξης μπορεί να είναι ιδιαίτερα ακριβή. Όμως, κάτι τέτοιο μπορεί να μη συμβαίνει συχνά, οπότε η ανάλυση χειρότερης περίπτωσης υπερεκτιμά το συνολικό κόστος μιας ακολουθίας από τέτοιες πράξεις. Αντίθετα, μπορούμε να θεωρήσουμε το συνολικό κόστος ολόκληρης της ακολουθίας, από το οποίο να υπολογίσουμε το μέσο κόστος μιας τέτοιας πράξης, το οποίο να δίνει πιο αντιπροσωπευτική εκτίμηση του κόστους της πράξης. Για παράδειγμα, ας θεωρήσουμε το πρόβλημα της Εύρεσης-Ένωσης που είδαμε νωρίτερα. Μια λύση που μελετήσαμε βασιζόταν στη χρήση δενδρικών δομών στα οποία εφαρμόζαμε «σταθμισμένη ένωση με συμπίεση διαδρομής» (Στις Εικόνες 13.1 και 13.2 φαίνονται οι εκτελέσεις μίας πράξης ένωσης και μίας εύρεσης, αντίστοιχα.) Εικόνα 13.1: Εκτέλεση της πράξης της ένωσης των στοιχείων 3 και 6 που ανήκουν στα δύο δένδρα στα αριστερά. 248

2 Εικόνα 13.2: Εκτέλεση της πράξης της εύρεσης του συνόλου που περιέχει το στοιχείο 2. Ο χρόνος χειρότερης περίπτωσης για μια πράξη εύρεσης ή ένωσης είναι ανάλογος του ύψους του δένδρου που αναπαριστά το σύνολο το οποίο περιέχει το στοιχείο που μας ενδιαφέρει, το οποίο για n στοιχεία συνολικά μπορεί να είναι Θ(log n). Όμως, ο συνολικός χρόνος εκτέλεσης m πράξεων εύρεσης-ένωσης αποδεικνύεται ότι είναι O(m α(m, n)), με αποτέλεσμα ο μέσος χρόνος εκτέλεσης μιας τέτοιας πράξης να είναι O(α(m, n)), το οποίο αυξάνεται με ιδιαίτερα αργότερο ρυθμό από ό,τι ο λογάριθμος του n. Συνοψίζοντας, έστω f(n) το κόστος μιας πράξης στη χειρότερη πείπτωση. Τότε ο συνολικός χρόνος για m πράξεις είναι O(m f(n)). Ωστόσο, σε κάποιες περιπτώσεις, η ίδια πράξη μπορεί να έχει διαφορετικό κόστος ανάλογα με τη στιγμή που εκτελείται. Έτσι, αν και το κόστος μιας πράξης στη χειρότερη περίπτωση μπορεί να είναι μεγάλο, το μέσο κόστος ανά πράξη σε οποιαδήποτε ακολουθία πράξεων μπορεί να είναι αρκετά μικρότερο. Στην Αντισταθμιστική Ανάλυση, λαμβάνουμε το αντισταθμιστικό κόστος ανά πράξη, δηλαδή, το μέσο κόστος εκτέλεσης μιας πράξης, όταν εκτελούμε μια ακολουθία πράξεων χειρότερης περίπτωσης. Παράδειγμα 1. Διαχείριση στοίβας. Ας θεωρήσουμε μια στοίβα S στην οποία εκτός από τις λειτουργίες ώθησης S.push(x) και απώθησης S.pop( ) έχουμε και μια λειτουργία πολλαπλών απωθήσεων S. multpop(k) η οποία αφαιρεί από τη στοίβα S τα k πρώτα στοιχεία στην κορυφή της. Δεν ειναι δύσκολο να παρατηρήσει κανείς ότι ο χρόνος χειρότερης περίπτωσης για την εκτέλεση μιας πράξης ώθησης ή απώθησης είναι Θ(1), ενώ η εκτέλεση μιας πράξης πολλαπλής απώθησης ενδέχεται να απαιτήσει έως και Θ(k) χρόνο. Τότε, όμως, ο συνολικός χρόνος εκτέλεσης μιας ακολουθίας πράξεων στη στοίβα S μπορεί να είναι Θ(N k), καθώς οι περισσότερες από αυτές τις πράξεις μπορεί να είναι πολλαπλές απωθήσεις και καθεμία από αυτές να απαιτήσει Θ(k) χρόνο. Όμως, με πιο προσεκτική ανάλυση μπορούμε να παρατηρήσουμε ότι ο συνολικός χρόνος για τις N πράξεις είναι Ο(), οπότε το αντισταθμιστικό κόστος, δηλαδή ο μέσος χρόνος ανά πράξη, είναι μόνο Ο(1). Παράδειγμα 2. Επαύξηση δυαδικού μετρητή. Έστω ένας δυαδικός μετρητής C με k δυαδικά ψηφία. Μια πράξη επαύξησης θέτει την τιμή C του μετρητή ίση με C + 1 (mod 2 k ). Ο χρόνος για μία επαύξηση είναι ίσος με το πλήθος των δυαδικών ψηφίων τα οποία αλλάζουν τιμή. Στη χειρότερη περίπτωση ο χρόνος αυτός μπορεί να είναι Θ(k), οπότε ο συνολικός χρόνος για επαυξήσεις μπορεί να είναι Θ(N k). Και στην περίπτωση αυτή, με πιο προσεκτική ανάλυση μπορούμε να δείξουμε ότι ο συνολικός χρόνος για επαυξήσεις (ξεκινώντας με μηδενισμένο μετρητή) είναι Θ(N). Συνεπώς, το αντισταθμιστικό κόστος ανά πράξη είναι μόνο Ο(1). Αρκεί να παρατηρήσουμε ότι το 1ο ψηφίο από το τέλος αλλάζει με κάθε επαύξηση, το 2ο αλλάζει με κάθε δεύτερη επαύξηση, το 3ο με κάθε τέταρτη επαύξηση κ.ο.κ. Σε μια ακολουθία επαυξήσεων το -οστό ψηφίο από το τέλος αλλάζει συνολικά 2 1 φορές, oπότε το συνολικό πλήθος αλλαγών είναι 249

3 k 2 1 < 2N. Δηλαδή, ο συνολικός χρόνος για επαυξήσεις είναι Ο() Μέθοδοι Αντισταθμιστικής Ανάλυσης Υπάρχουν 3 μέθοδοι αντισταθμιστικής ανάλυσης: Αθροιστική μέθοδος Χρεωπιστωτική μέθοδος Ενεργειακή μέθοδος Στην ανάλυση της επαύξησης του δυαδικού μετρητή χρησιμοποιήσαμε την αθροιστική μέθοδο. Είναι σημαντικό να παρατηρήσουμε ότι σε αντίθεση με την αθροιστική μέθοδο, η χρεωπιστωτική μέθοδος και η ενεργειακή μέθοδος μπορούν να αποδώσουν διαφορετικό αντισταθμιστικό κόστος σε διαφορετικούς τύπους πράξεων Η χρεωπιστωτική μέθοδος Σύμφωνα με την χρεωπιστωτική μέθοδο (γνωστή και ως μέθοδος του τραπεζίτη) αποδίδουμε σε κάθε πράξη έναν αριθμό από πιστώσεις (credts). Οι πιστώσεις αυτές χρησιμοποιούνται, για να αποπληρωθούν οι πράξεις. Όταν μια πράξη κοστίζει λιγότερο από την αντίστοιχη πίστωση, τότε το υπόλοιπο αποθηκεύεται σε κάποια αντικείμενα της δομής. Όταν μια πράξη κοστίζει περισσότερο από την αντίστοιχη πίστωση, τότε η υπολειπόμενη χρέωση καλύπτεται από αποθηκευμένες πιστώσεις. Αν οι πιστώσεις που αποδώσαμε στις πράξεις αρκούν, για να αποπληρώσουν οποιαδήποτε ακολουθία πράξεων, τότε το αντισταθμιστικό κόστος μιας πράξης είναι ίσο με τον αριθμό των πιστώσεων που της αποδώσαμε. Ας επιστρέψουμε στο πρόβλημα της διαχείρισης λίστας. Υπενθυμίζουμε ότι το κόστος μιας ώθησης και μιας απώθησης είναι σταθερό, ενώ το κόστος μιας πολλαπλής απώθησης είναι mn{k, S }. Ας θεωρήσουμε ότι αναθέτουμε 2 μονάδες πίστωσης για κάθε ώθηση και 0 μονάδες πίστωσης σε κάθε απλή και πολλαπλή απώθηση. Πρέπει να δείξουμε ότι οι πιστώσεις αρκούν, για να αποπληρώσουν οποιαδήποτε ακολουθία πράξεων. Για κάθε ώθηση, η μία μονάδα πίστωσης πληρώνει για την εκτέλεση της ώθησης, ενώ η δεύτερη αποθηκεύεται στο στοιχείο που ωθήθηκε. Σε κάθε απλή η πολλαπλή απώθηση, η απομάκρυνση των αντικειμένων που απωθούνται απόπληρώνεται από τη μία μονάδα πίστωσης που είναι αποθηκευμένη σε κάθε ένα από αυτά τα αντικείμενα. Άρα, οι πιστώσεις που αποδόθηκαν επαρκούν για οποιαδήποτε ακολουθία πράξεων και, άρα,ο συνολικός χρόνος για την εκτέλεση πράξεων είναι Ο(). Με παρόμοιο τρόπο μπορούμε να δείξουμε ότι ο συνολικός χρόνος που απαιτείται για επαυξήσεις ενός δυαδικού μετρητή ξεκινώντας από το 0 είναι Ο(). Σημειώνουμε ότι η αλλαγή ενός δυαδικού ψηφίου απαιτεί σταθερό χρόνο. Ας θεωρήσουμε ότι αναθέτουμε 2 μονάδες πίστωσης σε κάθε αλλαγή ενός δυαδικού ψηφίου από 0 σε 1 και 0 μονάδες πίστωσης σε κάθε αλλαγή ενός δυαδικού ψηφίου από 1 σε 0. Συνεπώς, για κάθε αλλαγή από 0 σε 1, μία μονάδα πίστωσης χρησιμοποιείται για την αλλαγή αυτή, ενώ η δεύτερη μονάδα αποθηκεύεται 250

4 στο 1. Άρα, δεδομένου ότι ο δυαδικός μετρητής ξεκινά από την τιμή 0, σε κάθε στιγμή κάθε δυαδικό ψηφίου που είναι 1 φέρει μία μονάδα πίστωσης. Αυτή η μονάδα αρκεί για την αποπληρωμή τυχόν αλλαγής του δυαδικού ψηφίου ξανά σε 0. Για παράδειγμα, ας θεωρήσουμε ότι ο μετρητής έχει τη δυαδική τιμή Η τιμή του μετρητή μετά από μία επαύξηση είναι Συνολικά εχουν αλλάξει 5 δυαδικά ψηφία και, άρα, το κόστος της επαύξησης είναι 5. Αυτό αποπληρώνεται από τις 4 αποθηκευμένες μονάδες πίστωσης στα 4 δεξιότερα δυαδικά ψηφία της τιμής , που είναι 1 (και γίνονται 0) και από τη μία από τις 2 μονάδες πίστωσης λόγω της αλλαγής του 5ου από το τέλος δυαδικού ψηφίου από 0 σε 1. Η δεύτερη μονάδα αποθηκεύεται στο 1 (που είναι 5ο από το τέλος) Η ενεργειακή μέθοδος Σύμφωνα με την ενεργειακή μέθοδο (γνωστή και ως μέθοδος του φυσικού) αποδίδουμε στη δομή δεδομένων D μια συνάρτηση δυναμικού ή «δυναμικής ενέργειας» (potental functon), που συνήθως συμβολίζεται με Φ(D) και λαμβάνει πραγματικές τιμές. Έστω D 0 η αρχική δομή δεδομένων και D η δομή μετά την -οστή πράξη. Επίσης, έστω c το κόστος της -οστής πράξης. Το αντισταθμιστικό κόστος της -οστής πράξης είναι c = c + Φ(D ) Φ(D 1 ). Τότε το συνολικό αντισταθμιστικό κόστος μετά από πράξεις είναι: ĉ = (c + Φ(D ) Φ(D 1 )) = ( c ) + Φ(D N ) Φ(D 0 ). Θέλουμε Φ(D N ) Φ(D 0 ) έτσι ώστε c ĉ. Το αντισταθμιστικό κόστος c = c + Φ(D ) Φ(D 1 ) της -οστής πράξης συνεπάγεται ότι: Αν Φ(D ) Φ(D 1 ) > 0, τότε η δομή συγκεντρώνει δυναμικό και c > c. Αν Φ(D ) Φ(D 1 ) < 0, τότε η δομή χάνει δυναμικό και c < c. Δηλαδή, το κόστος μιας ακριβής πράξης αποπληρώνεται από τη διαφορά δυναμικού. Σημειώνουμε, επίσης, ότι, επειδή θέλουμε Φ(D N ) Φ(D 0 ) για οποιοδήποτε πλήθος πράξεων, απαιτούμε να ισχύει ότι Φ(D ) Φ(D 0 ) για κάθε = 1, 2,. Για το πρόβλημα της διαχείρισης στοίβας, επιλέγουμε Φ(S) = πλήθος αντικειμένων στη στοίβα S. Για αρχικά κενή στοίβα S 0 έχουμε Φ(S 0 ) = 0, το οποίο συνεπάγεται ότι για κάθε ακέραιο 0, Φ(S ) Φ(S 0 ) = 0, που με τη σειρά του συνεπάγεται ότι j=1 c j j=1 ĉ j για κάθε 0. Επομένως, το συνολικό αντισταθιστικό κόστος αποτελεί άνω φράγμα του συνολικού πραγματικού κόστους. Μένει να υπολογίσουμε το αντισταθμιστικό κόστος c για καθεμία από τις 3 πράξεις της στοίβας. Έστω ότι η -οστή πράξη είναι ώθηση (push). Έχουμε ότι c = 1 και Φ(S ) = Φ(S 1 ) + 1, επομένως c = c + Φ(S ) Φ(S 1 ) = 2. Έστω ότι η -οστή πράξη είναι (απλή) απώθηση (pop). Έχουμε ότι c = 1 και Φ(S ) = Φ(S -1) - 1, επομένως c = c + Φ(S ) Φ(S 1 ) = 0. Έστω ότι η -οστή πράξη είναι πολλαπλή απώθηση (multpop). Έχουμε ότι c = mn{k, S } και Φ(S ) = Φ(S 1 ) mn{k, S }, επομένως c = c + Φ(S ) Φ(S 1 ) =

5 Άρα, ο συνολικός χρόνος για την εκτέλεση N πράξεων είναι Ο(). Για το πρόβλημα της επαύξησης δυαδικού μετρητή, επιλέγουμε Φ(D) = πλήθος ψηφίων ίσων με 1 στη δυαδική τιμή D του μετρητή. Για αρχικά μηδενισμένο μετρητή, έχουμε Φ(D 0 ) = 0 το οποίο συνεπάγεται ότι για κάθε ακέραιο 0, Φ(D ) Φ(D 0 ) = 0, που με τη σειρά του συνεπάγεται ότι j=1 c j j=1 ĉ j για κάθε 0. Επομένως, και σε αυτήν την περίπτωση το συνολικό αντισταθιστικό κόστος αποτελεί άνω φράγμα του συνολικού πραγματικού κόστους. Μένει να υπολογίσουμε το αντισταθμιστικό κόστος c για μία επαύξηση της τιμής του μετρητή. Έστω Φ(D 1 ) = b 1 και Φ(D ) = b. Επίσης, έστω ότι η -οστή πράξη μηδενίζει t δυαδικά ψηφία. Έχουμε c t + 1 και b b 1 t + 1, επομένως c = c + Φ(D ) Φ(D 1 ) t b b 1 2. Εάν έχουμε Φ(D 0 ) = b 0 και Φ(D N ) = b N, τότε c = (ĉ (Φ(D N ) Φ(D 0 ))) 2 N b N + b 0 2 N + k. Επομένως, αν πραγματοποιήσουμε N = Ω(k) επαυξήσεις τότε ο συνολικός χρόνος που αυτές απαιτούν είναι = Ο() ανεξάρτητα από την αρχική τιμή του μετρητή. c Ασκήσεις 13.1 Θέλουμε να κατασκευάσουμε μια δομή δεδομένων που να υποστηρίζει δυαδική αναζήτηση αλλά και την αποδοτική εισαγωγή νέων στοιχείων. Θυμηθείτε ότι για τη δυαδική αναζήτηση ενός στοιχείου x σε ένα ταξινομημένο πίνακα Α[1: n] συγκρίνουμε το x με το μεσαίο στοιχείο A[m], όπου m = n+1 : (α) αν x = A[m], τότε το στοιχείο έχει βρεθεί, (β) αν 2 x < A[m], τότε ψάχνουμε αναδρομικά τον υποπίνακα Α[1: m 1] και (γ), αν x > A[m], τότε ψάχνουμε αναδρομικά τον υποπίνακα A[m + 1: n]. Ωστόσο, η εισαγωγή ενός νέου στοιχείου y στο διατεταγμένο πίνακα Α δεν είναι αποδοτική, ακόμα και αν ο πίνακας έχει κενές θέσεις στο τέλος (όπως θα συνέβαινε με μία υλοποίηση με δυναμικό πίνακα). Π.χ. αν Α = [2, 5, 19, 22, 35, 48, 81, 95, 101, 110, 134, 149, 256, κενό] και y = 1, τότε όλα τα στοιχεία του Α πρέπει να μετακινηθούν μία θέση δεξιά, με αποτέλεσμα η εισαγωγή να γίνεται σε Ο(n) χρόνο. Για αυτό το λόγο προτείνουμε την ακόλουθη δομή. Έστω k = lg(n + 1), ο αριθμός των bts που χρειάζονται για τη δυαδική αναπαράσταση n k 1, n k 2,, n 1, n 0 του n. Π.χ. για n = 13 έχουμε k = lg(n + 1) = lg 14 = 4 και n = 13 = Η δομή αποτελείται από k διατεταγμένους πίνακες A, 0 k 1. Αν n = 0, τότε ο A είναι κενός, διαφορετικά (όταν n = 1) ο A περιέχει 2 διατεταγμένα στοιχεία. Π.χ. για το παραπάνω παράδειγμα με n = 13 θα μπορούσαμε να έχουμε τους πίνακες A 0 = [35], A 1 = [ ] (κενός πίνακας), A 2 = [2, 48, 81, 149] και A 3 = [5, 19, 22, 95, 101, 110, 134, 256]. Προσέξτε ότι τα στοιχεία ενός πίνακα είναι διατεταγμένα αλλά δεν υπάρχει κάποια συγκεκριμένη σχέση μεταξύ των στοιχείων διαφορετικών πινάκων. α) Δώστε ένα αλγόριθμο αναζήτησης σε αυτή τη δομή. Ποιος είναι ο χρόνος εκτέλεσης χειρότερης περίπτωσης; 252

6 β) Περιγράψτε έναν αλγόριθμο εισαγωγής ενός νέου στοιχείου στη δομή μας. Αναλύστε το χρόνο εκτέλεσης χειρότερης περίπτωσης καθώς και τον αντισταθμιστικό χρόνο εκτέλεσης της εισαγωγής. γ) Μελετήστε τρόπους αποδοτικής υλοποίησης της διαδικασίας διαγραφής ενός στοιχείου από τη δομή. Υποθέστε ότι δεν υπάρχουν διπλά στοιχεία αποθηκευμένα στη δομή Έχουμε δει ότι ο αντισταθμιστικός χρόνος επαύξησης (πρόσθεσης με το 1) ενός δυαδικού μετρητή b k 1, b k 2,, b 1, b 0 με k bts είναι Ο(1), παρόλο που στη χειρότερη περίπτωση μια επαύξηση χρειάζεται Ο(k) χρόνο. Σε αυτήν την άσκηση θα δούμε πως μπορούμε να κάνουμε επαύξηση του μετρητή σε Ο(1) χρόνο χειρότερης περίπτωσης (δηλαδή κάθε επαύξηση θα γίνεται σε σταθερό αριθμό βημάτων). Η ιδέα βασίζεται στη χρήση ενός πλεονάζοντος αριθμητικού συστήματος: επιτρέπουμε κάποια bts να λάβουν την τιμή 2 με ελεγχόμενο, όμως, τρόπο. Ο αριθμός που αναπαριστά μια τέτοια ακολουθία b k 1, b k 2,, b 1, b 0 σε αυτό το σύστημα υπολογίζεται με τον τύπο k 1 =0 b 2, όπως και στην κανονική δυαδική αναπαράσταση, μόνο που τώρα η ίδια τιμή μπορεί να αντιστοιχεί σε περισσότερες ακολουθίες. Π.χ. 9 = = 1001 αλλά, επίσης, 9 = = 121 και 9 = = 201. Για να επιτύχουμε γρήγορη επαύξηση πρέπει να αποτρέψουμε την εμφάνιση διαδοχικών 2 στην ακολουθία b k 1, b k 2,, b 1, b 0, οπότε πρέπει να θέσουμε κάποιους κανόνες. Θα χρειαστούμε μερικούς χρήσιμους ορισμούς : Μια ακολουθία στο πλεονάζον αριθμητικό σύστημα είναι κανονική, εάν τα 2 και τα 0 εναλλάσσονται (δηλαδή ανάμεσα από διαδοχικά 2 μεσολαβεί κάποιο 0 και αντιστρόφως). Π.χ. η 2012 είναι κανονική αλλά όχι και η Όταν το τελευταίο ψηφίο που δεν είναι 1 έχει τιμή 0, τότε λέμε ότι η ακολουθία έχει εκτεθειμένο 0. Π.χ. η ακολουθία 2001 έχει εκτεθειμένο 0 (αλλά δεν είναι κανονική), όπως και η (η οποία είναι κανονική). Όταν το τελευταίο ψηφίο που δεν είναι 1 έχει τιμή 2, τότε λέμε ότι η ακολουθία έχει εκτεθειμένο 2. Π.χ. η ακολουθία 2102 έχει εκτεθειμένο 2 (και είναι κανονική). Παρατηρήστε ότι ακόμα και με κανονικές ακολουθίες υπάρχει πλεονασμός, π.χ. 18 = 1202 = Εξηγήστε πώς μπορούμε να επιτύχουμε επαύξηση μιας κανονικής ακολουθίας σε Ο(1) χρόνο χειρότερης περίπτωσης. Tο αποτέλεσμα της επαύξησης πρέπει να είναι κανονική ακολουθία έτσι ώστε να μπορούμε να συνεχίσουμε τις επαυξήσεις. Υπόδειξη: Η προβληματική περίπτωση είναι όταν η ακολουθία μας έχει εκτεθειμένο 2. Πριν γίνει η επαύξηση, πρέπει να μετατραπεί σε ακολουθία με εκτεθειμένο 0 σε Ο(1) χρόνο. Για να επιτευχθεί αυτό, πρέπει να γνωρίζουμε τη θέση του τελευταίου 2. Αυτό γίνεται εύκολα, αν διατηρούμε τις θέσεις των 2 σε μια στοίβα (πίνακα) με το τελευταίο 2 να βρίσκεται στην κορυφή της Θέλουμε να αναλύσουμε την απόδοση μιας δομής δεδομένων που χειρίζεται διατεταγμένες λίστες ακεραίων από το σύνολο {1,2,3,, n} και υποστηρίζει την πράξη της συγχώνευσης δύο λιστών. Αρχικά, κάθε ακέραιος αποτελεί μια ξεχωριστή λίστα. Η πράξη συγχώνευση(α,β) δημιουργεί μια νέα λίστα C με τα στοιχεία των λιστών Α και Β. Μετά τη συγχώνευση οι δύο λίστες Α και Β έχουν καταστραφεί. Για παράδειγμα, αν έχουμε Α = 253

7 2, 5, 8, 12,21 και Β = 1, 15, 18, 22, 34, 55, τότε η συγχώνευσή τους δίνει μια νέα λίστα C = 1, 2, 5, 8, 12, 15, 18, 21, 22, 34, 55. Για να λύσουμε το παραπάνω πρόβλημα, αποθηκεύουμε κάθε λίστα σε μια δομή δεδομένων η οποία εκτελεί όλες τις παρακάτω πράξεις σε χρόνο f(n). ελάχιστο(a): Επιστρέφει το ελάχιστο στοιχείο της λίστας Α. αναζήτηση(a,x): Βρίσκει τη θέση του ακέραιου x στη λίστα Α. διαχωρισμός(a,x): Χωρίζει τη λίστα A στη θέση x. Επιστρέφει δύο νέες λίστες B και C όπου η Β περιέχει τους ακέραιους της Α που είναι x και η C περιέχει τους ακέραιους της Α που είναι > x. ένωση(α,β): Προϋποθέτει ότι όλοι οι ακέραιοι της λίστας A είναι μικρότεροι από τους ακέραιους της λίστας Β. Επιστρέφει μια νέα λίστα C με την ένωση των Α και B. α) Δείξτε πώς υλοποιείται η πράξη συγχώνευση(α,β) συνδυάζοντας τις παραπάνω πράξεις. Ποιος είναι ο χρόνος εκτέλεσης της; β) Τώρα θέλουμε να δείξουμε ότι ο αντισταθμιστικός χρόνος της συγχώνευσης είναι O(f(n) log n), ξεκινώντας από n λίστες με ένα ακέραιο η κάθε μια. Για το σκοπό αυτό θα ορίσουμε το δυναμικό φ(a j ) ενός ακέραιου a j ως εξής. Έστω ότι ο a j ανήκει στη λίστα Α = a 1,, a j 1, a j, a j+1,, a k. Αν το a j είναι το μοναδικό στοιχείο της λίστας, τότε φ(a j ) = 2 log n. Διαφορετικά, έχουμε τις ακόλουθες περιπτώσεις. Αν το a j είναι το πρώτο στοιχείο της λίστας (j = 1), τότε φ(a j ) = log n + log(a j+1 a j ). Αν το a j είναι το τελευταίο στοιχείο της λίστας (j = k) τότε φ(a j ) = log(a j a j 1 ) + log n. Διαφορετικά (1 < j < k) έχουμε φ(a j ) = log(a j a j 1 ) + log(a j+1 a j ). Το ολικό δυναμικό Φ της δομής είναι το άθροισμα των επιμέρους δυναμικών φ(a j ). Αρχικά, αφού κάθε λίστα έχει μόνο ένα στοιχείο, έχουμε Φ = 2n log n. Στη συνέχεια, κάθε πράξη συγχώνευσης έχει ως αποτέλεσμα τη μείωση του δυναμικού. Με τη βοήθεια της παραπάνω συνάρτησης δείξτε ότι σε οποιαδήποτε ακολουθία m συγχωνεύσεων θα γίνουν το πολύ O(m log n) πράξεις αναζήτησης, διαχωρισμού και ένωσης. Καταλήξτε στο συμπέρασμα ότι ο αντισταθμιστικός χρόνος της συγχώνευσης είναι O(f(n) log n). Βιβλιογραφία Cormen, T., Leserson, C., Rvest, R., & Stan, C. (2001). Introducton to Algorthms. MIT Press (2nd edton). Mehlhorn, K., & Sanders, P. (2008). Algorthms and Data Structures: The Basc Toolbox. Sprnger-Verlag. Tarjan, R. E. (1983). Data Structures and Network Algorthms. Socety for Industral and Appled Mathematcs. Γεωργακόπουλος, Γ. Φ. (2011). Δομές Δεδομένων. Πανεπιστημιακές εκδόσεις Κρήτης. 254

Αντισταθμιστική ανάλυση

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

Διαβάστε περισσότερα

Ισορροπημένα Δένδρα. για κάθε λειτουργία; Ισορροπημένο δένδρο : Διατηρεί ύψος κάθε εισαγωγή ή διαγραφή

Ισορροπημένα Δένδρα. για κάθε λειτουργία; Ισορροπημένο δένδρο : Διατηρεί ύψος κάθε εισαγωγή ή διαγραφή Ισορροπημένα Δένδρα Μπορούμε να επιτύχουμε για κάθε λειτουργία; χρόνο εκτέλεσης Ισορροπημένο δένδρο : Διατηρεί ύψος κάθε εισαγωγή ή διαγραφή μετά από Περιστροφές x αριστερή περιστροφή από το x y α β y

Διαβάστε περισσότερα

Ισορροπημένα Δένδρα. για κάθε λειτουργία; Ισορροπημένο δένδρο : Διατηρεί ύψος κάθε εισαγωγή ή διαγραφή

Ισορροπημένα Δένδρα. για κάθε λειτουργία; Ισορροπημένο δένδρο : Διατηρεί ύψος κάθε εισαγωγή ή διαγραφή Ισορροπημένα Δένδρα Μπορούμε να επιτύχουμε για κάθε λειτουργία; χρόνο εκτέλεσης Ισορροπημένο δένδρο : Διατηρεί ύψος κάθε εισαγωγή ή διαγραφή μετά από Περιστροφές x αριστερή περιστροφή από το x y α β y

Διαβάστε περισσότερα

Εισαγωγή ενός νέου στοιχείου. Επιλογή i-οστoύ στοιχείου : Εύρεση στοιχείου με το i-οστό μικρότερο κλειδί

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

Διαβάστε περισσότερα

Ουρά Προτεραιότητας (priority queue)

Ουρά Προτεραιότητας (priority queue) Ουρά Προτεραιότητας (priority queue) Δομή δεδομένων που υποστηρίζει τις ακόλουθες λειτουργίες PQinsert : εισαγωγή στοιχείου PQdelmax : επιστροφή του στοιχείου με το μεγαλύτερο* κλειδί και διαγραφή του

Διαβάστε περισσότερα

Πληροφορική 2. Δομές δεδομένων και αρχείων

Πληροφορική 2. Δομές δεδομένων και αρχείων Πληροφορική 2 Δομές δεδομένων και αρχείων 1 2 Δομή Δεδομένων (data structure) Δομή δεδομένων είναι μια συλλογή δεδομένων που έχουν μεταξύ τους μια συγκεκριμένη σχέση Παραδείγματα δομών δεδομένων Πίνακες

Διαβάστε περισσότερα

Πληροφορική 2. Αλγόριθμοι

Πληροφορική 2. Αλγόριθμοι Πληροφορική 2 Αλγόριθμοι 1 2 Τι είναι αλγόριθμος; Αλγόριθμος είναι ένα διατεταγμένο σύνολο από σαφή βήματα το οποίο παράγει κάποιο αποτέλεσμα και τερματίζεται σε πεπερασμένο χρόνο. Ο αλγόριθμος δέχεται

Διαβάστε περισσότερα

Εισαγωγή στην επιστήμη των υπολογιστών. Λογισμικό Υπολογιστών Κεφάλαιο 8ο Αλγόριθμοι

Εισαγωγή στην επιστήμη των υπολογιστών. Λογισμικό Υπολογιστών Κεφάλαιο 8ο Αλγόριθμοι Εισαγωγή στην επιστήμη των υπολογιστών Λογισμικό Υπολογιστών Κεφάλαιο 8ο Αλγόριθμοι 1 Έννοια Ανεπίσημα, ένας αλγόριθμος είναι μια βήμα προς βήμα μέθοδος για την επίλυση ενός προβλήματος ή την διεκπεραίωση

Διαβάστε περισσότερα

Ταξινόμηση. 1. Ταξινόμηση με Εισαγωγή 2. Ταξινόμηση με Επιλογή. Εισαγωγή στην Ανάλυση Αλγορίθμων Μάγια Σατρατζέμη

Ταξινόμηση. 1. Ταξινόμηση με Εισαγωγή 2. Ταξινόμηση με Επιλογή. Εισαγωγή στην Ανάλυση Αλγορίθμων Μάγια Σατρατζέμη Ταξινόμηση. Ταξινόμηση με Εισαγωγή. Ταξινόμηση με Επιλογή Εισαγωγή στην Ανάλυση Αλγορίθμων Μάγια Σατρατζέμη Ταξινόμηση Η ταξινόμηση sortg τοποθετεί ένα σύνολο κόμβων ή εγγραφών σε μία συγκεκριμένη διάταξη

Διαβάστε περισσότερα

Πανεπιστήμιο Ιωαννίνων Τμήμα Πληροφορικής Δομές Δεδομένων [ΠΛΥ302] Χειμερινό Εξάμηνο 2012

Πανεπιστήμιο Ιωαννίνων Τμήμα Πληροφορικής Δομές Δεδομένων [ΠΛΥ302] Χειμερινό Εξάμηνο 2012 Πανεπιστήμιο Ιωαννίνων Τμήμα Πληροφορικής Δομές Δεδομένων [ΠΛΥ302] Χειμερινό Εξάμηνο 2012 Ενδεικτικές απαντήσεις 1 ου σετ ασκήσεων. Άσκηση 1 Πραγματοποιήσαμε μια σειρά μετρήσεων του χρόνου εκτέλεσης τριών

Διαβάστε περισσότερα

Πανεπιστήμιο Ιωαννίνων Τμήμα Μηχανικών Η/Υ και Πληροφορικής Δομές Δεδομένων [ΠΛΥ302] Χειμερινό Εξάμηνο 2013

Πανεπιστήμιο Ιωαννίνων Τμήμα Μηχανικών Η/Υ και Πληροφορικής Δομές Δεδομένων [ΠΛΥ302] Χειμερινό Εξάμηνο 2013 Πανεπιστήμιο Ιωαννίνων Τμήμα Μηχανικών Η/Υ και Πληροφορικής Δομές Δεδομένων [ΠΛΥ302] Χειμερινό Εξάμηνο 2013 Λυμένες Ασκήσεις Σετ Α: Ανάλυση Αλγορίθμων Άσκηση 1 Πραγματοποιήσαμε μια σειρά μετρήσεων του

Διαβάστε περισσότερα

Υπολογιστικά & Διακριτά Μαθηματικά

Υπολογιστικά & Διακριτά Μαθηματικά Υπολογιστικά & Διακριτά Μαθηματικά Ενότητα 1: Εισαγωγή- Χαρακτηριστικά Παραδείγματα Αλγορίθμων Στεφανίδης Γεώργιος Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons.

Διαβάστε περισσότερα

Αλγόριθμοι και Πολυπλοκότητα

Αλγόριθμοι και Πολυπλοκότητα Αλγόριθμοι και Πολυπλοκότητα Ροή Δικτύου Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Μοντελοποίηση Δικτύων Μεταφοράς Τα γραφήματα χρησιμοποιούνται συχνά για την μοντελοποίηση

Διαβάστε περισσότερα

Δυναμικός Κατακερματισμός. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Δυναμικός Κατακερματισμός. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Δυναμικός Κατακερματισμός Βάσεις Δεδομένων 2013-2014 Ευαγγελία Πιτουρά 1 Κατακερματισμός Τι αποθηκεύουμε στους κάδους; Στα παραδείγματα δείχνουμε μόνο την τιμή του πεδίου κατακερματισμού Την ίδια την εγγραφή

Διαβάστε περισσότερα

Όρια Αλγόριθμων Ταξινόμησης. Εισαγωγή στην Ανάλυση Αλγορίθμων Μάγια Σατρατζέμη

Όρια Αλγόριθμων Ταξινόμησης. Εισαγωγή στην Ανάλυση Αλγορίθμων Μάγια Σατρατζέμη Όρια Αλγόριθμων Ταξινόμησης Εισαγωγή στην Ανάλυση Αλγορίθμων Μάγια Σατρατζέμη Όρια Αλγόριθμων Ταξινόμησης Μέχρι στιγμής εξετάσθηκαν μέθοδοι ταξινόμησης µε πολυπλοκότητα της τάξης Θ ) ή Θlog ). Τι εκφράζει

Διαβάστε περισσότερα

Τι είναι αλγόριθμος; Υποπρογράμματα (υποαλγόριθμοι) Βασικές αλγοριθμικές δομές

Τι είναι αλγόριθμος; Υποπρογράμματα (υποαλγόριθμοι) Βασικές αλγοριθμικές δομές Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2015-16 Αλγόριθμοι και Δομές Δεδομένων (Ι) (εισαγωγικές έννοιες) http://di.ionio.gr/~mistral/tp/csintro/ Μ.Στεφανιδάκης Τι είναι

Διαβάστε περισσότερα

Αναζήτηση. 1. Σειριακή αναζήτηση 2. Δυαδική Αναζήτηση. Εισαγωγή στην Ανάλυση Αλγορίθμων Μάγια Σατρατζέμη

Αναζήτηση. 1. Σειριακή αναζήτηση 2. Δυαδική Αναζήτηση. Εισαγωγή στην Ανάλυση Αλγορίθμων Μάγια Σατρατζέμη Αναζήτηση. Σειριακή αναζήτηση. Δυαδική Αναζήτηση Εισαγωγή στην Ανάλυση Αλγορίθμων Μάγια Σατρατζέμη Παραδοχή Στη συνέχεια των διαφανειών (διαλέξεων) η ασυμπτωτική έκφραση (συμβολισμός Ο, Ω, Θ) του χρόνου

Διαβάστε περισσότερα

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ Ενότητα 6α: Αναζήτηση Μαρία Σατρατζέμη Τμήμα Εφαρμοσμένης Πληροφορικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commos. Για εκπαιδευτικό

Διαβάστε περισσότερα

Ασκήσεις (2) Άσκηση 1

Ασκήσεις (2) Άσκηση 1 Άσκηση 1 Ασκήσεις () Εισαγωγή στην Ανάλυση Αλγορίθμων Υποθέστε ότι συγκρίνουμε την υλοποίηση της ταξινόμησης με εισαγωγή και της ταξινόμησης με συγχώνευση στον ίδιο υπολογιστή. Για εισόδους μεγέθους n,

Διαβάστε περισσότερα

Εισαγωγή στην Ανάλυση Αλγορίθμων (2-3)

Εισαγωγή στην Ανάλυση Αλγορίθμων (2-3) Εισαγωγή στην Ανάλυση Αλγορίθμων (2-3) 3.1 Ασυμπτωτικός συμβολισμός (Ι) Οι ορισμοί που ακολουθούν μας επιτρέπουν να επιχειρηματολογούμε με ακρίβεια για την ασυμπτωτική συμπεριφορά. Οι f(n) και g(n) συμβολίζουν

Διαβάστε περισσότερα

Ουρά Προτεραιότητας (priority queue)

Ουρά Προτεραιότητας (priority queue) Ουρά Προτεραιότητας (priority queue) Δομή δεδομένων που υποστηρίζει δύο βασικές λειτουργίες : Εισαγωγή στοιχείου με δεδομένο κλειδί. Επιστροφή ενός στοιχείου με μέγιστο (ή ελάχιστο) κλειδί και διαγραφή

Διαβάστε περισσότερα

Δομές Δεδομένων (Data Structures)

Δομές Δεδομένων (Data Structures) Δομές Δεδομένων (Data Structures) Ανάλυση - Απόδοση Αλγορίθμων Έλεγχος Αλγορίθμων. Απόδοση Προγραμμάτων. Χωρική/Χρονική Πολυπλοκότητα. Ασυμπτωτικός Συμβολισμός. Παραδείγματα. Αλγόριθμοι: Βασικές Έννοιες

Διαβάστε περισσότερα

Διαίρει και Βασίλευε. πρόβλημα μεγέθους Ν. διάσπαση. πρόβλημα μεγέθους k. πρόβλημα μεγέθους Ν-k

Διαίρει και Βασίλευε. πρόβλημα μεγέθους Ν. διάσπαση. πρόβλημα μεγέθους k. πρόβλημα μεγέθους Ν-k Διαίρει και Βασίλευε πρόβλημα μεγέθους Ν διάσπαση πρόβλημα μεγέθους k πρόβλημα μεγέθους Ν-k Διαίρει και Βασίλευε πρόβλημα μεγέθους Ν διάσπαση επιλύουμε αναδρομικά τα υποπροβλήματα πρόβλημα μεγέθους k πρόβλημα

Διαβάστε περισσότερα

ΕΝΟΤΗΤΑ 9 ΕΝΩΣΗ ΞΕΝΩΝ ΣΥΝΟΛΩΝ ( ΟΜΕΣ UNION-FIND)

ΕΝΟΤΗΤΑ 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. Λειτουργίες που θέλουµε

Διαβάστε περισσότερα

Επαναληπτικές Ασκήσεις. Ρίζου Ζωή

Επαναληπτικές Ασκήσεις. Ρίζου Ζωή Επαναληπτικές Ασκήσεις Ρίζου Ζωή email: zrizou@ee.duth.gr Άσκηση 1 Τι πραγματεύεται το θεώρημα Euler; Απάντηση Ψευδογραφήματα που περιέχουν ένα κύκλωμα στο ψευδογραφήματα, των οποίων ο βαθμός κάθε κορυφής

Διαβάστε περισσότερα

Αλγόριθμοι και Πολυπλοκότητα

Αλγόριθμοι και Πολυπλοκότητα Αλγόριθμοι και Πολυπλοκότητα Ανάλυση Αλγορίθμων Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ανάλυση Αλγορίθμων Η ανάλυση αλγορίθμων περιλαμβάνει τη διερεύνηση του τρόπου

Διαβάστε περισσότερα

Αφηρημένες Δομές Δεδομένων. Στοίβα (Stack) Υλοποίηση στοίβας

Αφηρημένες Δομές Δεδομένων. Στοίβα (Stack) Υλοποίηση στοίβας Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής ισαγωγή στην πιστήμη των Υπολογιστών 2015-16 λγόριθμοι και ομές εδομένων (IΙ) (γράφοι και δένδρα) http://di.ionio.gr/~mistral/tp/csintro/ Μ.Στεφανιδάκης φηρημένες

Διαβάστε περισσότερα

Ενότητες 3 & 4: Δένδρα, Σύνολα & Λεξικά Ασκήσεις και Λύσεις

Ενότητες 3 & 4: Δένδρα, Σύνολα & Λεξικά Ασκήσεις και Λύσεις Ενότητες 3 & 4: Δένδρα, Σύνολα & Λεξικά Ασκήσεις και Λύσεις Άσκηση 1 Γράψτε μία αναδρομική συνάρτηση που θα παίρνει ως παράμετρο ένα δείκτη στη ρίζα ενός δυαδικού δένδρου και θα επιστρέφει το βαθμό του

Διαβάστε περισσότερα

Δυναμική Διατήρηση Γραμμικής Διάταξης

Δυναμική Διατήρηση Γραμμικής Διάταξης Διατηρεί μια γραμμική διάταξη δυναμικά μεταβαλλόμενης συλλογής στοιχείων. Υποστηρίζει τις λειτουργίες: Εισαγωγή νέου στοιχείου y αμέσως μετά από το στοιχείο x. x y Διαγραφή στοιχείου y. y Έλεγχος της σειράς

Διαβάστε περισσότερα

Δομές Δεδομένων. Δημήτρης Μιχαήλ. Γραφήματα. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

Δομές Δεδομένων. Δημήτρης Μιχαήλ. Γραφήματα. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Δομές Δεδομένων Γραφήματα Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Γραφήματα Κατευθυνόμενο Γράφημα Ένα κατευθυνόμενο γράφημα G είναι ένα ζευγάρι (V, E) όπου V είναι ένα

Διαβάστε περισσότερα

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ ΣΧΟΛΙΚΟΥ ΕΤΟΥΣ

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ ΣΧΟΛΙΚΟΥ ΕΤΟΥΣ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ ΣΧΟΛΙΚΟΥ ΕΤΟΥΣ 2015-2016 Θέμα Α Α1. Να γράψετε στο τετράδιό σας τον αριθμό καθεμιάς από τις προτάσεις 1-4 και δίπλα τη λέξη ΣΩΣΤΟ,

Διαβάστε περισσότερα

1. Πότε χρησιμοποιούμε την δομή επανάληψης; Ποιες είναι οι διάφορες εντολές (μορφές) της;

1. Πότε χρησιμοποιούμε την δομή επανάληψης; Ποιες είναι οι διάφορες εντολές (μορφές) της; 1. Πότε χρησιμοποιούμε την δομή επανάληψης; Ποιες είναι οι διάφορες (μορφές) της; Η δομή επανάληψης χρησιμοποιείται όταν μια σειρά εντολών πρέπει να εκτελεστεί σε ένα σύνολο περιπτώσεων, που έχουν κάτι

Διαβάστε περισσότερα

Συστήματα Αρίθμησης. Συστήματα Αρίθμησης 1. PDF created with FinePrint pdffactory Pro trial version

Συστήματα Αρίθμησης. Συστήματα Αρίθμησης 1. PDF created with FinePrint pdffactory Pro trial version Συστήματα Αρίθμησης Στην καθημερινή μας ζωή χρησιμοποιούμε το δεκαδικό σύστημα αρίθμησης. Στο σύστημα αυτό χρησιμοποιούμε δέκα διαφορετικά σύμβολα τα :,, 2, 3, 4, 5, 6,7 8, 9. Για τον αριθμό 32 θα χρειαστούμε

Διαβάστε περισσότερα

Επιλέξτε Σωστό ή Λάθος για καθένα από τα παρακάτω:

Επιλέξτε Σωστό ή Λάθος για καθένα από τα παρακάτω: Επιλέξτε Σωστό ή Λάθος για καθένα από τα παρακάτω: 1ο ΓΕΛ Καστοριάς Βασικές Έννοιες Αλγορίθμων Δομή Ακολουθίας (κεφ. 2 και 7 σχολικού βιβλίου) 1. Οι μεταβλητές αντιστοιχίζονται από τον μεταγλωττιστή κάθε

Διαβάστε περισσότερα

ΑΕΠΠ 7o Επαναληπτικό Διαγώνισμα

ΑΕΠΠ 7o Επαναληπτικό Διαγώνισμα ΑΕΠΠ 7o Επαναληπτικό Διαγώνισμα Ονοματεπώνυμο: ΘΕΜΑ Α Α1. Να γράψετε στο τετράδιό σας τον αριθμό καθεμίας από τις παρακάτω προτάσεις 1-5 και, δίπλα, τη λέξη ΣΩΣΤΟ, αν η πρόταση είναι σωστή, ή τη λέξη ΛΑΘΟΣ,

Διαβάστε περισσότερα

Δομές Δεδομένων και Αλγόριθμοι. Λουκάς Γεωργιάδης

Δομές Δεδομένων και Αλγόριθμοι. Λουκάς Γεωργιάδης Δομές Δεδομένων και Αλγόριθμοι Λουκάς Γεωργιάδης loukas@cs.uoi.gr www.cs.uoi.gr/~loukas Στόχοι Μαθήματος Η σχεδίαση και ανάλυση αλγορίθμων και δομών δεδομένων αποτελεί σημαντικό τμήμα της πληροφορικής.

Διαβάστε περισσότερα

, ο αριθμός στον οποίο αντιστοιχεί ο 2 καλείται δεύτερος όρος της ακολουθίας και τον συμβολίζουμε συνήθως με

, ο αριθμός στον οποίο αντιστοιχεί ο 2 καλείται δεύτερος όρος της ακολουθίας και τον συμβολίζουμε συνήθως με 5. ΑΚΟΛΟΥΘΙΕΣ Γενικά ακολουθία πραγματικών αριθμών είναι μια αντιστοίχιση των φυσικών αριθμών,,,...,ν,... στους πραγματικούς αριθμούς. Ο αριθμός στον οποίο αντιστοιχεί ο καλείται πρώτος όρος της ακολουθίας

Διαβάστε περισσότερα

Κατακερµατισµός. Οργάνωση Αρχείων (σύνοψη) Οργάνωση αρχείων: πως είναι τοποθετημένες οι εγγραφές ενός αρχείου όταν αποθηκεύονται στο δίσκο

Κατακερµατισµός. Οργάνωση Αρχείων (σύνοψη) Οργάνωση αρχείων: πως είναι τοποθετημένες οι εγγραφές ενός αρχείου όταν αποθηκεύονται στο δίσκο Κατακερµατισµός 1 Οργάνωση Αρχείων (σύνοψη) Οργάνωση αρχείων: πως είναι τοποθετημένες οι εγγραφές ενός αρχείου όταν αποθηκεύονται στο δίσκο 1. Αρχεία Σωρού 2. Ταξινομημένα Αρχεία Φυσική διάταξη των εγγραφών

Διαβάστε περισσότερα

Εισαγωγή στην επιστήμη των υπολογιστών

Εισαγωγή στην επιστήμη των υπολογιστών Εισαγωγή στην επιστήμη των υπολογιστών Υπολογιστές και Δεδομένα Κεφάλαιο 3ο Αναπαράσταση Αριθμών www.di.uoa.gr/~organosi 1 Δεκαδικό και Δυαδικό Δεκαδικό σύστημα 2 3 Δεκαδικό και Δυαδικό Δυαδικό Σύστημα

Διαβάστε περισσότερα

ΑΣΥΜΠΤΩΤΙΚΗ ΑΝΑΛΥΣΗ & ΠΡΟΣΘΕΣΗ

ΑΣΥΜΠΤΩΤΙΚΗ ΑΝΑΛΥΣΗ & ΠΡΟΣΘΕΣΗ ΑΣΥΜΠΤΩΤΙΚΗ ΑΝΑΛΥΣΗ & ΠΡΟΣΘΕΣΗ Θέματα μελέτης Ορθότητα και απόδοση αλγορίθμων Παρουσίαση και ανάλυση αλγορίθμου για πρόσθεση Al Khwarizmi Αλγόριθμοι Το δεκαδικό σύστημα εφευρέθηκε στην Ινδία περίπου το

Διαβάστε περισσότερα

Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου. Πληροφορική II. Ενότητα 2 : Αλγόριθμοι. Δρ. Γκόγκος Χρήστος

Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου. Πληροφορική II. Ενότητα 2 : Αλγόριθμοι. Δρ. Γκόγκος Χρήστος 1 Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου Πληροφορική II Ενότητα 2 : Αλγόριθμοι Δρ. Γκόγκος Χρήστος 2 Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου Τμήμα Χρηματοοικονομικής & Ελεγκτικής

Διαβάστε περισσότερα

Οργάνωση αρχείων: πως είναι τοποθετηµένες οι εγγραφές ενός αρχείου όταν αποθηκεύονται στο δίσκο

Οργάνωση αρχείων: πως είναι τοποθετηµένες οι εγγραφές ενός αρχείου όταν αποθηκεύονται στο δίσκο Κατακερµατισµός 1 Οργάνωση Αρχείων (σύνοψη) Οργάνωση αρχείων: πως είναι τοποθετηµένες οι εγγραφές ενός αρχείου όταν αποθηκεύονται στο δίσκο 1. Αρχεία Σωρού 2. Ταξινοµηµένα Αρχεία Φυσική διάταξη των εγγραφών

Διαβάστε περισσότερα

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΛΥΣΗ ΣΤΗΝ ΕΥΤΕΡΗ ΑΣΚΗΣΗ

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΛΥΣΗ ΣΤΗΝ ΕΥΤΕΡΗ ΑΣΚΗΣΗ ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΛΥΣΗ ΣΤΗΝ ΕΥΤΕΡΗ ΑΣΚΗΣΗ ΜΑΘΗΜΑ ΒΑΣΕΙΣ Ε ΟΜΕΝΩΝ ΑΚΑ. ΕΤΟΣ 2012-13 Ι ΑΣΚΟΝΤΕΣ Ιωάννης Βασιλείου Καθηγητής, Τοµέας Τεχνολογίας

Διαβάστε περισσότερα

Δομές Δεδομένων (Data Structures)

Δομές Δεδομένων (Data Structures) Δομές Δεδομένων (Data Structures) Γραμμικές Λίστες Βασικές Έννοιες Βασικές Έννοιες. Αναπαράσταση με τύπο και με δείκτη. Γραμμικές Λίστες. Βασικές Λειτουργίες. Δομές Δεδομένων: Βασικές Έννοιες Αντικείμενο

Διαβάστε περισσότερα

Μελετάμε την περίπτωση όπου αποθηκεύουμε ένα (δυναμικό) σύνολο στοιχειών. Ένα στοιχείο γράφεται ως, όπου κάθε.

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

Διαβάστε περισσότερα

Α Ν Α Λ Τ Η Α Λ Γ Ο Ρ Ι Θ Μ Ω Ν Κ Ε Υ Α Λ Α Ι Ο 5. Πως υπολογίζεται ο χρόνος εκτέλεσης ενός αλγορίθμου;

Α Ν Α Λ Τ Η Α Λ Γ Ο Ρ Ι Θ Μ Ω Ν Κ Ε Υ Α Λ Α Ι Ο 5. Πως υπολογίζεται ο χρόνος εκτέλεσης ενός αλγορίθμου; 5.1 Επίδοση αλγορίθμων Μέχρι τώρα έχουμε γνωρίσει διάφορους αλγόριθμους (αναζήτησης, ταξινόμησης, κ.α.). Στο σημείο αυτό θα παρουσιάσουμε ένα τρόπο εκτίμησης της επίδοσης (performance) η της αποδοτικότητας

Διαβάστε περισσότερα

I. ΜΙΓΑΔΙΚΟΙ ΑΡΙΘΜΟΙ. math-gr

I. ΜΙΓΑΔΙΚΟΙ ΑΡΙΘΜΟΙ. math-gr I ΜΙΓΑΔΙΚΟΙ ΑΡΙΘΜΟΙ i e ΜΕΡΟΣ Ι ΟΡΙΣΜΟΣ - ΒΑΣΙΚΕΣ ΠΡΑΞΕΙΣ Α Ορισμός Ο ορισμός του συνόλου των Μιγαδικών αριθμών (C) βασίζεται στις εξής παραδοχές: Υπάρχει ένας αριθμός i για τον οποίο ισχύει i Το σύνολο

Διαβάστε περισσότερα

ΚΕΦΑΛΑΙΟ 3 ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΑΛΓΟΡΙΘΜΟΙ

ΚΕΦΑΛΑΙΟ 3 ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΑΛΓΟΡΙΘΜΟΙ ΚΕΦΑΛΑΙΟ 3 ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΑΛΓΟΡΙΘΜΟΙ Τα δεδομένα (data) είναι η αφαιρετική αναπαράσταση της πραγματικότητας και συνεπώς μία απλοποιημένη όψη της. Η συλλογή των ακατέργαστων δεδομένων και ο συσχετισμός

Διαβάστε περισσότερα

Ξέρουμε ότι: Συνάρτηση-απεικόνιση με πεδίο ορισμού ένα σύνολο Α και πεδίο τιμών ένα σύνολο Β είναι κάθε μονοσήμαντη απεικόνιση f του Α στο Β.

Ξέρουμε ότι: Συνάρτηση-απεικόνιση με πεδίο ορισμού ένα σύνολο Α και πεδίο τιμών ένα σύνολο Β είναι κάθε μονοσήμαντη απεικόνιση f του Α στο Β. Η έννοια της ακολουθίας Ξέρουμε ότι: Συνάρτηση-απεικόνιση με πεδίο ορισμού ένα σύνολο Α και πεδίο τιμών ένα σύνολο Β είναι κάθε μονοσήμαντη απεικόνιση f του Α στο Β. Δηλαδή: f : A B Η ακολουθία είναι συνάρτηση.

Διαβάστε περισσότερα

Εισαγωγή στην Ανάλυση Αλγορίθμων

Εισαγωγή στην Ανάλυση Αλγορίθμων Εισαγωγή στην Ανάλυση Αλγορίθμων (4) Μεθοδολογία αναδρομικών σχέσεων (Ι) Με επανάληψη της αναδρομής Έστω όπου r και a είναι σταθερές. Βρίσκουμε τη σχέση που εκφράζει την T(n) συναρτήσει της T(n-) την T(n)

Διαβάστε περισσότερα

13/5/2015 ΟΥΡΕΣ ΠΡΟΤΕΡΑΙΟΤΗΤΑΣ. Δομές Δεδομένων. Ουρές Προτεραιότητας

13/5/2015 ΟΥΡΕΣ ΠΡΟΤΕΡΑΙΟΤΗΤΑΣ. Δομές Δεδομένων. Ουρές Προτεραιότητας ΟΥΡΕΣ ΠΡΟΤΕΡΑΙΟΤΗΤΑΣ Δομές Δεδομένων Τι θα δούμε Ουρές προτεραιότητας Πράξεις Διωνυμικές Ουρές Διωνυμικά Δέντρα Διωνυμικοί Σωροί Ουρές Fibonacci Αναπαράσταση Πράξεις Ανάλυση Συγκρίσεις Ουρές προτεραιότητας

Διαβάστε περισσότερα

Αριθμητικά Συστήματα

Αριθμητικά Συστήματα Αριθμητικά Συστήματα Σε οποιοδήποτε αριθμητικό σύστημα, με βάση τον αριθμό Β, ένας ακέραιος αριθμός με πλήθος ψηφίων ν, εκφράζεται ως ακολούθως: α ν-1 α ν-2 α 1 α 0 = α ν-1 Β ν-1 + α ν-2 Β ν-2 + + α 1

Διαβάστε περισσότερα

ΣΥΝΕΚΤΙΚΟΤΗΤΑ ΓΡΑΦΗΜΑΤΩΝ

ΣΥΝΕΚΤΙΚΟΤΗΤΑ ΓΡΑΦΗΜΑΤΩΝ Συνεκτικότητα Γραφημάτων 123 ΚΕΦΑΛΑΙΟ 4 ΣΥΝΕΚΤΙΚΟΤΗΤΑ ΓΡΑΦΗΜΑΤΩΝ 4.1 Τοπική και Ολική Συνεκτικότητα Γραφημάτων 4.2 Συνεκτικότητα Μη-κατευθυνόμενων Γραφημάτων 4.3 Συνεκτικότητα Κατευθυνόμενων Γραφημάτων

Διαβάστε περισσότερα

Δομές Δεδομένων. Δημήτρης Μιχαήλ. Ταξινόμηση. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

Δομές Δεδομένων. Δημήτρης Μιχαήλ. Ταξινόμηση. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Δομές Δεδομένων Ταξινόμηση Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Το πρόβλημα Είσοδος n αντικείμενα a 1, a 2,..., a n με κλειδιά (συνήθως σε ένα πίνακα, ή λίστα, κ.τ.λ)

Διαβάστε περισσότερα

Μέγιστη ροή. Κατευθυνόμενο γράφημα. Συνάρτηση χωρητικότητας. αφετηρίακός κόμβος. τερματικός κόμβος. Ροή δικτύου. με τις ακόλουθες ιδιότητες

Μέγιστη ροή. Κατευθυνόμενο γράφημα. Συνάρτηση χωρητικότητας. αφετηρίακός κόμβος. τερματικός κόμβος. Ροή δικτύου. με τις ακόλουθες ιδιότητες Κατευθυνόμενο γράφημα Συνάρτηση χωρητικότητας 2 6 20 Ροή δικτύου Συνάρτηση αφετηρίακός κόμβος 0 με τις ακόλουθες ιδιότητες 9 7 τερματικός κόμβος Περιορισμός χωρητικότητας: Αντισυμμετρία: Διατήρηση ροής:

Διαβάστε περισσότερα

Κεφάλαιο 2 ο Βασικές Έννοιες Αλγορίθμων (σελ )

Κεφάλαιο 2 ο Βασικές Έννοιες Αλγορίθμων (σελ ) Κεφάλαιο 2 ο Βασικές Έννοιες Αλγορίθμων (σελ. 25 48) Τι είναι αλγόριθμος; Γ ΛΥΚΕΙΟΥ Αλγόριθμος είναι μία πεπερασμένη σειρά ενεργειών, αυστηρά καθορισμένων και εκτελέσιμων σε πεπερασμένο χρονικό διάστημα,

Διαβάστε περισσότερα

ρυθιμός αύξησης συναρτήσεων

ρυθιμός αύξησης συναρτήσεων ρυθμός αύξησης συναρτήσεων Παύλος Εφραιμίδης 1 περιεχόμενα Ασυμπτωτικός συμβολισμός Καθιερωμένοι συμβολισμοί και συνήθεις συναρτήσεις 2 ασυμπτωτική πολυπλοκότητα Πολυπλοκότητα χειρότερης περίπτωσης Συγχωνευτική

Διαβάστε περισσότερα

ΚΕΦΑΛΑΙΟ 8: Αφαίρεση δεδοµένων

ΚΕΦΑΛΑΙΟ 8: Αφαίρεση δεδοµένων ΚΕΦΑΛΑΙΟ 8: Αφαίρεση δεδοµένων 8.1 Βασικές έννοιες δοµών δεδοµένων 8.2 Σχετικές έννοιες 8.3 Υλοποίηση δοµών δεδοµένων 8.4 Μια σύντοµη µελέτη περίπτωσης 8.5 Προσαρµοσµένοι τύποι δεδοµένων 1 Βασικές δοµές

Διαβάστε περισσότερα

Οργάνωση Υπολογιστών

Οργάνωση Υπολογιστών Οργάνωση Υπολογιστών Επιμέλεια: Γεώργιος Θεοδωρίδης, Επίκουρος Καθηγητής Ανδρέας Εμερετλής, Υποψήφιος Διδάκτορας Τμήμα Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών 1 Άδειες Χρήσης Το παρόν υλικό

Διαβάστε περισσότερα

Δένδρα Αναζήτησης Πολλαπλής Διακλάδωσης

Δένδρα Αναζήτησης Πολλαπλής Διακλάδωσης Δένδρα Αναζήτησης Πολλαπλής Διακλάδωσης Δένδρα στα οποία κάθε κόμβος μπορεί να αποθηκεύει ένα ή περισσότερα κλειδιά. Κόμβος με d διακλαδώσεις : k 1 k 2 k 3 k 4 d-1 διατεταγμένα κλειδιά d διατεταγμένα παιδιά

Διαβάστε περισσότερα

Διαίρει-και-Βασίλευε. Διαίρει-και-Βασίλευε. MergeSort. MergeSort. Πρόβλημα Ταξινόμησης: Είσοδος : ακολουθία n αριθμών (α 1

Διαίρει-και-Βασίλευε. Διαίρει-και-Βασίλευε. MergeSort. MergeSort. Πρόβλημα Ταξινόμησης: Είσοδος : ακολουθία n αριθμών (α 1 Διαίρει-και-Βασίλευε Διδάσκοντες: Σ. Ζάχος, Δ. Φωτάκης Επιμέλεια διαφανειών: Δ. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Διαίρει-και-Βασίλευε Γενική μέθοδος

Διαβάστε περισσότερα

Αριθμήσιμα σύνολα. Μαθηματικά Πληροφορικής 5ο Μάθημα. Παραδείγματα αριθμήσιμων συνόλων. Οι ρητοί αριθμοί

Αριθμήσιμα σύνολα. Μαθηματικά Πληροφορικής 5ο Μάθημα. Παραδείγματα αριθμήσιμων συνόλων. Οι ρητοί αριθμοί Αριθμήσιμα σύνολα Μαθηματικά Πληροφορικής 5ο Μάθημα Τμήμα Πληροφορικής και Τηλεπικοινωνιών Πανεπιστήμιο Αθηνών Ορισμός Πόσα στοιχεία έχει το σύνολο {a, b, r, q, x}; Οσα και το σύνολο {,,, 4, 5} που είναι

Διαβάστε περισσότερα

Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων ομές εδομένων

Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων ομές εδομένων Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων 2. Πίνακες 45 23 28 95 71 19 30 2 ομές εδομένων 4 5 Χρήστος ουλκερίδης Τμήμα Ψηφιακών Συστημάτων 21/10/2016

Διαβάστε περισσότερα

2 ΟΥ και 8 ΟΥ ΚΕΦΑΛΑΙΟΥ

2 ΟΥ και 8 ΟΥ ΚΕΦΑΛΑΙΟΥ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΙΜΕΛΕΙΑ: ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΘΕΩΡΙΑ 2 ΟΥ και 8 ΟΥ ΚΕΦΑΛΑΙΟΥ ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΔΟΜΗ ΕΠΑΝΑΛΗΨΗΣ 1) Πότε χρησιμοποιείται η δομή επανάληψης

Διαβάστε περισσότερα

ΛΥΣΗ ΤΗΣ ΔΕΥΤΕΡΗΣ ΑΣΚΗΣΗΣ Όλγα Γκουντούνα

ΛΥΣΗ ΤΗΣ ΔΕΥΤΕΡΗΣ ΑΣΚΗΣΗΣ Όλγα Γκουντούνα ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΜΑΘΗΜΑ ΒΑΣΕΙΣ ΔΕΔΟΜΕΝΩΝ ΑΚΑΔ. ΕΤΟΣ 2011-12 ΔΙΔΑΣΚΟΝΤΕΣ Ιωάννης Βασιλείου Καθηγητής Τιμολέων Σελλής Καθηγητής Άσκηση 1

Διαβάστε περισσότερα

ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. Δοµές Δεδοµένων

ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. Δοµές Δεδοµένων ΟΝΟΜΑΤΕΠΩΝΥΜΟ: ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ AM: Δοµές Δεδοµένων Πτυχιακή Εξεταστική Ιούλιος 2014 Διδάσκων : Ευάγγελος Μαρκάκης 09.07.2014 ΥΠΟΓΡΑΦΗ ΕΠΟΠΤΗ: Διάρκεια εξέτασης : 2 ώρες

Διαβάστε περισσότερα

Αναδρομικές Σχέσεις «ιαίρει-και-βασίλευε»

Αναδρομικές Σχέσεις «ιαίρει-και-βασίλευε» Αναδρομικές Σχέσεις «ιαίρει-και-βασίλευε» ιδάσκοντες: Φ. Αφράτη,. Φωτάκης Επιμέλεια διαφανειών:. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο ιαίρει-και-βασίλευε

Διαβάστε περισσότερα

53 Χρόνια ΦΡΟΝΤΙΣΤΗΡΙΑ ΜΕΣΗΣ ΕΚΠΑΙΔΕΥΣΗΣ Σ Α Β Β Α Ϊ Δ Η Μ Α Ν Ω Λ Α Ρ Α Κ Η

53 Χρόνια ΦΡΟΝΤΙΣΤΗΡΙΑ ΜΕΣΗΣ ΕΚΠΑΙΔΕΥΣΗΣ Σ Α Β Β Α Ϊ Δ Η Μ Α Ν Ω Λ Α Ρ Α Κ Η 53 Χρόνια ΦΡΟΝΤΙΣΤΗΡΙΑ ΜΕΣΗΣ ΕΚΠΑΙΔΕΥΣΗΣ Σ Α Β Β Α Ϊ Δ Η Μ Α Ν Ω Λ Α Ρ Α Κ Η ΠΑΓΚΡΑΤΙ: Φιλολάου & Εκφαντίδου 26 : 210/76.01.470 210/76.00.179 ΘΕΜΑ Α Α1. Να γράψετε στο τετράδιό σας τον αριθμό καθεμιάς

Διαβάστε περισσότερα

Οι βασικές λειτουργίες (ή πράξεις) που γίνονται σε μια δομή δεδομένων είναι:

Οι βασικές λειτουργίες (ή πράξεις) που γίνονται σε μια δομή δεδομένων είναι: ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ Μια δομή δεδομένων στην πληροφορική, συχνά αναπαριστά οντότητες του φυσικού κόσμου στον υπολογιστή. Για την αναπαράσταση αυτή, δημιουργούμε πρώτα ένα αφηρημένο μοντέλο στο οποίο προσδιορίζονται

Διαβάστε περισσότερα

Δομές Δεδομένων και Αλγόριθμοι

Δομές Δεδομένων και Αλγόριθμοι Δομές Δεδομένων και Αλγόριθμοι Χρήστος Γκόγκος ΤΕΙ Ηπείρου Χειμερινό Εξάμηνο 2014-2015 Παρουσίαση 20 Huffman codes 1 / 12 Κωδικοποίηση σταθερού μήκους Αν χρησιμοποιηθεί κωδικοποίηση σταθερού μήκους δηλαδή

Διαβάστε περισσότερα

Θεωρήστε ένα puzzle (παιχνίδι σπαζοκεφαλιάς) με την ακόλουθη αρχική διαμόρφωση : b b b w w w e

Θεωρήστε ένα puzzle (παιχνίδι σπαζοκεφαλιάς) με την ακόλουθη αρχική διαμόρφωση : b b b w w w e Άσκηση 1 Θεωρήστε ένα puzzle (παιχνίδι σπαζοκεφαλιάς) με την ακόλουθη αρχική διαμόρφωση : b b b w w w e Υπάρχουν τρία μαύρα τετραγωνάκια (b), τρία άσπρα (w) και ένα κενό (e). Η σπαζοκεφαλιά έχει τις ακόλουθες

Διαβάστε περισσότερα

1. Ο διερμηνευτής εντοπίζει μόνο τα συντακτικά λάθη ενός προγράμματος, ενώ ο μεταγλωττιστής και τα λογικά.

1. Ο διερμηνευτής εντοπίζει μόνο τα συντακτικά λάθη ενός προγράμματος, ενώ ο μεταγλωττιστής και τα λογικά. ΘΕΜΑ Α Επαναληπτικό διαγώνισμα στην Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον Απρίλης 2016 Α1.Να γράψετε στο τετράδιό σας τον αριθμό καθεμιάς από τις παρακάτω προτάσεις 1-5 και δίπλα να σημειώσετε

Διαβάστε περισσότερα

Δομές Δεδομένων. Δημήτρης Μιχαήλ. Εισαγωγή. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

Δομές Δεδομένων. Δημήτρης Μιχαήλ. Εισαγωγή. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Δομές Δεδομένων Εισαγωγή Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Βιβλιογραφία Robert Sedgewick, Αλγόριθμοι σε C, Μέρη 1-4 (Θεμελιώδεις Έννοιες, Δομές Δεδομένων, Ταξινόμηση,

Διαβάστε περισσότερα

Ερωτήσεις πολλαπλής επιλογής - Κεφάλαιο Κάθε δομή μπορεί να χρησιμοποιηθεί σε οποιοδήποτε πρόβλημα ή εφαρμογή

Ερωτήσεις πολλαπλής επιλογής - Κεφάλαιο Κάθε δομή μπορεί να χρησιμοποιηθεί σε οποιοδήποτε πρόβλημα ή εφαρμογή Ερωτήσεις πολλαπλής επιλογής - Κεφάλαιο 3 1. Κάθε δομή μπορεί να χρησιμοποιηθεί σε οποιοδήποτε πρόβλημα ή εφαρμογή 2. Δυναμικές είναι οι δομές που αποθηκεύονται σε συνεχόμενες θέσεις μνήμης 3. Ένας πίνακας

Διαβάστε περισσότερα

Διδάσκων: Παναγιώτης Ανδρέου

Διδάσκων: Παναγιώτης Ανδρέου Διάλεξη 12: Δέντρα ΙΙ -Δυαδικά Δέντρα Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Δυαδικά Δένδρα - Δυαδικά Δένδρα Αναζήτησης(ΔΔΑ) - Εύρεση Τυχαίου, Μέγιστου, Μικρότερου στοιχείου - Εισαγωγή

Διαβάστε περισσότερα

Τα δεδομένα (περιεχόμενο) μιας βάσης δεδομένων αποθηκεύεται στο δίσκο

Τα δεδομένα (περιεχόμενο) μιας βάσης δεδομένων αποθηκεύεται στο δίσκο Κατακερματισμός 1 Αποθήκευση εδομένων (σύνοψη) Τα δεδομένα (περιεχόμενο) μιας βάσης δεδομένων αποθηκεύεται στο δίσκο Παραδοσιακά, μία σχέση (πίνακας/στιγμιότυπο) αποθηκεύεται σε ένα αρχείο Αρχείο δεδομένων

Διαβάστε περισσότερα

Διαδικασιακός Προγραμματισμός

Διαδικασιακός Προγραμματισμός Τμήμα ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ ΤΕΙ ΔΥΤΙΚΗΣ ΕΛΛΑΔΑΣ Διαδικασιακός Προγραμματισμός Διάλεξη 12 η Αναζήτηση/Ταξινόμηση Πίνακα Οι διαλέξεις βασίζονται στο βιβλίο των Τσελίκη και Τσελίκα C: Από τη Θεωρία στην

Διαβάστε περισσότερα

ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΑΝΑΠΤΥΞΗ ΚΑΙ ΣΧΕΔΙΑΣΗ ΛΟΓΙΣΜΙΚΟΥ Η γλώσσα προγραμματισμού C ΕΡΓΑΣΤΗΡΙΟ 2: Εκφράσεις, πίνακες και βρόχοι 14 Απριλίου 2016 Το σημερινό εργαστήριο

Διαβάστε περισσότερα

ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕΔΟΝΙΑΣ ΟΙΚΟΝΟΜΙΚΩΝ ΚΑΙ ΚΟΙΝΩΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΝΕΥΡΩΝΙΚΑ ΔΙΚΤΥΑ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕΔΟΝΙΑΣ ΟΙΚΟΝΟΜΙΚΩΝ ΚΑΙ ΚΟΙΝΩΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΝΕΥΡΩΝΙΚΑ ΔΙΚΤΥΑ ΘΕΜΑ 1 ο (2,5 μονάδες) ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕΔΟΝΙΑΣ ΟΙΚΟΝΟΜΙΚΩΝ ΚΑΙ ΚΟΙΝΩΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΕΦΑΡΜΟΣΜΕΝΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΝΕΥΡΩΝΙΚΑ ΔΙΚΤΥΑ Τελικές εξετάσεις Πέμπτη 21 Ιουνίου 2012 16:30-19:30 Υποθέστε ότι θέλουμε

Διαβάστε περισσότερα

Γράφημα. Συνδυαστικό αντικείμενο που αποτελείται από 2 σύνολα: Σύνολο κορυφών (vertex set) Σύνολο ακμών (edge set) 4 5 πλήθος κορυφών πλήθος ακμών

Γράφημα. Συνδυαστικό αντικείμενο που αποτελείται από 2 σύνολα: Σύνολο κορυφών (vertex set) Σύνολο ακμών (edge set) 4 5 πλήθος κορυφών πλήθος ακμών Γράφημα Συνδυαστικό αντικείμενο που αποτελείται από 2 σύνολα: Σύνολο κορυφών (vertex set) Σύνολο ακμών (edge set) 1 2 3 4 5 πλήθος κορυφών πλήθος ακμών Γράφημα Συνδυαστικό αντικείμενο που αποτελείται από

Διαβάστε περισσότερα

Μεθοδολογία Επίλυσης Προβλημάτων ============================================================================ Π. Κυράνας - Κ.

Μεθοδολογία Επίλυσης Προβλημάτων ============================================================================ Π. Κυράνας - Κ. Μεθοδολογία Επίλυσης Προβλημάτων ============================================================================ Π. Κυράνας - Κ. Σάλαρης Πολλές φορές μας δίνεται να λύσουμε ένα πρόβλημα που από την πρώτη

Διαβάστε περισσότερα

Σχεδίαση & Ανάλυση Αλγορίθμων

Σχεδίαση & Ανάλυση Αλγορίθμων Σχεδίαση & Ανάλυση Αλγορίθμων Ενότητα 3 Αλγόριθμοι Επιλογής Σταύρος Δ. Νικολόπουλος Τμήμα Μηχανικών Η/Υ & Πληροφορικής Πανεπιστήμιο Ιωαννίνων Webpage: www.cs.uoi.gr/~stavros Αλγόριθμοι Επιλογής Γνωρίζουμε

Διαβάστε περισσότερα

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ Ενότητα 8α: Ταξινόμηση-Σύγκριση αλγορίθμων ταξινόμησης Μαρία Σατρατζέμη Τμήμα Εφαρμοσμένης Πληροφορικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης

Διαβάστε περισσότερα

Διάλεξη 17: O Αλγόριθμος Ταξινόμησης HeapSort

Διάλεξη 17: O Αλγόριθμος Ταξινόμησης HeapSort Διάλεξη 17: O Αλγόριθμος Ταξινόμησης HeapSort Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Η διαδικασία PercolateDown, Δημιουργία Σωρού O Αλγόριθμος Ταξινόμησης HeapSort Υλοποίηση, Παραδείγματα

Διαβάστε περισσότερα

Δένδρα. Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα:

Δένδρα. Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Δένδρα Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Εισαγωγή σε δενδρικές δομές δεδομένων, ορισμοί, πράξεις και αναπαράσταση στη μνήμη ΔυαδικάΔένδρακαιΔυαδικάΔένδραΑναζήτησης ΕΠΛ 231 Δομές

Διαβάστε περισσότερα

Διάλεξη 23: Τεχνικές Κατακερματισμού II (Hashing)

Διάλεξη 23: Τεχνικές Κατακερματισμού II (Hashing) ΕΠΛ231 Δομές Δεδομένων και Αλγόριθμοι 1 Διάλεξη 23: Τεχνικές Κατακερματισμού II (Hashing) Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Διαχείριση Συγκρούσεων με Ανοικτή Διεύθυνση a) Linear

Διαβάστε περισσότερα

Ερώτημα 1. Μας δίνεται μια συλλογή από k ακολοθίες, k >=2 και αναζητούμε το πρότυπο Ρ, μεγέθους n.

Ερώτημα 1. Μας δίνεται μια συλλογή από k ακολοθίες, k >=2 και αναζητούμε το πρότυπο Ρ, μεγέθους n. Πρώτο Σύνολο Ασκήσεων 2014-2015 Κατερίνα Ποντζόλκοβα, 5405 Αθανασία Ζαχαριά, 5295 Ερώτημα 1 Μας δίνεται μια συλλογή από k ακολοθίες, k >=2 και αναζητούμε το πρότυπο Ρ, μεγέθους n. Ο αλγόριθμος εύρεσης

Διαβάστε περισσότερα

Πελάτες φθάνουν στο ταμείο μιας τράπεζας Eνα μόνο ταμείο είναι ανοικτό Κάθε πελάτης παρουσιάζεται με ένα νούμερο - αριθμός προτεραιότητας Όσο ο

Πελάτες φθάνουν στο ταμείο μιας τράπεζας Eνα μόνο ταμείο είναι ανοικτό Κάθε πελάτης παρουσιάζεται με ένα νούμερο - αριθμός προτεραιότητας Όσο ο Ουρές προτεραιότητας Πελάτες φθάνουν στο ταμείο μιας τράπεζας Eνα μόνο ταμείο είναι ανοικτό Κάθε πελάτης παρουσιάζεται με ένα νούμερο - αριθμός προτεραιότητας Όσο ο αριθμός είναι μεγάλος, τόσο οι πελάτες

Διαβάστε περισσότερα

Δομές Δεδομένων (Data Structures)

Δομές Δεδομένων (Data Structures) Δομές Δεδομένων (Data Structures) Στοίβες Ουρές Στοίβες: Βασικές Έννοιες. Ουρές: Βασικές Έννοιες. Βασικές Λειτουργίες. Παραδείγματα. Στοίβες Δομή τύπου LIFO: Last In - First Out (τελευταία εισαγωγή πρώτη

Διαβάστε περισσότερα

Ασκήσεις μελέτης της 4 ης διάλεξης. ), για οποιοδήποτε μονοπάτι n 1

Ασκήσεις μελέτης της 4 ης διάλεξης. ), για οποιοδήποτε μονοπάτι n 1 Οικονομικό Πανεπιστήμιο Αθηνών, Τμήμα Πληροφορικής Μάθημα: Τεχνητή Νοημοσύνη, 2016 17 Διδάσκων: Ι. Ανδρουτσόπουλος Ασκήσεις μελέτης της 4 ης διάλεξης 4.1. (α) Αποδείξτε ότι αν η h είναι συνεπής, τότε h(n

Διαβάστε περισσότερα

ιαίρει-και-βασίλευε ημήτρης Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο

ιαίρει-και-βασίλευε ημήτρης Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο ιαίρει-και-βασίλευε ημήτρης Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο ιαίρει-και-βασίλευε Γενική μέθοδος σχεδιασμού αλγορίθμων: ιαίρεση σε ( 2) υποπροβλήματα

Διαβάστε περισσότερα

Έστω ένας πίνακας με όνομα Α δέκα θέσεων : 1 η 2 η 3 η 4 η 5 η 6 η 7 η 8 η 9 η 10 η

Έστω ένας πίνακας με όνομα Α δέκα θέσεων : 1 η 2 η 3 η 4 η 5 η 6 η 7 η 8 η 9 η 10 η Μονοδιάστατοι Πίνακες Τι είναι ο πίνακας γενικά : Πίνακας είναι μια Στατική Δομή Δεδομένων. Δηλαδή συνεχόμενες θέσεις μνήμης, όπου το πλήθος των θέσεων είναι συγκεκριμένο. Στις θέσεις αυτές καταχωρούμε

Διαβάστε περισσότερα

Διατάξεις με επανάληψη: Με πόσους τρόπους μπορώ να διατάξω r από n αντικείμενα όταν επιτρέπονται επαναληπτικές εμφανίσεις των αντικειμένων; Στην αρχή

Διατάξεις με επανάληψη: Με πόσους τρόπους μπορώ να διατάξω r από n αντικείμενα όταν επιτρέπονται επαναληπτικές εμφανίσεις των αντικειμένων; Στην αρχή Στοιχειώδης συνδυαστική Συνδυασμοί και διατάξεις με επανάληψη Διατάξεις με επανάληψη: Με πόσους τρόπους μπορώ να διατάξω r από n αντικείμενα όταν επιτρέπονται επαναληπτικές εμφανίσεις των αντικειμένων;

Διαβάστε περισσότερα

Αριθμητικές Μέθοδοι σε Προγραμματιστικό Περιβάλλον

Αριθμητικές Μέθοδοι σε Προγραμματιστικό Περιβάλλον Τεχνολογικό Εκπαιδευτικό Ίδρυμα Κεντρικής Μακεδονίας - Σέρρες Τμήμα Μηχανικών Πληροφορικής Αριθμητικές Μέθοδοι σε Προγραμματιστικό Περιβάλλον Δρ. Δημήτρης Βαρσάμης Επίκουρος Καθηγητής Δρ. Δημήτρης Βαρσάμης

Διαβάστε περισσότερα

ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Ι

ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Ι ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ Ι κ. ΠΕΤΑΛΙΔΗΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ 1 Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται

Διαβάστε περισσότερα

! Εάν ο αριθμός διαθέτει περισσότερα bits, χρησιμοποιούμε μεγαλύτερες δυνάμεις του 2. ! Προσοχή στη θέση του περισσότερο σημαντικού bit!

! Εάν ο αριθμός διαθέτει περισσότερα bits, χρησιμοποιούμε μεγαλύτερες δυνάμεις του 2. ! Προσοχή στη θέση του περισσότερο σημαντικού bit! Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 25-6 Πράξεις με δυαδικούς αριθμούς (αριθμητικές ) http://di.ionio.gr/~mistral/tp/csintro/ Αριθμοί Πράξεις με δυαδικούς αριθμούς

Διαβάστε περισσότερα

Κεφ 2. Βασικές Έννοιες Αλγορίθμων

Κεφ 2. Βασικές Έννοιες Αλγορίθμων Κεφ 2. Βασικές Έννοιες Αλγορίθμων 2.7 Τι είναι οι μεταβλητές και τι οι σταθερές; ΑΠΑΝΤΗΣΗ Μεταβλητές: Μια μεταβλητή είναι μια θέση μνήμης του υπολογιστή με συγκεκριμένο όνομα, που χρησιμοποιείται για να

Διαβάστε περισσότερα

Insert (P) : Προσθέτει ένα νέο πρότυπο P στο λεξικό D. Delete (P) : Διαγράφει το πρότυπο P από το λεξικό D

Insert (P) : Προσθέτει ένα νέο πρότυπο P στο λεξικό D. Delete (P) : Διαγράφει το πρότυπο P από το λεξικό D Dynamic dictionary matching problem Έχουμε ένα σύνολο πρότυπων D = { P1, P2,..., Pk } oπου D το λεξικό και ένα αυθαίρετο κειμενο T [1,n] To σύνολο των πρότυπων αλλάζει με το χρόνο (ρεαλιστική συνθήκη).

Διαβάστε περισσότερα

ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΦΡΟΝΤΙΣΤΗΡΙΟ ΑΛΓΟΡΙΘΜΩΝ ΒΟΗΘΟΣ: ΒΑΓΓΕΛΗΣ ΔΟΥΡΟΣ

ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΦΡΟΝΤΙΣΤΗΡΙΟ ΑΛΓΟΡΙΘΜΩΝ ΒΟΗΘΟΣ: ΒΑΓΓΕΛΗΣ ΔΟΥΡΟΣ 1 ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΦΡΟΝΤΙΣΤΗΡΙΟ ΑΛΓΟΡΙΘΜΩΝ ΒΟΗΘΟΣ: ΒΑΓΓΕΛΗΣ ΔΟΥΡΟΣ Φροντιστήριο #10: Αλγόριθμοι Διαίρει & Βασίλευε: Master Theorem, Αλγόριθμοι Ταξινόμησης, Πιθανοτικός

Διαβάστε περισσότερα

Κεφάλαιο 8: Προγραμματίζοντας αλγορίθμους έξυπνα και δημιουργικά

Κεφάλαιο 8: Προγραμματίζοντας αλγορίθμους έξυπνα και δημιουργικά Κεφάλαιο 8: Προγραμματίζοντας αλγορίθμους έξυπνα και δημιουργικά Η συνεχής βελτίωση του υλικού (hardware) τις τελευταίες δεκαετίες έχει σαν αποτέλεσμα την ύπαρξη πολύ ισχυρών επεξεργαστών. Αν και σε λίγα

Διαβάστε περισσότερα