Autoorgan menec Domèc Dedomènwn

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

Download "Autoorgan menec Domèc Dedomènwn"

Transcript

1 Autoorgan menec Domèc Dedomènwn Kosvmatìpouloc Andrèac AEM: 1490 Epiblèpwn Kajhght c KwnsvtantÐnoc TsvÐqlac, Lèktorac tm. Plhroforik c APJ Septèmbrioc 2010

2 Abstract Ecient data storage and fast data manipulation have been two prominent research topics in the past few decades. There are many types of data structures that seek to achieve these goals, one of them being the Binary Search Tree (BST). Typical BSTs generally oer Ω (logn) time for each operation in the worst-case scenario and that is adequate in many cases. However there are many self-adjusting BSTs whose aim is to lower the total execution cost of a sequence of operations rather than a single operation. These BSTs are said to guarantee good amortized time and can be used in many real-world applications. This thesis explores the inner-workings of a self-adjusting form of linked list, the Move-to-front linked list, and two self-adjusting BSTs, the Splay Tree and the Tango tree. Detailed analysis on each of the three data structures is provided and some interesting properties for each of the data structures are presented. Next, several experiments on Splay and Tango trees are conducted and their performance is compared using metrics such as total execution time and total number of comparisons. Finally, some currently open problems of the area are stated such as the Dynamic Optimality conjecture that hypotheses the existence of an asymptotically best binary search tree (within a constant factor).

3

4 Prìlogoc Η αποδοτική αποθήκευσ η δεδομένων καθώς και η γρήγορη επεξεργασ ία τους έχουν υπάρξει δύο από τα σ ημαντικότερα ερευνητικά θέματα των τελευταίων δεκαετιών. Υπάρχουν αρκετοί τύποι δομών δεδομένων οι οποίοι αποσ κοπούν σ την εκπλήρωσ η αυτών των σ τόχων, και ένας από αυτούς είναι το Δυαδικό Δέντρο Αναζήτησ ης (ΔΔΑ). Τα τυπικά ΔΔΑ προσ φέρουν Ω (logn) χρόνο για την εκτέλεσ η κάθε ενέργειας σ τη χειρότερη περίπτωσ η και αυτό είναι αρκετό σ ε πολλές περιπτώσ εις. Υπάρχουν όμως αρκετά αυτοοργανώμενα ΔΔΑ τα οποία σ τοχεύουν σ την μείωσ η του σ υνολικού χρόνου εκτέλεσ ης μιας ακολουθίας ενεργειών αντί για μιας μεμονωμένης ενέργειας. Αυτά τα ΔΔΑ εξασ φαλίζουν καλό επιμερισ μένο χρόνο και μπορούν να χρησ ιμοποιηθούν σ ε πολλές πρακτικές εφαρμογές. Στη παρούσ α εργασ ία πραγματοποιείται μια γενικότερη μελέτη των αυτοοργανώμενων δομών δεδομένων. Στην αρχή, γίνεται μια γενικότερη εισ αγωγή και παρουσ ιάζονται μερικές βασ ικές έννοιες που είναι απαραίτητες για την κατανόησ η των αυτοοργανώμενων δομών δεδομένων. Ακολουθεί μια γενική περιγραφή των αυτοοργανώμενων δομών δεδομένων και αναλύεται το σ κεπτικό και ο μηχανισ μός λειτουργίας τους, όπως και τα πλεονεκτήματα και τα μειονεκτήματά τους. Επιπλέον δίνεται μια επισ κόπησ η της σ υγκεκριμένης ερευνητικής περιοχής και παραθέτονται τα θεωρήματα που έχουν αποδειχθεί σ χετικά με τις σ υγκεκριμένες δομές. Στη σ υνέχεια πραγματοποιείται μια πλήρης ανάλυσ η πολυπλοκότητας των Splay Trees (αρθρωμένα δέντρα) και αναφέρονται οι ιδιότητες που αυτά ικανοποιούν. Επιπλέον εξετάζονται τα Tango Trees (Tango δέντρα) και το σ κεπτικό λειτουργίας τους ενώ αναλύεται και ο τρόπος με τον οποίο προσ παθούν να αντιμετωπίσ ουν την εικασ ία της δυναμικής βελτισ τότητας. Πραγματοποιούνται επίσ ης πειραματικές μελέτες πάνω σ τις αυτοοργανώμενες δομές δεδομένων, χρησ ιμοποιώντας διάφορες μετρικές για τη σ ύγκρισ η όπως για παράδειγμα τον σ υνολικό χρόνο εκτέλεσ ης μιας ακολουθίας ενεργειών. Ακολούθως, γίνεται μια παράθεσ η των εικασ ιών και των ανοικτών προβλημάτων της περιοχής ενώ δίνεται ιδιαίτερη σ ημασ ία σ την εικασ ία της δυναμικής βελτισ τότητας. Στο τέλος δίνονται κάποιες προτάσ εις για μελλοντική έρευνα και παρουσ ιάζεται μια σ ύνοψη της πτυχιακής εργασ ίας.

5 Θα ήθελα να ευχαρισ τήσ ω τον επιβλέποντα καθηγητή μου Κώσ τα Τσ ίχλα για την βοήθεια και σ τήριξή του καθ όλη τη διάρκεια εκπόνησ ης της πτυχιακής εργασ ίας. Η σ υμβολή του σ την επεξήγησ η δύσ κολων εννοιών και η καθοδήγησ ή του ήταν σ ημαντική και σ υνέβαλε απόλυτα σ το να ολοκληρωθεί με επιτυχία αυτή η εργασ ία. Ευχαρισ τώ επίσ ης τους φίλους και γνωσ τούς μου για τα λόγια ενθάρρυνσ ης και τις σ υμβουλές που έδιναν όταν βρισ κόμουν σ ε δύσ κολες σ τιγμές. Τέλος, ένα μεγάλο ευχαρισ τώ θέλω να δώσ ω σ την οικογένεια μου για την υπομονή, την εμπισ τοσ ύνη και την σ τήριξη που μου έδειξαν όλα τα χρόνια της μαθητικής και φοιτητικής μου ζωής. Η μητέρα μου Εύη υπήρξε πάντα αρωγός σ τις προσ πάθειες μου και πάντα ήταν σ το πλάι μου για να μ εμψυχώσ ει όταν κάτι δε πήγαινε καλά. Ο αδερφός μου Μιχάλης με τις πολλές πρακτικές γνώσ εις του γύρω από τους υπολογισ τές αποτέλεσ ε πολύτιμο σ υνοδοιπόρο κατά τη σ υγγραφή της σ υγκεκριμένης εργασ ίας. Ειδική αναφορά θέλω να κάνω σ τον πατέρα μου Κώσ τα Κοσ ματόπουλο που διετέλεσ ε Λέκτορας σ το τμήμα Φυσ ικής του Αρισ τοτελείου Πανεπισ τημίου Θεσ σ αλονίκης μέχρι τον Απρίλιο του 2009 και ο οποίος δε βρίσ κεται πλέον μαζί μας. Τον ευχαρισ τώ από τα βάθη της καρδιάς μου για τις πολύτιμες γνώσ εις του, για την καλοσ ύνη του και για την ανεξάντλητη προθυμία του να βοηθήσ ει όταν αντιμετώπιζα κάποιο πρόβλημα. Υπήρξε ένας άνθρωπος που κέρδιζε την αγάπη όχι μόνο από την οικογένεια του, αλλά κι απ όλο τον επαγγελματικό και κοινωνικό του περίγυρο. Μακάρι να ήταν εδώ για να με δει να ολοκληρώνω τις σ πουδές μου. 5

6

7 Sth mn mh tou patèra mou

8 Perieqìmena 1 Εισαγωγή Επιμερισ μένη ανάλυσ η πολυπλοκότητας Τεχνική του Αθροίσ ματος Τεχνική του Λογισ τή Τεχνική του Φυσ ικού Το BST μοντέλο Αυτοοργανώμενες Δομές Δεδομένων Περιγραφή Move To Front Λίσ τα Βασ ικά Θεωρήματα Άνω φράγματα Θεώρημα σ τατικής βελτισ τότητας Θεώρημα σ τατικής δακτυλοδότησ ης Θεώρημα δυναμικής δακτυλοδότησ ης Θεώρημα σ υνόλου εργασ ίας Θεώρημα σ ειριακής προσ πέλασ ης Θεώρημα προδιατεταγμένης προσ πέλασ ης Το Ενοποιημένο Θεώρημα Ιεραρχία Θεωρημάτων Κάτω Φράγματα Πρώτο κάτω φράγμα του Wilber Δεύτερο κάτω φράγμα του Wilber Επισ κόπησ η ερευνητικής περιοχής Splay Δέντρα Tango Δέντρα Multi-Splay Δέντρα Chain-Splay Δέντρα Poke Δέντρα Zipper Δέντρα Working Set Δομή Unied και Dynamic Unied Δομή Skip-Splay Δέντρα Layered Working-Set Δέντρα

9 ΠΕΡΙΕΧ ΟΜΕΝΑ Cache-Splay Δέντρα Άλλες δομές δεδομένων Splay Δέντρα Περιγραφή Ο ευρισ τικός μηχανισ μός Splaying Αποδείξεις βασ ικών θεωρημάτων Θεώρημα Ισ ορροπίας Θεώρημα σ τατικής βελτισ τότητας Θεώρημα σ τατικής δακτυλοδότησ ης Θεώρημα σ υνόλου εργασ ίας Άλλα θεωρήματα Ενέργειες ανανέωσ ης Παραλλαγές σ τα Splay δέντρα Πειραματικές μελέτες Tango δέντρα Interleave κάτω φράγμα Περιγραφή Tango δέντρου Διαισ θητικός τρόπος λειτουργίας Βοηθητικά δέντρα Tango αλγόριθμος Ανάλυσ η Πολυπλοκότητας Πειραματικές Μελέτες Μεθοδολογία Συγκρίσ εων Λεπτομέρειες Υλοποίησ ης Αποτελέσ ματα Συμπεράσ ματα Ανοικτά Προβλήματα Εικασ ία δυναμικής βελτισ τότητας Εικασ ία της διπλοουράς Εικασ ία της διάσ χισ ης Εικασ ία του διαχωρισ μού Επίλογος - Προτάσεις για μελλοντική έρευνα 72 Βιβλιογραφία 74

10 Katˆlogoc Sqhmˆtwn 1.1 Παραδείγματα περισ τροφών Γραμμική Λίσ τα: access (3) με κόσ τος Γραμμική Λίσ τα: Αντιμετάθεσ η των σ τοιχείων 3 και 22 με κόσ τος Παραδείγματα ανασ τροφών - (28, 34), (28, 2), (34, 2), (6, 13) Παράδειγμα δημιουργίας ανασ τροφής μετά από αντιμετάθεσ η των x και y Οι L i 1 και L i 1 αμέσ ως πριν την προσ πέλασ η του σ τοιχείου x Βέλτισ το σ τατικό δέντρο για την ακολουθία S πάνω σ τα σ τοιχεία του σ υνόλου K Finger Δέντρο - Ο ροζ κόμβος είναι ένα nger από το οποίο μπορεί να ξεκινήσ ει μια αναζήτησ η Ιεραρχία Θεωρημάτων Τέλειο δυαδικό δέντρο για το σ ύνολο σ τοιχείων K = {1, 2,..., 16} Τέλειο δυαδικό δέντρο - Προσ πέλασ η του σ τοιχείου Τέλειο δυαδικό δέντρο - Προσ πέλασ η των σ τοιχείων 3 και Υπολογισ μός του W il2 (8) Προσ πέλασ η του κόκκινου κόμβου σ ε ένα skip-splay δέντρο. Στην αρχή κάνουμε splay τον κόκκινο κόμβο, σ τη σ υνέχεια τον πράσ ινο και τέλος τον μπλε Προσ πέλασ η του κόμβου B. Με διαδοχικές περισ τροφές ο κόμβος B μεταφέρεται σ τη ρίζα του δέντρου Η σ ειριακή προσ πέλασ η των σ τοιχείων του δέντρου απαιτεί O ( n 2) χρόνο Περίπτωσ η 1 - Zig Περίπτωσ η 2 - Zig-Zig Περίπτωσ η 3 - Zig-Zag Παράδειγμα splaying σ τον κόμβο B. Στην αρχή πραγματοποιείται μια Zig-Zag περισ τροφή και σ τη σ υνέχεια μια Zig-Zig περισ τροφή Διαφορά μεταξύ move-to-root και splay Υπολογισ μός Φ (T ) για ένα σ τιγμιότυπο ενός δέντρου. Στο δεξί μέρος φαίνονται τα μεγέθη s (x)

11 ΚΑΤ ΑΛΟΓΟΣ ΣΧΗΜ ΑΤΩΝ Η αρισ τερή περιοχή του y σ ηματοδοτείται με κόκκινο χρώμα ενώ η δεξιά με πράσ ινο Μετασ χηματισ μός από P i σ ε T i Διαχωρισ μός και Ενωσ η αναφορικά με το P Υλοποίησ η Διαχωρισ μού και Ενωσ ης χάρη σ την Διάσ πασ η και σ την Συνένωσ η Χρόνοι εκτέλεσ ης των δέντρων για την ομοιόμορφη κατανομή Αριθμός σ υγκρίσ εων των δέντρων για την ομοιόμορφη κατανομή Χρόνοι εκτέλεσ ης των δέντρων για την Zipf κατανομή με α = Αριθμός σ υγκρίσ εων των δέντρων για την Zipf κατανομή με α = Χρόνοι εκτέλεσ ης των δέντρων για την Zipf κατανομή με α = Αριθμός σ υγκρίσ εων των δέντρων για την Zipf κατανομή με α =

12 Kefˆlaio 1 Eisagwg Οι ηλεκτρονικοί υπολογισ τές της σ ημερινής εποχής, έχουν τη δυνατότητα να αποθηκεύουν και να επεξεργάζονται αποδοτικά πολύ μεγάλες ποσ ότητες δεδομένων. Ενας από τους παράγοντες που σ υντελούν σ το να σ υμβεί αυτό, είναι η χρησ ιμοποίησ η δομών δεδομένων οι οποίες έχουν σ αν σ τόχο την αποδοτική οργάνωσ η του μεγάλου όγκου δεδομένων για να είναι δυνατή η γρήγορη αναζήτησ η χρήσ ιμης πληροφορίας μέσ α σ ε αυτά. Υπάρχουν πολλές και διαφορετικές δομές δεδομένων. Ορισ μένες από αυτές είναι ιδιαίτερα απλοϊκές και προσ φέρουν μια σ τοιχειώδη κατηγοριοποίησ η των δεδομένων, ενώ άλλες είναι πιο πολύπλοκες και επικεντρώνονται κυρίως σ ε σ υγκεκριμένες απαιτήσ εις μιας εφαρμογής. Οι πιο γνωσ τές και διαδεδομένες δομές δεδομένων (π.χ. ισ οζυγισ μένα δέντρα) έχουν ως σ τόχο να ελαττωθεί, όσ ο αυτό είναι δυνατό, ο χρόνος εκτέλεσ ης μίας μεμονωμένης ενέργειας (εισ αγωγή, διαγραφή, αναζήτησ η) μέσ α σ τη δομή. Ωσ τόσ ο, υπάρχει και μια κατηγορία δομών δεδομένων οι οποίες σ τοχεύουν σ την ελάττωσ η του σ υνολικού χρόνου εκτέλεσ ης μιας ακολουθίας από εισ αγωγές, διαγραφές και αναζητήσ εις. Στις δομές δεδομένων αυτής της κατηγορίας, μια μεμονωμένη ενέργεια (εισ αγωγή/διαγραφή/αναζήτησ η) μπορεί να έχει μεγάλο χρόνο εκτέλεσ ης, ωσ τόσ ο αυτό δεν έχει μεγάλη σ ημασ ία καθώς κάποιες από τις υπόλοιπες ενέργειες θα έχουν μικρό χρόνο εκτέλεσ ης, ε- ξισ ορροπώντας έτσ ι τον τελικό και σ υνολικό χρόνο εκτέλεσ ης της ακολουθίας των ενεργειών. Ενας τρόπος για να επιτευχθεί αυτό είναι να ευνοηθούν τα σ τοιχεία για τα οποία γίνονται αναζητήσ εις τις περισ σ ότερες φορές. Αν η δομή επιτρέπει γρήγορες αναζητήσ εις γι αυτά τα σ τοιχεία τότε θα έχει, σ τη γενική περίπτωσ η, καλή απόδοσ η. Αυτή την ιδιότητα την ικανοποιούν κατά κύριο λόγο οι αυτοοργανώμενες δομές δεδομένων οι οποίες θα μελετηθούν σ τη σ υνέχεια αυτής της εργασ ίας. Αυτή τη σ τιγμή σ τη βιβλιογραφία υπάρχει μια πληθώρα αυτοοργανώμενων δομών δεδομένων και ένας μεγάλος αριθμός θεωρημάτων και ιδιοτήτων που πλαισ ιώνουν αυτές τις δομές. Υπάρχουν επίσ ης αρκετά ανοικτά προβλήματα για τα οποία η επισ τημονική κοινότητα δεν έχει κατορθώσ ει ακόμα να βρει απάντησ η. Ισ ως το μεγαλύτερο ανοικτό πρόβλημα, είναι η εικασ ία της δυναμικής βελτισ τότητας η οποία περιληπτικά εικάζει ότι υπάρχει κάποια ασ υμπτωτικά βέλτισ τη δομή δεδομένων η οποία είναι καλύτερη από τις υπόλοιπες του αντίσ τοιχου είδους. Αυτή είναι μια 12

13 ΚΕΦ ΑΛΑΙΟ 1. ΕΙΣΑΓΩΓ Η 13 πολύ ισ χυρή υπόθεσ η και αποτελεί το μεγαλύτερο θέμα έρευνας του σ υγκεκριμένου πεδίου των δομών δεδομένων. Στη σ υνέχεια του κεφαλαίου, θα αναλύσ ουμε κάποιες βασ ικές έννοιες οι οποίες είναι απαραίτητες για τις ενότητες που θα ακολουθήσ ουν. 1.1 Epimerisvmènh anˆlusvh poluplokìthtac Η σ υνηθέσ τερη ανάλυσ η πολυπλοκότητας που πραγματοποιείται σ ε μια δομή δεδομένων είναι η ανάλυσ η χειρότερης περίπτωσ ης για κάθε λειτουργία της. Οι δομές που εξασ φαλίζουν χαμηλά άνω φράγματα πολυπλοκότητας για τις λειτουργίες τους, είναι αυτές οι οποίες προτιμώνται σ υνήθως για να χρησ ιμοποιηθούν σ ε πρακτικές εφαρμογές. Ωσ τόσ ο, υπάρχουν εφαρμογές με δομές δεδομένων για τις οποίες γνωρίζουμε ότι δεν θα εκτελέσ ουν μόνο μία ενέργεια, αλλά μια ακολουθία από ενέργειες. Σε αυτές τις δομές μας ενδιαφέρει ο σ υνολικός χρόνος εκτέλεσ ης της ακολουθίας, αντί για τον χρόνο εκτέλεσ ης των μεμονωμένων ενεργειών. Σαν πρώτη σ κέψη θα μπορούσ αμε να πούμε ότι ο σ υνολικός χρόνος εκτέλεσ ης των ενεργειών της ακολουθίας είναι ίσ ος με το άθροισ μα των χρόνων χειρότερης περίπτωσ ης των επί μέρους ενεργειών. Αυτή όμως είναι μια ιδιαίτερα απαισ ιόδοξη σ κέψη, καθώς δε λαμβάνει υπόψη της κάποια πιθανή σ χέσ η μεταξύ των ε- νεργειών της ακολουθίας. Από την άλλη αν εκτελέσ ουμε τον ίδιο σ υλλογισ μό αλλά με τους χρόνους μέσ ης περίπτωσ ης, δε μπορούμε να είμασ τε σ ίγουροι για τις τιμές των πιθανοτήτων, οπότε η ανάλυσ η μπορεί να είναι άσ τοχη. Με βάσ η τα παραπάνω θα προσ εγγίσ ουμε το πρόβλημα με μία άλλη λογική, αυτή της επιμερισ μένης ανάλυσ ης. Παρακάτω ακολουθεί σ ε απλή μορφή ο ορισ μός του επιμερισ μένου κόσ τους: Ορισμός Το επιμερισ μένο κόσ τος μιας ενέργειας για μια ακολουθία n ενεργειών, είναι ίσ ο με το σ υνολικό κόσ τος των ενεργειών διαιρούμενο με το n. Ενας διαφορετικός τρόπος να το ορίσ ουμε είναι ότι η επιμερισ μένη ανάλυσ η βρίσ κει για κάθε ενέργεια της ακολουθίας τον μέσ ο χρόνο εκτέλεσ ής της πάνω σ την ακολουθία. Στη σ υνέχεια θα αναλύσ ουμε τρεις τεχνικές υπολογισ μού του επιμερισ μένου κόσ τους Teqnik tou AjroÐsvmatoc Θα δώσ ουμε τον ορισ μό της τεχνικής του αθροίσ ματος, με ένα παράδειγμα: Παράδειγμα Εσ τω μια ακολουθία ενεργειών S = s 1, s 2, s 3, s 4 όπου s i η i-οσ τή ενέργεια της ακολουθίας. Εσ τω ότι το κόσ τος εκτέλεσ ης κάθε ενέργειας υπολογίζεται σ ε μονάδες κόσ τους και έχουμε cost (s 1 ) = 2 μονάδες κόσ τους, cost (s 2 ) = 3 μ.κ., cost (s 3 ) = 1 μ.κ. και τέλος cost (s 4 ) = 6 μ.κ. Μπορούμε να φράξουμε το σ υνολικό κόσ τος της κάθε ενέργειας με βάσ η το υψηλότερο κόσ τος που υπάρχει για ενέργεια της ακολουθίας. Αυτό είναι 6 μ.κ. οπότε πραγματοποιώντας μια ανάλυσ η χειρότερης περίπτωσ ης, έχουμε ότι η ακολουθία θα σ τοιχίσ ει σ υνολικά cost (S) = 4 6 = 24 μ.κ.

14 ΚΕΦ ΑΛΑΙΟ 1. ΕΙΣΑΓΩΓ Η 14 Το επιμερισ μένο, όμως, κόσ τος κάθε ενέργειας είναι ίσ ο με το μέσ ο κόσ τος για κάθε ενέργεια, δηλαδή ίσ ο με = 3 μ.κ. Δυσ τυχώς, η διαδικασ ία για τον υπολογισ μό του επιμερισ μένου κόσ τους μιας ενέργειας δεν είναι σ χεδόν ποτέ τόσ ο απλή. Συνήθως δε μπορούμε να υπολογίσ ουμε επακριβώς το κόσ τος κάθε ενέργειας οπότε πρέπει να καταφύγουμε σ ε άλλες μεθόδους Teqnik tou Logisvt Μια άλλη τεχνική υπολογισ μού είναι η Τεχνική του Λογισ τή η οποία διατυπώθηκε πρώτη φορά σ το [12] και αναπτύχθηκε περισ σ ότερο σ τα [27, 28]. Εσ τω ότι ο Η/Υ για να εκτελέσ ει μια από τις ενέργειες της ακολουθίας, πρέπει να πληρωθεί σ ε χρήματα από τον χρήσ τη. Για κάθε ενέργεια ο χρήσ της δίνει ένα σ υγκεκριμένο ποσ ό χρημάτων (όχι απαραίτητα ίσ ο με το πραγματικό κόσ τος της ενέργειας) από τα οποία ο Η/Υ παίρνει όσ α του χρειάζονται για να εκτελέσ ει την ενέργεια. Το υπόλοιπο των χρημάτων που μένουν ανεκμετάλλευτα φυλάσ σ ονται για μελλοντική χρήσ η. Κάποια σ τιγμή, μία από τις ενέργειες προς εκτέλεσ η μπορεί να απαιτεί περισ σ ότερα χρήματα από αυτά που θα πληρώσ ει ο χρήσ της τον Η/Υ. Σε αυτή τη περίπτωσ η ο Η/Υ θα πάρει το ποσ ό που υπολείπεται, από τα χρήματα που είχε αποταμιεύσ ει σ τις προηγούμενες ενέργειες. Ετσ ι, αν σ το τέλος της ακολουθίας έχουν εκτελεσ τεί όλες οι ενέργειες και έχει απομείνει θετική ποσ ότητα χρημάτων (ή μηδέν) που έχει μείνει ανεκμετάλλευτη, σ υμπεραίνουμε ότι τα χρήματα που έδωσ ε σ υνολικά ο χρήσ της ήταν αρκετά για να καλύψουν τις ανάγκες του Η/Υ. Το ποσ ό χρημάτων που δίνει ο χρήσ της σ τον Η/Υ για μια ενέργεια είναι σ την ουσ ία το επιμερισ μένο κόσ τος της. Το γεγονός ότι σ το τέλος απομένουν κάποια χρήματα ανεκμετάλλευτα σ ημαίνει πρακτικά ότι το σ υνολικό επιμερισ μένο κόσ τος των ενεργειών φράσ σ ει το πραγματικό κόσ τος της ακολουθίας και έτσ ι η ανάλυσ η είναι έγκυρη. Η δυσ κολία αυτής της τεχνικής βρίσ κεται σ τη σ ωσ τή αντισ τοίχισ η των επιμερισ μένων κοσ τών σ ε κάθε πράξη Teqnik tou FusvikoÔ Η τελευταία τεχνική υπολογισ μού που θα αναλύσ ουμε ονομάζεται Τεχνική του Φυσ ικού και προτάθηκε πρώτη φορά σ το [40] ενώ αναλύθηκε και σ το [44]. Βασ ίζεται σ την ιδέα ότι η δομή ανά πάσ α σ τιγμή χαρακτηρίζεται από ένα δυναμικό ενέργειας, το οποίο χρησ ιμοποιεί για να πληρώσ ει πράξεις της ακολουθίας. Εσ τω S = s 1, s 2,..., s m μια ακολουθία ενεργειών πάνω σ ε μια δομή δεδομένων και D i η κατάσ τασ η και η διάρθρωσ η της δομής μετά την εφαρμογή της i-οσ τής ενέργειας (D 0 η αρχική κατάσ τασ η της δομής). Ονομάζουμε σ υνάρτησ η δυναμικού μια σ υνάρτησ η Φ η οποία δεδομένης μιας κατάσ τασ ης D i υπολογίζει το δυναμικό Φ (D i ) της δομής για την κατάσ τασ η αυτή. Ορίζουμε το επιμερισ μένο κόσ τος ac i της i-οσ τής ενέργειας ως το άθροισ μα του πραγματικού της κόσ τους c i αυξημένο κατά τη μεταβολή του δυναμικού της δομής. Δηλαδή: ac i = c i + Φ (D i ) Φ (D i 1 )

15 ΚΕΦ ΑΛΑΙΟ 1. ΕΙΣΑΓΩΓ Η 15 Ετσ ι το σ υνολικό επιμερισ μένο κόσ τος για m ενέργειες είναι: m m ac i = (c i + Φ (D i ) Φ (D i 1 )) και επειδή το Φ είναι τηλεσ κοπικό, έχουμε: m m ac i = c i + Φ (D m ) Φ (D 0 ) Παρατηρούμε ότι το σ υνολικό επιμερισ μένο κόσ τος είναι ίσ ο με το σ υνολικό πραγματικό κόσ τος αυξημένο κατά την μεταβολή από την D 0 σ την D m. Για να είναι έγκυρη η σ υνάρτησ η δυναμικού θα πρέπει να ισ χύει Φ (D i ) Φ (D 0 ) για κάθε i. Αν έχουμε μια έγκυρη σ υνάρτησ η δυναμικού τότε το σ υνολικό πραγματικό κόσ τος οποιασ δήποτε ακολουθίας ενεργειών θα είναι πάντοτε μικρότερο από το σ υνολικό επιμερισ μένο κόσ τος, αφού: m m m c i = ac i Φ (D m ) + Φ (D 0 ) ac i Άρα σ υμπεραίνουμε ότι με μία έγκυρη σ υνάρτησ η δυναμικού, το επιμερισ μένο κόσ τος φράσ σ ει το πραγματικό κόσ τος. Η τεχνική του φυσ ικού εσ τιάζει κυρίως σ το δυναμικό, το οποίο υπολογίζεται σ υναρτήσ ει ολόκληρης της δομής (π.χ. αριθμός σ τοιχείων σ ε μια σ τοίβα) ενώ η τεχνική του λογισ τή εσ τιάζει κυρίως σ το πόσ ο κοσ τίζει μια σ υγκεκριμένη ενέργεια ανάλογα με τον τύπο της. Οι δύο τεχνικές είναι απόλυτα ισ οδύναμες και αν χρησ ιμοποιηθούν ορθώς θα δώσ ουν τα ίδια αποτελέσ ματα. 1.2 To BST montèlo Θα δώσ ουμε έναν ορισ μό για τον τρόπο δόμησ ης και λειτουργίας ενός δυαδικού δέντρου αναζήτησ ης (BST). Ορίζουμε ως κόμβο του BST ένα κελί μνήμης το οποίο περιέχει τρεις δείκτες: έναν δείκτη προς τον γονέα, έναν δείκτη προς το αρισ τερό παιδί και έναν δείκτη προς το δεξί παιδί. Επιπρόσ θετα κάθε κόμβος αποθηκεύει ένα κλειδί και είναι δυνατό να διατηρεί και επιπλέον πληροφορία σ ε βοηθητικά πεδία. Κάθε ένα από τα n κλειδιά που αποθηκεύονται σ το BST έχει το δικό του κόμβο BST και αυτοί οι n κόμβοι ενώνονται όλοι μαζί για να σ χηματίσ ουν το δέντρο T. Στο BST μοντέλο κάθε κόμβος επιτρέπεται να αποθηκεύσ ει O (1) επιπλέον πληροφορία μαζί με το κλειδί του, ενώ απαγορεύονται οι επιπλέον δείκτες προς άλλους κόμβους. Κατά τη διάρκεια της εκτέλεσ ης μιας ακολουθίας ενεργειών η δομή του T μεταβάλλεται μόνο από μία ενέργεια που κοσ τίζει O (1) και η οποία αποκαλείται περισ τροφή. Η περισ τροφή ορίζεται για κάθε BST κόμβο που έχει πατέρα. Κατά τη διάρκεια της περισ τροφής ενός κόμβου x πάνω από τον τωρινό του πατέρα y, ο κόμβος x γίνεται πατέρας του y και ένα από τα παιδιά του x μετακινείται και γίνεται παιδί του y με τέτοιο τρόπο ώσ τε το T να παραμένει δυαδικό. Στην

16 ΚΕΦ ΑΛΑΙΟ 1. ΕΙΣΑΓΩΓ Η 16 εικόνα 1.1 φαίνονται δύο παραδείγματα περισ τροφών, μιας δεξιόσ τροφης και μιας αρισ τερόσ τροφης. Αξίζει να σ ημειωθεί ότι η περισ τροφή αλλάζει την δομή του δέντρου μόνο τοπικά και δεν μεταβάλλει καμία από τις υπόλοιπες σ χέσ εις γονέαπαιδιού σ το δέντρο. y x x C A y A B B C Σχήμα 1.1: Παραδείγματα περισ τροφών

17 Kefˆlaio 2 Autoorgan menec Domèc Dedomènwn Σε αυτό το κεφάλαιο, θα αναλύσ ουμε τις αυτοοργανώμενες δομές δεδομένων και θα εξηγήσ ουμε τον τρόπο λειτουργίας τους καθώς και τις διαφορές που παρουσ ιάζουν με τις σ υνηθισ μένες δομές δεδομένων. Επίσ ης θα δώσ ουμε μερικές κοινές αρχές οι οποίες διέπουν την πλειοψηφία των δομών της σ υγκεκριμένης κατηγορίας. Στην επόμενη ενότητα θα δείξουμε μια από τις πιο απλές αυτοοργανώμενες δομές δεδομένων, την MTF λίσ τα και θα αναλύσ ουμε το επιμερισ μένο κόσ τος της αναζήτησ ης σ τοιχείου μέσ α σ ε αυτή. Τέλος, θα προχωρήσ ουμε σ ε μια επισ κόπησ η της ερευνητικής περιοχής αναφέροντας τα θεωρήματα που ισ χύουν για ορισ μένες αυτοοργανώμενες δομές δεδομένων. 2.1 Perigraf Οπως αναφέρθηκε και σ το εισ αγωγικό κεφάλαιο, μέχρι σ ήμερα έχουν προταθεί πολλές και διαφορετικές δομές δεδομένων σ την βιβλιογραφία. Ορισ μένες από αυτές (AVL δέντρα [1], μελανέρυθρα δέντρα [6], Β-δέντρα [5] και οι παραλλαγές τους [27, 28]) φράσ σ ουν τον χρόνο εκτέλεσ ης χειρότερης περίπτωσ ης μιας ενέργειας σ ε O (logn), προσ φέροντας έτσ ι καλή απόδοσ η για την εκτέλεσ η μιας ενέργειας. Ωσ τόσ ο σ ε πολλές εφαρμογές αντί για μια μεμονωμένη ενέργεια, οι δομές δεδομένων καλούνται να εκτελέσ ουν μια ακολουθία ενεργειών. Σε αυτές τις περιπτώσ εις μεγαλύτερο βάρος πρέπει να δοθεί σ τον σ υνολικό χρόνο εκτέλεσ ης της ακολουθίας σ ε αντίθεσ η με αυτόν των επί μέρους ενεργειών. Για να επιτευχθεί μικρός χρόνος εκτέλεσ ης για όλη την ακολουθία, θα πρέπει να μειωθεί όσ ο είναι δυνατό το επιμερισ μένο κόσ τος κάθε ενέργειας. Οι αυτοοργανώμενες δομές δεδομένων έχουν σ αν κύριο χαρακτηρισ τικό τους ότι εξασ φαλίζουν μικρά επιμερισ μένα κόσ τη για την εκτέλεσ η των ενεργειών μιας ακολουθίας. Ακολουθεί ένας ορισ μός για μια γενική αυτοοργανώμενη δομή: 17

18 ΚΕΦ ΑΛΑΙΟ 2. ΑΥΤΟΟΡΓΑΝ ΩΜΕΝΕΣ ΔΟΜ ΕΣ ΔΕΔΟΜ ΕΝΩΝ 18 Ορισμός Μια αυτοοργανώμενη δομή δεδομένων βρίσ κεται κάθε σ τιγμή σ ε μια αυθαίρετη κατάσ τασ η η οποία δεν είναι απαραίτητο να ικανοποιεί κάποιο κριτήριο ισ οζύγισ ης (όπως π.χ. το ύψος σ τα ισ οζυγισ μένα δέντρα). Στο τέλος κάθε ενέργειας εφαρμόζουμε μια κίνησ η αναδόμησ ης πάνω σ τη δομή η οποία πραγματοποιείται έτσ ι ώσ τε η δομή να είναι αποτελεσ ματικότερη σ τις μελλοντικές ενέργειες. Για παράδειγμα, μια κίνησ η αναδόμησ ης σ ε μια γραμμική λίσ τα μετά από μια επιτυχή αναζήτησ η ενός σ τοιχείου, είναι η μετακίνησ η του σ τοιχείου αυτού από τη θέσ η που βρισ κόταν σ την κορυφή της λίσ τας (MTF λίσ τα). Ετσ ι, αν οι αναζητήσ εις ακολουθούν κάποια μη-ομοιόμορφη κατανομή (π.χ. κανονική) τα σ τοιχεία για τα οποία γίνεται σ υχνά αναζήτησ η μέσ α σ την ακολουθία, θα τείνουν να βρίσ κονται κοντά σ την κορυφή της λίσ τας. Με αυτόν τον τρόπο θα πετυχαίναμε καλύτερη απόδοσ η από το αν χρησ ιμοποιούσ αμε μια απλή γραμμική λίσ τα. Οι αυτοοργανώμενες δομές δεδομένων έχουν αρκετά πλεονεκτήματα σ ε σ χέσ η με τις δομές που βασ ίζονται σ ε κριτήριο ισ οζύγισ ης όπως τα ισ οζυγισ μένα δέντρα. Μερικά από αυτά είναι: 1. Με βάσ η το επιμερισ μένο κόσ τος οι αυτοοργανώμενες δομές δε μπορεί να είναι ποτέ πολύ χειρότερες από τις δομές που βασ ίζονται σ ε κριτήριο ισ οζύγισ ης. Επιπλέον, επειδή η αναδόμησ ή τους γίνεται με βάσ η τα σ τοιχεία για τα οποία γίνεται αναζήτησ η, οι αυτοοργανώμενες δομές δεδομένων είναι πολύ πιο αποδοτικές όταν τα σ τοιχεία προς αναζήτησ η επιλέγονται με μία μηομοιόμορφη κατανομή. 2. Απαιτούν λιγότερο χώρο, καθώς δεν αποθηκεύεται πουθενά πληροφορία ισ οζύγισ ης. 3. Οι αλγόριθμοι ενημέρωσ ης και αναζήτησ ης σ τοιχείων είναι εύκολα κατανοήσ ιμοι και εύκολα υλοποιήσ ιμοι. Οι αυτοοργανώμενες δομές δεδομένων έχουν και δύο πιθανά μειονεκτήματα τα οποία είναι: 1. Πραγματοποιείται αναδόμησ η της δομής ακόμα και μετά από ενέργειες αναζήτησ ης. Στις δομές που βασ ίζονται σ ε κριτήριο ισ οζύγισ ης η κατάσ τασ η της δομής μεταβάλλεται μόνο μετά από ενέργειες ενημέρωσ ης (εισ αγωγή ή διαγραφή σ τοιχείου). 2. Οι μεμονωμένες ενέργειες μέσ α σ ε μια ακολουθία ενεργειών μπορεί να είναι χρονοβόρες και αυτό μπορεί να αποτελέσ ει πρόβλημα σ τις εφαρμογές πραγματικού χρόνου. Τέλος θα δώσ ουμε τρεις ορισ μούς οι οποίοι είναι απαραίτητοι για τη σ υνέχεια. Εσ τω S μια ακολουθία ενεργειών προς εκτέλεσ η. Ονομάζουμε online αλγόριθμο έναν αλγόριθμο ο οποίος εκτελεί τις ενέργειες της S μία-μία χωρίς να έχει επίγνωσ η για το ποιες είναι οι μελλοντικές ενέργειες της ακολουθίας. Αντίθετα, ένας oine αλγόριθμος γνωρίζει εξ αρχής όλη την ακολουθία S και τις ενέργειες που την αποτελούν. Εσ τω C A (S) το κόσ τος εκτέλεσ ης της ακολουθίας από έναν online

19 ΚΕΦ ΑΛΑΙΟ 2. ΑΥΤΟΟΡΓΑΝ ΩΜΕΝΕΣ ΔΟΜ ΕΣ ΔΕΔΟΜ ΕΝΩΝ 19 αλγόριθμο A, και C OP T (S) το κόσ τος εκτέλεσ ης της ακολουθίας από τον OP T, δηλαδή τον βέλτισ το oine αλγόριθμο για τη σ υγκεκριμένη ακολουθία. Τότε έχουμε ότι: Ορισμός Ο αλγόριθμος A είναι c-ανταγωνισ τικός αν υπάρχει σ ταθερά k τέτοια ώσ τε για κάθε ακολουθία ενεργειών S να ισ χύει C A (S) c C OP T (S) + k Το παραπάνω είδος ανάλυσ ης ονομάζεται ανταγωνισ τική ανάλυσ η. Η ανταγωνισ τική ανάλυσ η σ υγκρίνει πρακτικά την απόδοσ η ενός online αλγόριθμου ενάντια σ την απόδοσ η του βέλτισ του oine αλγορίθμου για κάθε ακολουθία ενεργειών. Αν δηλαδή το κόσ τος ενός αλγορίθμου για κάθε ακολουθία S φράσ σ εται από O (c C OP T (S)) (όπου OP T ο βέλτισ τος oine αλγόριθμος για τη σ υγκεκριμένη ακολουθία S) τότε ο αλγόριθμος είναι c-ανταγωνισ τικός. Στη σ υνέχεια θα περιγράψουμε μια πολύ απλή αυτοοργανώμενη δομή δεδομένων, την MTF λίσ τα και θα αναλύσ ουμε το επιμερισ μένο της κόσ τος για την αναζήτησ η σ τοιχείου μέσ α σ ε αυτή. 2.2 Move To Front LÐsvta Θα δώσ ουμε πρώτα μια περιγραφή για τις απλές γραμμικές λίσ τες και σ τη σ υνέχεια θα προχωρήσ ουμε σ τις MTF λίσ τες. Εσ τω L μια απλή γραμμική λίσ τα η οποία αποτελείται από n σ τοιχεία. Ορίζουμε ως pos (x i ) τη θέσ η του σ τοιχείου x i μέσ α σ τη λίσ τα, δηλαδή το πλήθος των σ τοιχείων που παρεμβάλλονται από το αρισ τερό άκρο της λίσ τας μέχρι το σ τοιχείο x i (μαζί με το σ τοιχείο x i ). Μια γραμμική λίσ τα υποσ τηρίζει τις παρακάτω ενέργειες: access (x i ), δηλαδή αναζήτησ η σ τοιχείου με κόσ τος pos (x i ) αφού τόσ α σ τοιχεία πρέπει να εξετασ θούν μέχρι να βρούμε το σ τοιχείο x i (Εικόνα 2.1) insert (x i ), δηλαδή εισ αγωγή σ τοιχείου με κόσ τος n+1 καθώς πρέπει πρώτα να διαπεράσ ουμε όλα τα σ τοιχεία για να επαληθεύσ ουμε ότι το x i δε βρίσ κεται μέσ α σ τη λίσ τα και σ τη σ υνέχεια να προσ θέσ ουμε το σ τοιχείο σ τη κορυφή της λίσ τας delete (x i ), δηλαδή διαγραφή σ τοιχείου με κόσ τος pos (x i ) αφού τόσ α σ τοιχεία πρέπει να εξετασ θούν μέχρι να βρούμε το σ τοιχείο x i Επίσ ης θα θεωρήσ ουμε ότι μπορούμε να αντιμεταθέσ ουμε δυο γειτονικά σ τοιχεία μέσ α σ τη λίσ τα με κόσ τος 1 (Εικόνα 2.2) Σχήμα 2.1: Γραμμική Λίσ τα: access (3) με κόσ τος 3 Μια MTF λίσ τα, είναι μια απλή γραμμική λίσ τα σ την οποία εφαρμόζουμε τον ευρετικό κανόνα Move to front (προτάθηκε σ το [36]). Συγκεκριμένα η εισ αγωγή και

20 ΚΕΦ ΑΛΑΙΟ 2. ΑΥΤΟΟΡΓΑΝ ΩΜΕΝΕΣ ΔΟΜ ΕΣ ΔΕΔΟΜ ΕΝΩΝ Σχήμα 2.2: Γραμμική Λίσ τα: Αντιμετάθεσ η των σ τοιχείων 3 και 22 με κόσ τος 1 η διαγραφή ενός σ τοιχείου γίνεται με τον ίδιο τρόπο με μια απλή γραμμική λίσ τα. Ομως, σ το τέλος κάθε αναζήτησ ης μεταφέρουμε το σ τοιχείο που βρέθηκε, σ την κορυφή της MTF λίσ τας με διαδοχικές αντιμεταθέσ εις. Ετσ ι, το σ υνολικό κόσ τος αναζήτησ ης σ ε MTF λίσ τα είναι ίσ ο με 2pos (x i ) 1 και αυτό γιατί έχει pos (x i ) κόσ τος να βρούμε το σ τοιχείο x i ενώ σ τη σ υνέχεια πραγματοποιούμε pos (x i ) 1 αντιμεταθέσ εις για να το φέρουμε σ τη κορυφή. Θα αποδείξουμε ότι η MTF λίσ τα είναι O (1)-ανταγωνισ τική και σ υγκεκριμένα 4-ανταγωνισ τική. Η απόδειξη θα περιορισ τεί σ τις επιτυχημένες αναζητήσ εις τις οποίες αποκαλούμε προσ πελάσ εις. Θεώρημα Η MTF λίσ τα είναι 4-ανταγωνισ τική ως προς τις αυτοοργανώμενες γραμμικές λίσ τες [40]. Απόδειξη. Εσ τω L i η MTF λίσ τα μετά την i-οσ τή προσ πέλασ η και έσ τω L i η OPT λίσ τα (δηλαδή η βέλτισ τη oine γραμμική λίσ τα για τη σ υγκεκριμένη ακολουθία) μετά την i-οσ τή προσ πέλασ η. Εσ τω επίσ ης c i το κόσ τος της MTF λίσ τας για την i-οσ τή προσ πέλασ η, δηλαδή c i = 2pos i 1 (x) 1 όπου pos i 1 (x) η θέσ η του σ τοιχείου x σ την L i 1. Κατά αντίσ τοιχο τρόπο έχουμε ότι c i είναι το κόσ τος της OPT λίσ τας για την i-οσ τή προσ πέλασ η, δηλαδή c i = pos i 1 (x) + t i όπου pos i 1 (x) η θέσ η του σ τοιχείου x σ την L i 1 και t i ο αριθμός των αντιμεταθέσ εων που πραγματοποιεί η OP T (αφού το κόσ τος t i αντιμεταθέσ εων είναι t i 1 = t i ). Θα αναλύσ ουμε το επιμερισ μένο κόσ τος μιας προσ πέλασ ης για την MTF λίσ τα χρησ ιμοποιώντας την Τεχνική του Φυσ ικού. Ορίζουμε σ αν σ υνάρτησ η δυναμικού Φ : {L i } R για την MTF λίσ τα, τη σ υνάρτησ η: Φ (L i ) = 2 { (x, y) : x Li y και y L i x } = 2 #ανασ τροφές Ανασ τροφή έχουμε όταν σ τη λίσ τα MTF ένα σ τοιχείο x βρίσ κεται μπροσ τά από ένα σ τοιχείο y ενώ την ίδια σ τιγμή σ τη λίσ τα OP T το σ τοιχείο y βρίσ κεται αυτό μπροσ τά από το σ τοιχείο x. Ενα παράδειγμα υπάρχει σ την εικόνα 2.3, όπου υπάρχουν 4 ανασ τροφές. Αυτές αποτελούνται από τα ζεύγη σ τοιχείων (28, 34), (28, 2), (34, 2), (6, 13). L L* Σχήμα 2.3: Παραδείγματα ανασ τροφών - (28, 34), (28, 2), (34, 2), (6, 13)

21 ΚΕΦ ΑΛΑΙΟ 2. ΑΥΤΟΟΡΓΑΝ ΩΜΕΝΕΣ ΔΟΜ ΕΣ ΔΕΔΟΜ ΕΝΩΝ 21 Με βάσ η τον ορισ μό της σ υνάρτησ ης δυναμικού παρατηρούμε ότι: Φ (L i ) 0 για i = 0, 1, 2,... αφού οι δύο λίσ τες θα έχουν πάντα 0 ανασ τροφές. Επίσ ης υποθέτουμε ότι οι δύο λίσ τες ξεκινούν την εκτέλεσ η των ενεργειών της ακολουθίας έχοντας τα ίδια σ τοιχεία σ τις ίδιες θέσ εις. Ετσ ι προκύπτει ότι Φ (L 0 ) = 0. Τέλος παρατηρούμε ότι μία αντιμετάθεσ η σ τοιχείων σ την L i είτε δημιουργεί μόνο μία νέα ανασ τροφή, είτε κατασ τρέφει μόνο μία υπάρχουσ α. Ενα παράδειγμα υπάρχει σ την εικόνα 2.4. Η αντιμετάθεσ η των σ τοιχείων x και y δημιουργεί ή κατασ τρέφει μια ανασ τροφή διατηρώντας όμως παράλληλα τα σ τοιχεία των τμημάτων La και Lb σ τις θέσ εις που βρισ κόταν. Με αυτό τον τρόπο διατηρούνται και οι σ χέσ εις μεταξύ αυτών των σ τοιχείων και έτσ ι δε δημιουργείται (ή κατασ τρέφεται) κάποια επιπλέον ανασ τροφή. Άρα με βάσ η τα παραπάνω, η διαφορά σ το δυναμικό λόγω μίας αντιμετάθεσ ης σ τοιχείων είναι το πολύ Φ = ±2 (επειδή Φ (L i ) = 2 #ανασ τροφές). La x y Lb La y x Lb Σχήμα 2.4: Παράδειγμα δημιουργίας ανασ τροφής μετά από αντιμετάθεσ η των x και y Στη σ υνέχεια θα εξετάσ ουμε τι σ υμβαίνει σ την i-οσ τή ενέργεια η οποία υποθέτουμε ότι πραγματοποιεί προσ πέλασ η σ το σ τοιχείο x. Ορίζουμε τα παρακάτω σ ύνολα τα οποία περιγράφουν την σ χέσ η του σ τοιχείου x με τα υπόλοιπα σ τοιχεία κάθε λίσ τας. A = B = C = D = { } y L i 1 : y Li 1 x και y L i 1 x { } y L i 1 : y Li 1 x και y L i 1 x { } y L i 1 : y Li 1 x και y L i 1 x { } y L i 1 : y Li 1 x και y L i 1 x Στην εικόνα 2.5 απεικονίζονται οι λίσ τες L i 1 και L i 1 και οι σ χέσ εις των παραπάνω σ υνόλων με τα σ τοιχεία κάθε λίσ τας. Παρατηρούμε ότι r = A + B +1 ενώ r = A + C + 1. Η MTF λίσ τα αφού πραγματοποιήσ ει προσ πέλασ η σ το σ τοιχείο x, το μεταφέρει σ την κορυφή της λίσ τας, δημιουργώντας έτσ ι A ανασ τροφές και κατασ τρέφοντας B ανασ τροφές. Η OPT λίσ τα μετά την προσ πέλασ η σ το σ τοιχείο x, πραγματοποιεί t i αντιμεταθέσ εις οι οποίες με τη σ ειρά τους δημιουργούν το πολύ t i ανασ τροφές. Άρα η διαφορά δυναμικού που προκαλείται από την i-οσ τή ενέργεια είναι το πολύ 2 ( A B + t i ) δηλαδή Φ (L i ) Φ (L i 1 ) 2 ( A B + t i ). Το επιμερισ μένο κόσ τος για την i-οσ τή ενέργεια πρόσ βασ ης διαμορφώνεται ως εξής:

22 ΚΕΦ ΑΛΑΙΟ 2. ΑΥΤΟΟΡΓΑΝ ΩΜΕΝΕΣ ΔΟΜ ΕΣ ΔΕΔΟΜ ΕΝΩΝ 22 L A B r x C D L* A C x r* B D Σχήμα 2.5: Οι L i 1 και L i 1 αμέσ ως πριν την προσ πέλασ η του σ τοιχείου x ac i = c i + Φ (L i ) Φ (L i 1 ) 2r ( A B + t i ) = 2r ( A (r 1 A ) + t i ) (αφού r = A + B + 1) = 2r A 2r t i = 4 A t i 4 A t i 4 (r + t i ) (αφού r = A + C + 1 A + 1) = 4 ( pos ) i 1 (x) + t i = 4c i Άρα έχουμε ότι το επιμερισ μένο κόσ τος για την i-οσ τή ενέργεια προσ πέλασ ης είναι ίσ ο με ac i 4c i. Για το σ υνολικό κόσ τος εκτέλεσ ης όλων των ενεργειών της ακολουθίας S έχουμε: C MT F (S) = = S c i S (ac i + Φ (L i 1 ) Φ (L i )) S 4c i + Φ (L 0 ) Φ ( L S ) 4 C OP T (S) (αφού Φ (L 0 ) = 0 και Φ ( L S ) 0) Άρα τελικά η MTF λίσ τα είναι 4-ανταγωνισ τική ως προς τις αυτοοργανώμενες γραμμικές λίσ τες. Το παραπάνω θεώρημα είναι πολύ ισ χυρό και αν το ερμηνεύσ ουμε με απλά λόγια έχουμε ότι Για μια ακολουθία S, μια MTF λίσ τα θα είναι το πολύ 4 φορές χειρότερη από μια οποιαδήποτε άλλη αυτοοργανώμενη γραμμική λίσ τα, ακόμα και αν αυτή η γραμμική λίσ τα γνωρίζει εξ αρχής την ακολουθία S (οπότε και θα

23 ΚΕΦ ΑΛΑΙΟ 2. ΑΥΤΟΟΡΓΑΝ ΩΜΕΝΕΣ ΔΟΜ ΕΣ ΔΕΔΟΜ ΕΝΩΝ 23 μπορεί να πραγματοποιήσ ει αντιμεταθέσ εις για να ευνοήσ ει μελλοντικές αναζητήσ εις σ τοιχείων). Μπορούμε να επεκτείνουμε την παραπάνω ανάλυσ η με δύο τρόπους. Αν θεωρήσ ουμε ότι μετά την προσ πέλασ η ενός σ τοιχείου, η MTF λίσ τα μπορεί να το μεταφέρει σ την κορυφή σ ε O (1) χρόνο, αποφεύγοντας δηλαδή τις διαδοχικές α- ντιμεταθέσ εις, τότε η MTF-λίσ τα είναι 2-ανταγωνισ τική [40]. Το σ υγκεκριμένο μοντέλο είναι μάλισ τα πιο ρεαλισ τικό αφού σ υνήθως απαιτούνται οι ενημερώσ εις τριών μόνο δεικτών για να μεταφερθεί επιτυχώς ένα σ τοιχείο σ την κορυφή της λίσ τας. Τέλος, αν θεωρήσ ουμε ότι σ την αρχή της ανάλυσ ης οι δύο λίσ τες δε ξεκινούν με τα ίδια σ τοιχεία σ τις ίδιες θέσ εις (δηλαδή ότι L 0 L 0), τότε σ τη χειρότερη περίπτωσ η θα έχουν τα σ τοιχεία αντίσ τροφα μεταξύ τους κι έτσ ι Φ (L 0 ) = Θ ( n 2). Άρα θα ισ χύει C MT F (S) 4 C OP T (S) + Θ ( n 2) και η MTF-λίσ τα θα είναι και πάλι 4-ανταγωνισ τική γιατί το n 2 θεωρείται σ ταθερά όταν S. 2.3 Basvikˆ Jewr mata Το υπόλοιπο της πτυχιακής εργασ ίας θα επικεντρωθεί κατά κύριο λόγο σ ε αυτοοργανώμενες δομές δεδομένων που βασ ίζονται σ τα δυαδικά δέντρα αναζήτησ ης γιατί αυτά είναι που παρουσ ιάζουν το μεγαλύτερο ερευνητικό ενδιαφέρον. Η μελέτη των σ υγκεκριμένων δομών δεδομένων πραγματοποιείται με βάσ η το BST μοντέλο, το οποίο αναλύεται σ την ενότητα 1.2. Σε πρώτη φάσ η θα αναλύσ ουμε κάποια άνω και κάτω φράγματα τα οποία χαρακτηρίζουν τα BST και σ τη σ υνέχεια θα παρουσ ιάσ ουμε σ υγκεκριμένες δομές οι οποίες ικανοποιούν τα παραπάνω φράγματα 'Anw frˆgmata Υπάρχουν αρκετά θεωρήματα που παρέχουν άνω φράγματα τα οποία μπορούν να χαρακτηρίσ ουν ένα αυτοοργανώμενο BST. Από αυτά τα κυριότερα είναι το θεώρημα της σ τατικής βελτισ τότητας, το θεώρημα σ τατικής δακτυλοδότησ ης, το θεώρημα δυναμικής δακτυλοδότησ ης, το θεώρημα σ υνόλου εργασ ίας και το ενοποιημένο θεώρημα. Υπάρχουν επίσ ης και άλλα πιο εξειδικευμένα θεωρήματα όπως το θεώρημα της σ ειριακής προσ πέλασ ης, το θεώρημα της προδιατεταγμένης προσ πέλασ ης και άλλα. Για τη μελέτη των σ υγκεκριμένων θεωρημάτων και εικασ ιών θα θεωρήσ ουμε ότι έχουμε μια ακολουθία S μήκους m, όπου S = (s 1, s 2,..., s m ) μια ακολουθία αναζητήσ εων πάνω σ ε n διαφορετικά σ τοιχεία Θεώρημα σ τατικής βελτισ τότητας Προτού δώσ ουμε τον ορισ μό του θεωρήματος της σ τατικής βελτισ τότητας (Static Optimality), θα πρέπει να περιγράψουμε τα χαρακτηρισ τικά ενός βέλτισ του σ τατικού δέντρου.

24 ΚΕΦ ΑΛΑΙΟ 2. ΑΥΤΟΟΡΓΑΝ ΩΜΕΝΕΣ ΔΟΜ ΕΣ ΔΕΔΟΜ ΕΝΩΝ 24 Εσ τω ένα σ ύνολο K = {k 1, k 2, k 3, k 4, k 5 } πέντε σ τοιχείων για τα οποία θα πρέπει να δημιουργηθεί ένα σ τατικό δυαδικό δέντρο, δηλαδή ένα BST που δεν υποσ τηρίζει περισ τροφές (έσ τω T ), το οποίο να εξυπηρετεί με βέλτισ το τρόπο μια ακολουθία αναζητήσ εων S. Αν έχουμε ότι S = (k 2, k 2, k 2, k 1, k 2, k 3 ) προκύπτει διαισ θητικά ότι το σ τοιχείο k 2 θα πρέπει να είναι η ρίζα του T αφού είναι το σ τοιχείο για το οποίο γίνεται αναζήτησ η περισ σ ότερες φορές. Με αντίσ τοιχο τρόπο τα σ τοιχεία k 1 και k 3 θα πρέπει να βρίσ κονται πιο ψηλά σ το δέντρο από τα σ τοιχεία k 4 και k 5. Ενα παράδειγμα βέλτισ του δέντρου για την S υπάρχει σ την εικόνα 2.6. k2 k1 k3 k4 k5 Σχήμα 2.6: Βέλτισ το σ τατικό δέντρο για την ακολουθία S πάνω σ τα σ τοιχεία του σ υνόλου K Ο Donald Knuth πρότεινε μια αλγοριθμική διαδικασ ία [32], που βασ ίζεται σ τις αρχές του δυναμικού προγραμματισ μού, με την οποία μπορούμε να υπολογίσ ουμε ένα βέλτισ το σ τατικό δέντρο για μια δεδομένη ακολουθία S αν γνωρίζουμε τον αριθμό προσ πελάσ εων κάθε σ τοιχείου μέσ α σ την ακολουθία. Το κόσ τος εκτέλεσ ης ( ολόκληρης της ακολουθίας για ένα βέλτισ το σ τατικό δέντρο είναι ίσ ο με n ) O q i log m q i όπου q i το πλήθος προσ πελάσ εων του σ τοιχείου i σ την ακολου- θία S. Με βάσ η τα παραπάνω μπορούμε τώρα να δώσ ουμε έναν ορισ μό για το θεώρημα σ τατικής βελτισ τότητας. Θεώρημα Εσ τω q i το πλήθος προσ πελάσ εων του σ τοιχείου i σ την ακολουθία S. Εσ τω m = n q i ο σ υνολικός αριθμός προσ πελάσ εων της ακολουθίας S ενώ υποθέτουμε επίσ ης ότι q i > 0, για κάθε i. Ενα BST που επαληθεύει το( θεώρημα σ τατικής ) βελτισ τότητας, εκτελεί την ακολουθία S σ ε σ υνολικό χρόνο O m + n q i log m q i και αποκαλείται σ τατικά βέλτισ το (statically optimal). Η εννοιολογική σ ημασ ία του θεωρήματος είναι ότι ένα σ τατικά βέλτισ το δυαδικό δεντρό μπορεί να εξυπηρετήσ ει όλες τις ακολουθίες S σ τον ίδιο (ασ υμπτωτικά) χρόνο με το βέλτισ το σ τατικό δέντρο που αντισ τοιχεί σ ε κάθε μια από αυτές τις ακολουθίες. Αποτελεί μια σ ημαντική ιδιότητα ειδικά για τους online αλγορίθμους

25 ΚΕΦ ΑΛΑΙΟ 2. ΑΥΤΟΟΡΓΑΝ ΩΜΕΝΕΣ ΔΟΜ ΕΣ ΔΕΔΟΜ ΕΝΩΝ 25 οι οποίοι δε γνωρίζουν εξ αρχής την ακολουθία S και τα q i που την χαρακτηρίζουν και σ υνεπώς δε μπορούν να προβλέψουν τις μελλοντικές προσ πελάσ εις Θεώρημα σ τατικής δακτυλοδότησ ης Το θεώρημα σ τατικής δακτυλοδότησ ης (Static Finger) βασ ίζεται εννοιολογικά σ τις δομές δεδομένων που υποσ τηρίζουν ngers (δάχτυλα) όπως nger-λίσ τες, nger-δέντρα κ.α. οι οποίες προτάθηκαν σ το [26]. Πιο σ υγκεκριμένα, ένα κλασ ικό nger δέντρο επιτρέπει την αναζήτησ η σ τοιχείων να ξεκινήσ ει από άλλα σ τοιχεία του δέντρου εκτός από την ρίζα. Αυτά τα σ τοιχεία αποκαλούνται ngers και σ την ουσ ία βελτιώνουν την απόδοσ η του δέντρου όταν πραγματοποιούνται αναζητήσ εις για σ τοιχεία τα οποία βρίσ κονται κοντά μεταξύ τους (με βάσ η τη σ υμμετρική διάταξη του δέντρου). Ενα παράδειγμα από κλασ ικό nger δέντρο υπάρχει σ την εικόνα 2.7. Σχήμα 2.7: Finger Δέντρο - Ο ροζ κόμβος είναι ένα nger από το οποίο μπορεί να ξεκινήσ ει μια αναζήτησ η Με βάσ η τα παραπάνω το θεώρημα σ τατικής δακτυλοδότησ ης διατυπώνεται ως εξής: Θεώρημα Εσ τω f ένα σ τοιχείο του δέντρου (το nger) που παραμένει σ ταθερό και i j το σ τοιχείο j-οσ τό σ τοιχείο που προσ πελάσ τηκε μέσ α σ την ακολουθία S. Ενα BST που επαληθεύει το θεώρημα ( σ τατικής δακτυλοδότησ ης, ) εκτελεί την ακολουθία S σ ε σ υνολικό χρόνο O m + nlogn + m log ( i j f + 1) όπου i j f η απόσ τασ η των σ τοιχείων i j και f σ τη σ υμμετρική διάταξη του δέντρου. Πρακτικά το θεώρημα περιγράφει ότι το σ υνολικό κόσ τος της ακολουθίας S θα είναι σ χετικά μικρό αν τα σ τοιχεία για τα οποία γίνεται αναζήτησ η βρίσ κονται κοντά σ το nger f. Αποτελεί μια σ ημαντική ιδιότητα γιατί εξασ φαλίζει ότι τα BST που j=1

26 ΚΕΦ ΑΛΑΙΟ 2. ΑΥΤΟΟΡΓΑΝ ΩΜΕΝΕΣ ΔΟΜ ΕΣ ΔΕΔΟΜ ΕΝΩΝ 26 επαληθεύουν το θεώρημα θα έχουν καλή απόδοσ η σ ε δεδομένα που βρίσ κονται χωρικά κοντά, δηλαδή σ ε δεδομένα που αποθηκεύονται σ ε κοντινές θέσ εις σ τη μνήμη (spatial locality) Θεώρημα δυναμικής δακτυλοδότησ ης Το θεώρημα δυναμικής δακτυλοδότησ ης (Dynamic Finger) είναι παρόμοιο με το θεώρημα σ τατικής δακτυλοδότησ ης με τη διαφορά ότι το σ τοιχείο f που λειτουργεί ως nger δεν είναι σ ταθερό και κάθε φορά μετακινείται σ το σ τοιχείο σ το οποίο έγινε προσ πέλασ η τελευταία φορά. Ακολουθεί ο ορισ μός του θεωρήματος δυναμικής δακτυλοδότησ ης: Θεώρημα Εσ τω i j το j-οσ τό σ τοιχείο που προσ πελάσ τηκε μέσ α σ την ακολουθία S. Ενα BST που επαληθεύει το θεώρημα ( δυναμικής δακτυλοδότησ ης, ) εκτελεί την ακολουθία S σ ε σ υνολικό χρόνο O m + n + m log ( i j i j 1 + 1) όπου i j i j 1 η απόσ τασ η των σ τοιχείων i j και i j 1 σ τη σ υμμετρική διάταξη του δέντρου Θεώρημα σ υνόλου εργασ ίας Ενα πολύ σ ημαντικό θεώρημα είναι το θεώρημα σ υνόλου εργασ ίας (Working Set) το οποίο έχει να κάνει με τις χρονικές αποσ τάσ εις μεταξύ των προσ πελάσ εων ενός σ τοιχείου. Ο ορισ μός του θεωρήματος σ υνόλου εργασ ίας είναι ο εξής: Θεώρημα Εσ τω i j το j-οσ τό σ τοιχείο που προσ πελάσ τηκε μέσ α σ την ακολουθία S και t (j) το πλήθος των προσ πελάσ εων διαφορετικών σ τοιχείων που σ υνέβησ αν ανάμεσ α σ τη προσ πέλασ η του i j και σ τη προηγούμενη προσ πέλασ η του ίδιου σ τοιχείου. Ενα BST που επαληθεύει ( το θεώρημα σ υνόλου εργασ ίας, ) εκτελεί την ακολουθία S σ ε σ υνολικό χρόνο O m + nlogn + m log (t (j) + 1). Το θεώρημα σ υνόλου εργασ ίας εξετάζει την απόδοσ η ενός BST από μια διαφορετική σ κοπιά, αυτή του χρόνου που παρήλθε μεταξύ των προσ πελάσ εων ίδιων σ τοιχείων. Συγκεκριμένα τα BST που επαληθεύουν το θεώρημα θα έχουν καλή απόδοσ η σ την προσ πέλασ η των σ τοιχείων για τα οποία είχε ξαναγίνει πρόσ φατα αναζήτησ η. Με αυτόν τον τρόπο ευνοούνται οι αναζητήσ εις για σ τοιχεία τα οποία βρίσ κονται χρονικά κοντά (temporal locality) Θεώρημα σ ειριακής προσ πέλασ ης Το θεώρημα της σ ειριακής (Sequential) προσ πέλασ ης γενικεύεται από το θεώρημα δυναμικής δακτυλοδότησ ης και ο ορισ μός του είναι ο εξής: Θεώρημα Εσ τω ένα BST με n σ τοιχεία. Το κόσ τος μιας ακολουθίας που προσ πελαύνει ένα-ένα όλα τα n σ τοιχεία του δέντρου με βάσ η τη σ υμμετρική του διάταξη είναι O (n). j=1 j=1

27 ΚΕΦ ΑΛΑΙΟ 2. ΑΥΤΟΟΡΓΑΝ ΩΜΕΝΕΣ ΔΟΜ ΕΣ ΔΕΔΟΜ ΕΝΩΝ 27 Το σ υγκεκριμένο θεώρημα, όπως και το θεώρημα δυναμικής δακτυλοδότησ ης, είναι ειδικές περιπτώσ εις της εικασ ίας της δυναμικής βελτισ τότητας που θα αναλύσ ουμε σ τη σ υνέχεια και αποτελούν θετικές ενδείξεις για την επαλήθευσ ή της Θεώρημα προδιατεταγμένης προσ πέλασ ης Το θεώρημα της προδιατεταγμένης (Preorder) προσ πέλασ ης αποτελεί μια γενίκευσ η του θεωρήματος της σ ειριακής προσ πέλασ ης και ο ορισ μός του είναι: Θεώρημα Εσ τω ένα αρχικό δέντρο T. Αν προσ πελάσ ουμε τους κόμβους του T με βάσ η την προδιατεταγμένη διάταξη των σ τοιχείων του τότε το σ υνολικό κόσ τος είναι O ( T ) Το Ενοποιημένο Θεώρημα Το θεώρημα του σ υνόλου εργασ ίας και το θεώρημα δυναμικής δακτυλοδότησ ης, αποτελούν δύο από τις καλύτερες μεθόδους ανάλυσ ης της απόδοσ ης ενός BST. Ωσ τόσ ο για μερικές ακολουθίες προσ πελάσ εων, το άνω όριο που δίνει το κάθε θεώρημα μπορεί να μην είναι σ φιχτό και ο πραγματικός χρόνος εκτέλεσ ης της ακολουθίας να είναι σ την ουσ ία μικρότερος. Για το λόγο αυτό, ο Iacono [30] πρότεινε ένα ενοποιημένο θεώρημα (Unied Theorem) το οποίο βασ ίζεται σ τα θεωρήματα σ υνόλου εργασ ίας και δυναμικής δακτυλοδότησ ης: Θεώρημα Εσ τω S = (s 1, s 2,..., s m ) μια ακολουθία σ τοιχείων, t i (y) το πλήθος των διαφορετικών σ τοιχείων που προσ πελάσ τηκαν μεταξύ της τελευταίας προσ πέλασ ης σ το y και σ τη τελευταία προσ πέλασ η σ το s i. Εσ τω επίσ ης d i (y) το πλήθος των σ τοιχείων ανάμεσ α από το y και το s i με βάσ η τη σ υμμετρική διάταξη του BST σ υμπεριλαμβανομένων των y και s i. Τότε ο επιμερισ μένος χρόνος προσ πέλασ ης του σ τοιχείου s i είναι ( ) O logmin (t i (y) + d i (y) + 1) (2.1) y S Το σ υγκεκριμένο θεώρημα περιγραφικά λέει ότι μια προσ πέλασ η είναι γρήγορη αν το σ τοιχείο που προσ πελαύνεται είναι κοντά σ ε ένα σ τοιχείο το οποίο έχει προσ πελασ τεί πρόσ φατα. Ενα BST που επαληθεύει το Ενοποιημένο Θεώρημα επαληθεύει και τα θεωρήματα σ υνόλου εργασ ίας και δυναμικής δακτυλοδότησ ης Ιεραρχία Θεωρημάτων Τα θεωρήματα που αναπτύχθηκαν παραπάνω σ υνδέονται μεταξύ τους, με την έννοια ότι αν ένα BST επαληθεύει κάποιο θεώρημα, τότε απαραίτητα επαληθεύει και κάποιο ακόμα θεώρημα. Στην εικόνα απεικονίζονται σ χηματικά οι σ χέσ εις μεταξύ των θεωρημάτων. Συγκεκριμένα αν Θεώρημα 1 Θεώρημα 2 τότε όταν για ένα BST ισ χύει το Θεώρημα 1 θα ισ χύει απαραίτητα και το Θεώρημα 2. Παρατηρούμε ότι το ενοποιημένο θεώρημα υπονοεί τα θεωρήματα σ υνόλου εργασ ίας και δυναμικής δακτυλοδότησ ης. Ο Iacono έδειξε σ το [29] και σ το [30] ότι το θεώρημα σ υνόλου εργασ ίας υπονοεί το θεώρημα σ τατικής βελτισ τότητας. Επίσ ης

28 ΚΕΦ ΑΛΑΙΟ 2. ΑΥΤΟΟΡΓΑΝ ΩΜΕΝΕΣ ΔΟΜ ΕΣ ΔΕΔΟΜ ΕΝΩΝ 28 Συνόλου Εργασίας Στατικής Βελτιστότητας Ενοποιημένο Στατικής Δακτυλοδότησης Δυναμικής Δακτυλοδότησης Σχήμα 2.8: Ιεραρχία Θεωρημάτων τα θεωρήματα σ τατικής βελτισ τότητας και δυναμικής δακτυλοδότησ ης υπονοούν το θεώρημα σ τατικής δακτυλοδότησ ης Kˆtw Frˆgmata Υπάρχουν δύο κύρια κάτω φράγματα τα οποία αναπτύχθηκαν από τον Wilber σ το [47]. Τα δύο φράγματα φράσ σ ουν από κάτω το κόσ τος ενός βέλτισ του BST για μια ακολουθία ενεργειών S που εκτελείται πάνω σ ε ένα σ ύνολο σ τοιχείων K, αλλά κανένα από αυτά δεν είναι εύκολα περιγράψιμο καθώς και τα δύο υπολογίζονται σ υναρτήσ ει της S Πρώτο κάτω φράγμα του Wilber Το πρώτο φράγμα του Wilber βασ ίζεται σ ε ένα τέλειο δυαδικό δέντρο (έσ τω P ) μεγέθους 2n 1 το οποίο κατασ κευάζεται με τέτοιο τρόπο έτσ ι ώσ τε όλα τα σ τοιχεία του K να βρίσ κονται σ τα φύλλα του. Ενα παράδειγμα υπάρχει σ την εικόνα Σχήμα 2.9: Τέλειο δυαδικό δέντρο για το σ ύνολο σ τοιχείων K = {1, 2,..., 16} Κάθε κόμβος του P αποθηκεύει μια επιπλέον πληροφορία πέρα από το κλειδί του η οποία ονομάζεται προτιμητέα κατεύθυνσ η. Σε μια προσ πέλασ η ενός σ τοιχείου x i της S η προτιμητέα κατεύθυνσ η ενός κόμβου y του P ορίζεται ως:

29 ΚΕΦ ΑΛΑΙΟ 2. ΑΥΤΟΟΡΓΑΝ ΩΜΕΝΕΣ ΔΟΜ ΕΣ ΔΕΔΟΜ ΕΝΩΝ 29 L αν το x i βρίσ κεται σ το αρισ τερό υποδέντρο του y, R αν το x i βρίσ κεται σ το δεξιό υποδέντρο του y, κενό(-) αν το x i είναι ίσ ο με το κλειδί του y ή αν το x i δε βρίσ κεται σ ε κάποιο υποδέντρο του y. Στην εικόνα 2.10 βλέπουμε τις προτιμητέες κατευθύνσ εις των κόμβων του P μετά την προσ πέλασ η του σ τοιχείου 3 και σ την εικόνα 2.11 τις προτιμητέες κατευθύνσ εις μετά την προσ πέλασ η των σ τοιχείων 3 και 5. Παρατηρούμε σ την εικόνα 2.11 ότι ο χρωματισ μένος κόμβος είχε προτιμητέα κατεύθυνσ η L μετά την προσ πέλασ η του 3 αλλά R μετά την προσ πέλασ η του 5. Ονομάζουμε εναλλαγή προτιμητέας κατεύθυνσ ης όταν η προτιμητέα κατεύθυνσ η ενός κόμβου αλλάζει από L σ ε R ή το αντίσ τροφο. L L - R L Σχήμα 2.10: Τέλειο δυαδικό δέντρο - Προσ πέλασ η του σ τοιχείου 3 L R - R L L L Σχήμα 2.11: Τέλειο δυαδικό δέντρο - Προσ πέλασ η των σ τοιχείων 3 και 5 Για να υπολογίσ ουμε το κάτω φράγμα του κόσ τους όλων των BST όταν ε- κτελούν την ακολουθία S ακολουθούμε τα εξής βήματα: Εκτελούμε μία-μία τις προσ πελάσ εις της S και για κάθε κόμβο y του P υπολογίζουμε τον αριθμό IL (y) που είναι ίσ ος με τον σ υνολικό αριθμό εναλλαγών προτιμητέας κατεύθυνσ ης για τον κόμβο y από την πρώτη ενέργεια της S μέχρι και

30 ΚΕΦ ΑΛΑΙΟ 2. ΑΥΤΟΟΡΓΑΝ ΩΜΕΝΕΣ ΔΟΜ ΕΣ ΔΕΔΟΜ ΕΝΩΝ 30 την τελευταία. Στη σ υνέχεια υπολογίζουμε τον αριθμό W il1 (S) = 2n 1 y=1 IL (y) ο οποίος αποτελεί το κάτω φράγμα κόσ τους που απαιτείται από κάθε BST (σ υνεπώς και του βέλτισ του) για την εκτέλεσ η της ακολουθίας S. Το πρώτο κάτω φράγμα του Wilber είναι αυτό που χρησ ιμοποιείται περισ σ ότερο από τα δύο φράγματα και χρησ ιμεύει κυρίως σ την ανταγωνισ τική ανάλυσ η ορισ μένων BST δομών Δεύτερο κάτω φράγμα του Wilber Ο Wilber πρότεινε και ένα δεύτερο κάτω φράγμα σ το [47] το οποίο αναπτύχθηκε εκτενέσ τερα σ το [31] και είναι αρκετά παρόμοιο με το πρώτο φράγμα αν και αυτή τη σ τιγμή δεν έχει ιδιαίτερη πρακτική αξία. Εσ τω η ακολουθία προσ πελάσ εων x 1, x 2,..., x m. Για κάθε προσ πέλασ η x j θα υπολογίσ ουμε έναν αριθμό W il2 (x j ). Θέλουμε να βρούμε που ανήκει το x j μεταξύ των x i, x i+1,..., x j 1 για i = j 1, j 2,... μετρώντας δηλαδή προς τα πίσ ω από την j 1 προσ πέλασ η μέχρι την προηγούμενη προσ πέλασ η του x j. Εχουμε ότι a i < x j < b i όπου a i και b i είναι τα πιο σ φιχτά όρια για το x j που έχουν βρεθεί μέχρι σ τιγμής. Κάθε φορά που μειώνεται το i είτε αυξάνεται το a i είτε μειώνεται το b i (φράσ σ οντας πιο σ φιχτά το x j ) είτε η προσ πέλασ η είναι αδιάφορη σ χετικά με το x j. Ο αριθμός W il2 (x j ) είναι ίσ ος με τον αριθμό των εναλλαγών μεταξύ της αύξησ ης του a i και της μείωσ ης του b i. Ενα παράδειγμα με τρεις εναλλαγές βρίσ κεται σ την εικόνα Στοιχεία Χρόνος Σχήμα 2.12: Υπολογισ μός του W il2 (8) Το κάτω φράγμα κόσ τους που απαιτείται από κάθε BST για την εκτέλεσ η της ακολουθίας S είναι ο αριθμός W il2 (S) = m W il2 (x j ). j=1

Shmei sveic Perigrafik c Statisvtik c

Shmei sveic Perigrafik c Statisvtik c Shmei sveic Perigrafik c Statisvtik c E. G. Tsvi ac Ας θεωρήσ ουμε έναν πίνακα αριθμών X ={x 1, x,..., x } (1) Το σ ύνολο αυτό θα μπορούσ ε να αποτελείται από τις αποδόσ εις μιας μετοχής σ ε διαφορετικές

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

March 24, 2013. Abstract. 1 http://en.wikipedia.org/wiki/foss

March 24, 2013. Abstract. 1 http://en.wikipedia.org/wiki/foss Open-Source: Η εναλλακτική επιλογή που κερδίζει έδαφος Χάρης Β. Γεωργίου March 24, 2013 Abstract Μέχρι πριν μερικά χρόνια, η φράσ η free / open-source software (FOSS) 1 ήταν σ χεδόν σ υνώνυμη με μαλλιαρούς

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

Περιεχόμενα 1 Κωδικοποίησ η Πηγής 2 Χωρητικότητα Διακριτών Καναλιών 2 / 21

Περιεχόμενα 1 Κωδικοποίησ η Πηγής 2 Χωρητικότητα Διακριτών Καναλιών 2 / 21 Θεωρία Πληροφορίας και Στοιχεία Κωδίκων Κωδικοποίησ η Πηγής και Χωρητικότητα Διακριτών Καναλιών Διδάσ κων: Καλουπτσ ίδης Νικόλαος Επιμέλεια: Κατσ άνος Κωνσ ταντίνος Τμήμα Πληροφορικής και Τηλεπικοινωνιών

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

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

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

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

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

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

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

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

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

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

Διακριτά Μαθηματικά ΙΙ Χρήστος Νομικός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων 2018 Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά

Διακριτά Μαθηματικά ΙΙ Χρήστος Νομικός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων 2018 Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά Διακριτά Μαθηματικά ΙΙ Χρήστος Νομικός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων 2018 Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά και Πληροφορικής Μαθηματικά Πανεπιστήμιο ΙΙ Ιωαννίνων

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

4.3 Fourier Lucas-Kanade... 34

4.3 Fourier Lucas-Kanade... 34 ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ Η/Υ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ Διατμηματικό Μεταπτυχιακό Πρόγραμμα Σπουδών Συσ τήματα Επεξεργασ ίας Σημάτων και Επικοινωνιών (ΣΕΣΕ) Διπλωματική Εργασ ία Σταθμισ

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

Αλγόριθμοι Ταξινόμησης Μέρος 4

Αλγόριθμοι Ταξινόμησης Μέρος 4 Αλγόριθμοι Ταξινόμησης Μέρος 4 Μανόλης Κουμπαράκης Δομές Δεδομένων και Τεχνικές 1 Μέθοδοι Ταξινόμησης Βασισμένοι σε Συγκρίσεις Κλειδιών Οι αλγόριθμοι ταξινόμησης που είδαμε μέχρι τώρα αποφασίζουν πώς να

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

2 Η ολοκλήρωση της διπλωματικής εργασίας συγχρηματοδοτήθηκε μέσω του Εργου «Υποτροφίες ΙΚΥ» από πόρους του ΕΠ «Εκπαίδευση και Δια Βίου Μάθηση», του Ευ

2 Η ολοκλήρωση της διπλωματικής εργασίας συγχρηματοδοτήθηκε μέσω του Εργου «Υποτροφίες ΙΚΥ» από πόρους του ΕΠ «Εκπαίδευση και Δια Βίου Μάθηση», του Ευ Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Εφαρμοσμένων Μαθηματικών και Φυσικών Επιστημών Δ.Π.Μ.Σ. Εφαρμοσμένες Μαθηματικές Επιστήμες Μεταπτυχιακή Εργασία Διάταξη και Θεωρία Γενικής Ισορροπίας Μαρία Παπαδάκη Επιβλέπων

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

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

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

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

Διπλωματική Εργασία των φοιτητών του Τμήματος Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών της Πολυτεχνικής Σχολής του Πανεπιστημίου Πατρών

Διπλωματική Εργασία των φοιτητών του Τμήματος Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών της Πολυτεχνικής Σχολής του Πανεπιστημίου Πατρών ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ:ΣΥΣΤΗΜΑΤΩΝ ΚΑΙ ΑΥΤΟΜΑΤΟΥ ΕΛΕΓΧΟΥ ΕΡΓΑΣΤΗΡΙΟ ΑΥΤΟΜΑΤΙΣΜΩΝ ΚΑΙ ΡΟΜΠΟΤΙΚΗΣ Διπλωματική Εργασία των φοιτητών του Τμήματος

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

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

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

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

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΔΙΑΤΜΗΜΑΤΙΚΟ ΠΡΟΓΡΑΜΜΑ ΜΕΤΑΠΤΥΧΙΑΚΩΝ ΣΠΟΥΔΩΝ ΥΠΟΛΟΓΙΣΤΙΚΗ ΜΗΧΑΝΙΚΗ. ΜΕΤΑΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ του Οικονόμου Μάριου

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΔΙΑΤΜΗΜΑΤΙΚΟ ΠΡΟΓΡΑΜΜΑ ΜΕΤΑΠΤΥΧΙΑΚΩΝ ΣΠΟΥΔΩΝ ΥΠΟΛΟΓΙΣΤΙΚΗ ΜΗΧΑΝΙΚΗ. ΜΕΤΑΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ του Οικονόμου Μάριου ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΔΙΑΤΜΗΜΑΤΙΚΟ ΠΡΟΓΡΑΜΜΑ ΜΕΤΑΠΤΥΧΙΑΚΩΝ ΣΠΟΥΔΩΝ ΥΠΟΛΟΓΙΣΤΙΚΗ ΜΗΧΑΝΙΚΗ ΜΕΤΑΠΤΥΧΙΑΚΗ ΕΡΓΑΣΙΑ του Οικονόμου Μάριου Συμπλήρωμα Schur σε παράλληλες αρχιτεκτονικές πολλαπλών GPU/CPU

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

2 using namespace s t d ; 4 { 12 int t= x ; 6 x=y ; 7 y=t ; 8 } 9 11 { 13 x= y ; 14 y=t ; 15 } {

2 using namespace s t d ; 4 { 12 int t= x ; 6 x=y ; 7 y=t ; 8 } 9 11 { 13 x= y ; 14 y=t ; 15 } { Δυναμική κατανομή μνήμης Ιωάννης Γ. Τσ ούλος 2014 1 Χρήσ η δεικτών Οι δείκτες μπορούν να χρησ ιμοποιηθούν προκειμένου να αναφερθούν σ ε διευθύνσ εις μεταβλητών και όχι απευθείας σ τις ίδιες τις μεταβλητές.

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

Οι δυναμικές δομές δεδομένων στην ΑΕΠΠ

Οι δυναμικές δομές δεδομένων στην ΑΕΠΠ Καθηγητής Πληροφορικής Απαγορεύεται η αναπαραγωγή των σημειώσεων χωρίς αναφορά στην πηγή Οι σημειώσεις, αν και βασίζονται στο διδακτικό πακέτο, αποτελούν προσωπική θεώρηση της σχετικής ύλης και όχι επίσημο

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

Χρήστος Ι. Σχοινάς Αν. Καθηγητής ΔΠΘ. Συμπληρωματικές σημειώσεις για το μάθημα: «Επιχειρησιακή Έρευνα ΙΙ»

Χρήστος Ι. Σχοινάς Αν. Καθηγητής ΔΠΘ. Συμπληρωματικές σημειώσεις για το μάθημα: «Επιχειρησιακή Έρευνα ΙΙ» Χρήστος Ι. Σχοινάς Αν. Καθηγητής ΔΠΘ Συμπληρωματικές σημειώσεις για το μάθημα: «Επιχειρησιακή Έρευνα ΙΙ» 2 ΔΥΝΑΜΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Προβλήματα ελάχιστης συνεκτικότητας δικτύου Το πρόβλημα της ελάχιστης

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

ΗΥ360 Αρχεία και Βάσεις εδοµένων

ΗΥ360 Αρχεία και Βάσεις εδοµένων ΗΥ360 Αρχεία και Βάσεις εδοµένων ιδάσκων:. Πλεξουσάκης Tutorial B-Trees, B+Trees Μπαριτάκης Παύλος 2018-2019 Ιδιότητες B-trees Χρήση για μείωση των προσπελάσεων στον δίσκο Επέκταση των Binary Search Trees

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

Εισ αγωγήσ τηνπληροφορική. ΙωάννηςΓ.Τσ ούλος

Εισ αγωγήσ τηνπληροφορική. ΙωάννηςΓ.Τσ ούλος Εισ αγωγήσ τηνπληροφορική ΙωάννηςΓ.Τσ ούλος 2012 Chapter 1 ΕΙΣΑΓΩΓΗ ΣΤΑ Windows XP 1.1 Λειτουργίες Αρχείων Στηνενότητααυτήθαεξετάσ ουμεμερικέςαπλέςλειτουργίεςαρχείωνμετιςοποίες μπορούμεεύκολαναβρούμετονδρόμομαςσ

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

ABSTRACT. PAPADOPOULOS SPYRIDON Department of Information and Communication Systems Engineering UNIVERSITY OF THE AEGEAN

ABSTRACT. PAPADOPOULOS SPYRIDON Department of Information and Communication Systems Engineering UNIVERSITY OF THE AEGEAN Δίκτυα Ακτινικής Βάσ ης σ ε Σώματα Δεδομένων Μεγάλου Ογκου σ ε SIMD Υπολογισ τικά Συσ τήματα Η Διπλωματική Εργασ ία παρουσ ιάσ τηκε ενώπιον του Διδακτικού Προσ ωπικού του Πανεπισ τημίου Αιγαίου Σε Μερική

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

Επιβλέπων Καθηγητής Γεώργιος Καρατζάς Εξετασ τική Επιτροπή Γεώργιος Καρατζάς Κωνσ ταντίνος Χρυσ ικόπουλος Νικόλαος Νικολαΐδης

Επιβλέπων Καθηγητής Γεώργιος Καρατζάς Εξετασ τική Επιτροπή Γεώργιος Καρατζάς Κωνσ ταντίνος Χρυσ ικόπουλος Νικόλαος Νικολαΐδης Yπολογισ τική προσ έγγισ η της αναλυτικής λύσ ης της εξίσ ωσ ης μεταφοράς μάζας για την περίπτωσ η ρύπανσ ης υπογείων υδάτων από DNAPLs και του πάχους σ υγκέντρωσ ης του οριακού σ τρώματος. Εφαρμογή σ

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

ΑΥΤΟΡΓΑΝΟΥΜΕΝΕΣ ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ

ΑΥΤΟΡΓΑΝΟΥΜΕΝΕΣ ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΑΥΤΟΡΓΑΝΟΥΜΕΝΕΣ ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ Splay Δέντρα ΕΚΤΕΝΕΙΣ ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΣΑΛΤΟΓΙΑΝΝΗ ΑΘΑΝΑΣΙΑ Γενικά στοιχεία Μία τέτοιου είδους δομή βρίσκεται σε τυχαία αρχική κατάσταση, αλλά κατά τη διάρκεια κάθε πράξης

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

έντρα ομές εδομένων 3ο εξάμηνο ιδάσκων: Χρήστος ουλκερίδης ιαφάνειες προσαρμοσμένες από το υλικό της Μαρίας Χαλκίδη

έντρα ομές εδομένων 3ο εξάμηνο ιδάσκων: Χρήστος ουλκερίδης ιαφάνειες προσαρμοσμένες από το υλικό της Μαρίας Χαλκίδη έντρα 2-3-4 ομές εδομένων 3ο εξάμηνο ιδάσκων: Χρήστος ουλκερίδης ιαφάνειες προσαρμοσμένες από το υλικό της Μαρίας Χαλκίδη Σημερινό Μάθημα 2-3-4 έντρα Ισοζυγισμένα δέντρα αναζήτησης έντρα αναζήτησης πολλαπλών

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

Πανεπιστημιο Πατρων Τμημα Μηχανικων Η/Υ & Πληροφορικης Υλοποίηση της μεθόδου παραγοντοποίησης ακεραίων αριθμών Number Field Sieve σε παράλληλο υπολογιστικό περιβάλλον Master Thesis Φοιτητής: Χρήστος Μπακογιαννης

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

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

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

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

Μπαλτάς Αλέξανδρος 21 Απριλίου 2015

Μπαλτάς Αλέξανδρος 21 Απριλίου 2015 ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ Η/Υ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ B- Trees Δομές Δεδομένων Μπαλτάς Αλέξανδρος 21 Απριλίου 2015 ampaltas@ceid.upatras.gr Περιεχόμενα 1. Εισαγωγή 2. Ορισμός B- tree 3. Αναζήτηση σε B- tree 4. Ένθεση σε

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

Αλγόριθμοι και Δομές Δεδομένων (IΙ) (γράφοι και δένδρα)

Αλγόριθμοι και Δομές Δεδομένων (IΙ) (γράφοι και δένδρα) Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2016-17 Αλγόριθμοι και Δομές Δεδομένων (IΙ) (γράφοι και δένδρα) http://mixstef.github.io/courses/csintro/ Μ.Στεφανιδάκης Αφηρημένες

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

Δυαδικά Δένδρα Αναζήτησης, Δένδρα AVL

Δυαδικά Δένδρα Αναζήτησης, Δένδρα AVL Δυαδικά Δένδρα Αναζήτησης, Δένδρα AVL Υλικό από τις σηµειώσεις Ν. Παπασπύρου, 2006 Δέντρα δυαδικής αναζήτησης Δενδρικές δοµές δεδοµένων στις οποίες Όλα τα στοιχεία στο αριστερό υποδέντρο της ρίζας είναι

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

Σύνοψη Προηγούμενου. Πίνακες (Arrays) Πίνακες (Arrays): Βασικές Λειτουργίες. Πίνακες (Arrays) Ορέστης Τελέλης

Σύνοψη Προηγούμενου. Πίνακες (Arrays) Πίνακες (Arrays): Βασικές Λειτουργίες. Πίνακες (Arrays) Ορέστης Τελέλης Σύνοψη Προηγούμενου Πίνακες (Arrays Ορέστης Τελέλης telelis@unipi.gr Τμήμα Ψηφιακών Συστημάτων, Πανεπιστήμιο Πειραιώς Διαδικαστικά θέματα. Aντικείμενο Μαθήματος. Aντικείμενα, Κλάσεις, Μέθοδοι, Μεταβλητές.

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

Διάλεξη 14: Δέντρα IV - B-Δένδρα

Διάλεξη 14: Δέντρα IV - B-Δένδρα ΕΠΛ231 Δομές Δεδομένων και Αλγόριθμοι 1 Διάλεξη 14: Δέντρα IV - B-Δένδρα Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - 2-3 Δένδρα, Εισαγωγή και άλλες πράξεις - Άλλα Δέντρα: Β-δένδρα, Β+-δέντρα,

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

Διαχρονικές δομές δεδομένων

Διαχρονικές δομές δεδομένων Διαχρονικές δομές δεδομένων Μια τυπική δομή δεδομένων μεταβάλλεται με πράξεις εισαγωγής ή διαγραφής Π.χ. κοκκινόμαυρο δένδρο εισαγωγή 0 18 0 5 39 73 1 46 6 80 Αποκατάσταση ισορροπίας 5 39 73 0 46 6 80

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

Διάλεξη 17: Δυαδικά Δέντρα. Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ

Διάλεξη 17: Δυαδικά Δέντρα. Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ Διάλεξη 7: Δυαδικά Δέντρα Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Δυαδικά Δένδρα Δυαδικά Δένδρα Αναζήτησης Πράξεις Εισαγωγής, Εύρεσης Στοιχείου, Διαγραφής Μικρότερου Στοιχείου Διδάσκων:

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

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

Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων ομές εδομένων Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων 6. Δυαδικά Δέντρα 2 ομές εδομένων 4 5 Χρήστος ουλκερίδης Τμήμα Ψηφιακών Συστημάτων 18/11/2016 Εισαγωγή Τα

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

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

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

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

AVL-trees C++ implementation

AVL-trees C++ implementation Τ Μ Η Μ Α Μ Η Χ Α Ν Ι Κ Ω Ν Η / Υ Κ Α Ι Π Λ Η Ρ Ο Φ Ο Ρ Ι Κ Η Σ AVL-trees C++ implementation Δομές Δεδομένων Μάριος Κενδέα 31 Μαρτίου 2015 kendea@ceid.upatras.gr Εισαγωγή (1/3) Δυαδικά Δένδρα Αναζήτησης:

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

Διάλεξη 04: Παραδείγματα Ανάλυσης

Διάλεξη 04: Παραδείγματα Ανάλυσης Διάλεξη 04: Παραδείγματα Ανάλυσης Πολυπλοκότητας/Ανάλυση Αναδρομικών Αλγόριθμων Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Παραδείγματα Ανάλυσης Πολυπλοκότητας : Μέθοδοι, παραδείγματα

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

Ειδικά θέματα Αλγορίθμων και Δομών Δεδομένων (ΠΛΕ073) Απαντήσεις 1 ου Σετ Ασκήσεων

Ειδικά θέματα Αλγορίθμων και Δομών Δεδομένων (ΠΛΕ073) Απαντήσεις 1 ου Σετ Ασκήσεων Ειδικά θέματα Αλγορίθμων και Δομών Δεδομένων (ΠΛΕ073) Απαντήσεις 1 ου Σετ Ασκήσεων Άσκηση 1 α) Η δομή σταθμισμένης ένωσης με συμπίεση διαδρομής μπορεί να τροποποιηθεί πολύ εύκολα ώστε να υποστηρίζει τις

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

Ταξινόμηση: Εισαγωγικά. Ταξινόμηση (Sor ng) Αλγόριθμοι Απλής Ταξινόμησης. Βασικά Βήματα των Αλγορίθμων

Ταξινόμηση: Εισαγωγικά. Ταξινόμηση (Sor ng) Αλγόριθμοι Απλής Ταξινόμησης. Βασικά Βήματα των Αλγορίθμων Ταξινόμηση: Εισαγωγικά Ταξινόμηση (Sor ng) Ορέστης Τελέλης Βασικό πρόβλημα για την Επιστήμη των Υπολογιστών. π.χ. αλφαβητική σειρά, πωλήσεις ανά τιμή, πόλεις με βάση πληθυσμό, Μπορεί να είναι ένα πρώτο

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

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

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

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

Κεφ.11: Ευρετήρια και Κατακερματισμός

Κεφ.11: Ευρετήρια και Κατακερματισμός Κεφ.11: Ευρετήρια και Κατακερματισμός Database System Concepts, 6 th Ed. See www.db-book.com for conditions on re-use Κεφ. 11: Ευρετήρια-Βασική θεωρία Μηχανισμοί ευρετηρίου χρησιμοποιούνται για την επιτάχυνση

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

ΠΑΡΑΡΤΗΜΑ: QUIZ ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ

ΠΑΡΑΡΤΗΜΑ: QUIZ ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΠΑΡΑΡΤΗΜΑ: QUIZ ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ (Οι ερωτήσεις µε κίτρινη υπογράµµιση είναι εκτός ύλης για φέτος) ΕΙΣΑΓΩΓΗ Q1. Οι Πρωταρχικοί τύποι (primitive types) στη Java 1. Είναι όλοι οι ακέραιοι και όλοι οι πραγµατικοί

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

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

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

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

Διάλεξη 04: Παραδείγματα Ανάλυσης Πολυπλοκότητας/Ανάλυση Αναδρομικών Αλγόριθμων

Διάλεξη 04: Παραδείγματα Ανάλυσης Πολυπλοκότητας/Ανάλυση Αναδρομικών Αλγόριθμων Διάλεξη 04: Παραδείγματα Ανάλυσης Πολυπλοκότητας/Ανάλυση Αναδρομικών Αλγόριθμων Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Παραδείγματα Ανάλυσης Πολυπλοκότητας : Μέθοδοι, παραδείγματα

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

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

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

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

Εθνικό Μετσ όβιο Πολυτεχνείο Σχολή Πολιτικών Μηχανικών Τομέας Μεταφορών και Συγκοινωνιακής Υποδομής Εφαρμογή της Θεωρίας Παιγνίων σ την Ανάλυσ η της Ροής Δικύκλων σ ε Ασ τικές Αρτηρίες Διπλωματική εργασ

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

ΕΠΛ231 Δομές Δεδομένων και Αλγόριθμοι 4. Παραδείγματα Ανάλυσης Πολυπλοκότητας Ανάλυση Αναδρομικών Αλγόριθμων

ΕΠΛ231 Δομές Δεδομένων και Αλγόριθμοι 4. Παραδείγματα Ανάλυσης Πολυπλοκότητας Ανάλυση Αναδρομικών Αλγόριθμων ΕΠΛ31 Δομές Δεδομένων και Αλγόριθμοι 4. Παραδείγματα Ανάλυσης Πολυπλοκότητας Ανάλυση Αναδρομικών Αλγόριθμων Διάλεξη 04: Παραδείγματα Ανάλυσης Πολυπλοκότητας/Ανάλυση Αναδρομικών Αλγόριθμων Στην ενότητα

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

ιαφάνειες παρουσίασης #10 (β)

ιαφάνειες παρουσίασης #10 (β) ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΕΣ ΤΕΧΝΙΚΕΣ http://www.softlab.ntua.gr/~nickie/courses/progtech/ ιδάσκοντες: Γιάννης Μαΐστρος (maistros@cs.ntua.gr) Στάθης Ζάχος (zachos@cs.ntua.gr) Νίκος Παπασπύρου (nickie@softlab.ntua.gr)

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

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

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

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

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

Διδάσκων: Παναγιώτης Ανδρέου Διάλεξη 04: ΠαραδείγματαΑνάλυσης Πολυπλοκότητας/Ανάλυση Αναδρομικών Αλγόριθμων Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: -Παραδείγματα Ανάλυσης Πολυπλοκότητας : Μέθοδοι, παραδείγματα -Γραμμική

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

Διάλεξη 13: Δέντρα ΙΙΙ - Ισοζυγισμένα Δέντρα, AVL Δέντρα

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

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

9. Κόκκινα-Μαύρα Δέντρα

9. Κόκκινα-Μαύρα Δέντρα Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων 9. Κόκκινα-Μαύρα Δέντρα 2 ομές εδομένων 4 5 Χρήστος ουλκερίδης Τμήμα Ψηφιακών Συστημάτων 9/12/2016 Δέντρα,

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

Κεφάλαιο 2. Η δομή δεδομένων Σωρός και η Ταξινόμηση Σωρού (The Heap data structure and Heapsort) Έκδοση 1.3, 14/11/2014

Κεφάλαιο 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 Σωρός και Ταξινόμηση

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

Δομές Δεδομένων. Καθηγήτρια Μαρία Σατρατζέμη. Τμήμα Εφαρμοσμένης Πληροφορικής. Δομές Δεδομένων. Τμήμα Εφαρμοσμένης Πληροφορικής

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

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

Διάλεξη 12: Δέντρα ΙΙ Δυαδικά Δέντρα

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

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

Red- black δέντρα Εκτενείς Δομές Δεδομένων (Κεφ. 5)

Red- black δέντρα Εκτενείς Δομές Δεδομένων (Κεφ. 5) ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ Η/Υ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ Red- black δέντρα Εκτενείς Δομές Δεδομένων (Κεφ. ) Δομές Δεδομένων Μπαλτάς Αλέξανδρος 4 Μαρτίου 0 ampaltas@ceid.upatras.gr Περιεχόμενα. Εισαγωγή. Ορισμός red- black

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

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

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

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

Ενότητα 9 Ξένα Σύνολα που υποστηρίζουν τη λειτουργία της Ένωσης (Union-Find)

Ενότητα 9 Ξένα Σύνολα που υποστηρίζουν τη λειτουργία της Ένωσης (Union-Find) Ενότητα 9 (Union-Find) ΗΥ240 - Παναγιώτα Φατούρου 1 Έστω ότι S 1,, S k είναι ξένα υποσύνολα ενός συνόλου U, δηλαδή ισχύει ότι S i S j =, για κάθε i,j µε i j και S 1 S k = U. Λειτουργίες q MakeSet(X): επιστρέφει

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

Δυναμικά Πολυεπίπεδα Ευρετήρια (Β-δένδρα) Μ.Χατζόπουλος 1

Δυναμικά Πολυεπίπεδα Ευρετήρια (Β-δένδρα) Μ.Χατζόπουλος 1 Δυναμικά Πολυεπίπεδα Ευρετήρια (Β-δένδρα) Μ.Χατζόπουλος 1 Α Β Γ Δ Ε Ζ Η Θ Ι Κ Λ Μ.Χατζόπουλος 2 Δένδρο αναζήτησης είναι ένας ειδικός τύπος δένδρου που χρησιμοποιείται για να καθοδηγήσει την αναζήτηση μιας

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

8. Πολλαπλές μερικές παράγωγοι

8. Πολλαπλές μερικές παράγωγοι 94 8 Πολλαπλές μερικές παράγωγοι Οι μερικές παράγωγοι,,, αν υπάρχουν, μιας συνάρτησης : U R R ( U ανοικτό είναι αυτές συναρτήσεις από το U στο R, επομένως μπορεί να ορισθεί για αυτές η έννοια της μερικής

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

HY380 Αλγόριθμοι και πολυπλοκότητα Hard Problems

HY380 Αλγόριθμοι και πολυπλοκότητα Hard Problems HY380 Αλγόριθμοι και πολυπλοκότητα Hard Problems Ημερομηνία Παράδοσης: 0/1/017 την ώρα του μαθήματος ή με email: mkarabin@csd.uoc.gr Γενικές Οδηγίες α) Επιτρέπεται η αναζήτηση στο Internet και στην βιβλιοθήκη

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

Πτυχιακή εργασ ία Μουσ ική Σύνθεσ η Με Εξελικτικούς Αλγορίθμους Του φοιτητή Γεωργιάδη Κωνσ ταντίνου Αρ. Μητρώου: 03/2275 Επιβλέπων Καθηγητής Αδαμίδης Παναγιώτης Θεσ σ αλονίκη 2010 Μουσ ική σ ύνθεσ η με

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

Διάλεξη 18: B-Δένδρα

Διάλεξη 18: B-Δένδρα Διάλεξη 18: B-Δένδρα Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Εισαγωγή & Ισοζυγισμένα Δένδρα 2-3 Δένδρα, Περιγραφή Πράξεων της Εισαγωγής και άλλες πράξεις Β-δένδρα Διδάσκων: Κωνσταντίνος

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

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

5. Απλή Ταξινόμηση. ομές εδομένων. Χρήστος ουλκερίδης. Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων 5. Απλή Ταξινόμηση 2 ομές εδομένων 4 5 Χρήστος ουλκερίδης Τμήμα Ψηφιακών Συστημάτων 11/11/2016 Εισαγωγή Η

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

Διάλεξη 13: Δέντρα ΙΙΙ Ισοζυγισμένα Δέντρα, AVL Δέντρα

Διάλεξη 13: Δέντρα ΙΙΙ Ισοζυγισμένα Δέντρα, AVL Δέντρα Διάλεξη 13: Δέντρα ΙΙΙ Ισοζυγισμένα Δέντρα, AVL Δέντρα Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Ισοζυγισμένα Δέντρα Υλοποίηση AVL δέντρων Εισαγωγή Κόμβων και Περιστροφές σε AVL δέντρα

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

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

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

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

Διάλεξη 13: Δέντρα ΙΙΙ Ισοζυγισμένα Δέντρα, AVL Δέντρα. Διδάσκων: Παναγιώτης Ανδρέου

Διάλεξη 13: Δέντρα ΙΙΙ Ισοζυγισμένα Δέντρα, AVL Δέντρα. Διδάσκων: Παναγιώτης Ανδρέου Διάλεξη 13: Δέντρα ΙΙΙ Ισοζυγισμένα Δέντρα, AVL Δέντρα Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Ισοζυγισμένα Δέντρα Υλοποίηση AVL δέντρων Εισαγωγή Κόμβων και Περιστροφές σε AVL δέντρα

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

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

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

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

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 σύνολο των πρότυπων αλλάζει με το χρόνο (ρεαλιστική συνθήκη).

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

ΑΛΓΟΡΙΘΜΟΙ ΜΕ C. ΝΙΚΟΛΑΟΣ ΣΑΜΑΡΑΣ Αναπληρωτής Καθηγητής. CMOR Lab. Computational Methodologies and Operations Research

ΑΛΓΟΡΙΘΜΟΙ ΜΕ C. ΝΙΚΟΛΑΟΣ ΣΑΜΑΡΑΣ Αναπληρωτής Καθηγητής. CMOR Lab. Computational Methodologies and Operations Research ΑΛΓΟΡΙΘΜΟΙ ΜΕ C ΝΙΚΟΛΑΟΣ ΣΑΜΑΡΑΣ Αναπληρωτής Καθηγητής CMOR Lab Computational Methodologies and Operations Research Δέντρα (5) Τ ένα δέντρο i ένας κόμβος στο επίπεδο k j ένας κόμβος στο επίπεδο k+1 } :

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

Ουρά Προτεραιότητας: Heap

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

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

Εισαγωγή στους Αλγόριθμους. Παύλος Εφραιμίδης, Λέκτορας

Εισαγωγή στους Αλγόριθμους. Παύλος Εφραιμίδης, Λέκτορας Εισαγωγή στους Αλγόριθμους Παύλος Εφραιμίδης, Λέκτορας http://pericles.ee.duth.gr 1 Περιεχόμενα Μαθήματος Εισαγωγή στου Αλγόριθμους Πολυπλοκότητα Αλγορίθμων Ασυμπτωτική Ανάλυση Θεωρία Γράφων Κλάσεις Πολυπλοκότητας

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

Περιεχόμενα Στρατηγικοί Στόχοι 1 Στρατηγικοί Στόχοι Επίσ ημη Αναγνώρισ η Τομείς Παρέμβασ ης (ΤΠΕ) Μέσ α & Τρόποι Δράσ ης 2 3

Περιεχόμενα Στρατηγικοί Στόχοι 1 Στρατηγικοί Στόχοι Επίσ ημη Αναγνώρισ η Τομείς Παρέμβασ ης (ΤΠΕ) Μέσ α & Τρόποι Δράσ ης 2 3 Ενωσ η Πληροφοριών Ελλάδος Γενική Συνέλευσ η 7 Νοεμβρίου 2015 Στρατηγική & Δράσ εις 2015-2017, Ομάδες Εργασ ίας, Προτεραιότητες-Παρεμβάσ εις Περιεχόμενα Στρατηγικοί Στόχοι 1 Στρατηγικοί Στόχοι Επίσ ημη

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

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ

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

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

Δομές Δεδομένων (Εργ.) Ακ. Έτος Διδάσκων: Ευάγγελος Σπύρου. Εργαστήριο 10 Δυαδικά Δένδρα Αναζήτησης

Δομές Δεδομένων (Εργ.) Ακ. Έτος Διδάσκων: Ευάγγελος Σπύρου. Εργαστήριο 10 Δυαδικά Δένδρα Αναζήτησης ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ Δομές Δεδομένων (Εργ.) Ακ. Έτος 2017-18 Διδάσκων: Ευάγγελος Σπύρου Εργαστήριο 10 Δυαδικά Δένδρα Αναζήτησης 1. Στόχος του εργαστηρίου Στόχος του δέκατου εργαστηρίου

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

2η Σειρά Γραπτών Ασκήσεων

2η Σειρά Γραπτών Ασκήσεων 2η Σειρά Γραπτών Ασκήσεων Αλγόριθμοι και Πολυπλοκότητα ΣΗΜΜΥ, Εθνικό Μετσόβιο Πολυτεχνείο 1/23 1 Κλειδιά και κλειδαριές 2 Puzzle 3 Διαστημικές Μάχες 4 Κεραίες 5 Εργοστάσιο Ποτηριών 2/23 Κλειδιά και κλειδαριές

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

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

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

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

ΟΥΡΕΣ ΠΡΟΤΕΡΑΙΟΤΗΤΑΣ

ΟΥΡΕΣ ΠΡΟΤΕΡΑΙΟΤΗΤΑΣ ΟΥΡΕΣ ΠΡΟΤΕΡΑΙΟΤΗΤΑΣ Δομές Δεδομένων Παπαγιαννόπουλος Δημήτριος 30 Μαρτίου 2017 18 Μαΐου 2017 papagianno@ceid.upatras.gr 1 Περιεχόμενα Ουρές προτεραιότητας Πράξεις Διωνυμικές Ουρές Διωνυμικά Δέντρα Διωνυμικοί

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

Δυαδικά Δέντρα Αναζήτησης (Binary Search Trees) Ορισμός : Ένα δυαδικό δέντρο αναζήτησης t είναι ένα δυαδικό δέντρο, το οποίο είτε είναι κενό είτε:

Δυαδικά Δέντρα Αναζήτησης (Binary Search Trees) Ορισμός : Ένα δυαδικό δέντρο αναζήτησης t είναι ένα δυαδικό δέντρο, το οποίο είτε είναι κενό είτε: Δυαδικά Δέντρα Αναζήτησης (Binary Search Trees) Ορισμός : Ένα δυαδικό δέντρο αναζήτησης t είναι ένα δυαδικό δέντρο, το οποίο είτε είναι κενό είτε: (i) όλα τα περιεχόμενα στο αριστερό υποδέντρο του t είναι

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

Κεφάλαιο 14 Προηγμένες Ουρές Προτεραιότητας

Κεφάλαιο 14 Προηγμένες Ουρές Προτεραιότητας Κεφάλαιο 14 Προηγμένες Ουρές Προτεραιότητας Περιεχόμενα 14.1 Διωνυμικά Δένδρα... 255 14.2 Διωνυμικές Ουρές... 258 14.1.1 Εισαγωγή στοιχείου σε διωνυμική ουρά... 258 14.1.2 Διαγραφή μεγίστου από διωνυμική

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

Ουρές Προτεραιότητας: Υπενθύμιση. Σωροί / Αναδρομή / Ταξινόμηση. Υλοποίηση Σωρού. Σωρός (Εισαγωγή) Ορέστης Τελέλης

Ουρές Προτεραιότητας: Υπενθύμιση. Σωροί / Αναδρομή / Ταξινόμηση. Υλοποίηση Σωρού. Σωρός (Εισαγωγή) Ορέστης Τελέλης Ουρές Προτεραιότητας: Υπενθύμιση Σωροί / Αναδρομή / Ταξινόμηση Ορέστης Τελέλης telelis@unipi.gr Τμήμα Ψηφιακών Συστημάτων, Πανεπιστήμιο Πειραιώς (Abstract Data Type) με μεθόδους: Μπορεί να υλοποιηθεί με

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

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. Δομές δεδομένων. Ενότητα 4η: Σύνολα - Λεξικά Παναγιώτα Φατούρου Τμήμα Επιστήμης Υπολογιστών

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ. Δομές δεδομένων. Ενότητα 4η: Σύνολα - Λεξικά Παναγιώτα Φατούρου Τμήμα Επιστήμης Υπολογιστών ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Δομές δεδομένων Ενότητα 4η: Σύνολα - Λεξικά Παναγιώτα Φατούρου Τμήμα Επιστήμης Υπολογιστών ΕΝΟΤΗΤΑ 4 ΣΥΝΟΛΑ - ΛΕΞΙΚΑ ΗΥ240 - Παναγιώτα Φατούρου 2 Σύνολα (Sets) Τα

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

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

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

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

Διδάσκων: Κωνσταντίνος Κώστα

Διδάσκων: Κωνσταντίνος Κώστα Διάλεξη Ε4: Επανάληψη Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Εισαγωγή σε δενδρικές δομές δεδομένων, Δυαδικά Δένδρα Αναζήτησης Ισοζυγισμένα Δένδρα & 2-3 Δένδρα Διδάσκων: Κωνσταντίνος

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

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

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Δομές δεδομένων Άσκηση αυτοαξιολόγησης 3-4 Παναγιώτα Φατούρου Τμήμα Επιστήμης Υπολογιστών Ενότητες 3 & 4: ένδρα, Σύνολα & Λεξικά Ασκήσεις και Λύσεις Άσκηση 1 Γράψτε

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

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

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

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

ΠΙΣΤΟΠΟΙΗΣΗ i Πισ τοποιείται ότι η Διπλωματική Εργασ ία με θέμα Μελέτη Μετασ χηματισ μών που δίνουν πληροφορία σ το πεδίο Χρόνου-Συχνότητας Του φοιτητ

ΠΙΣΤΟΠΟΙΗΣΗ i Πισ τοποιείται ότι η Διπλωματική Εργασ ία με θέμα Μελέτη Μετασ χηματισ μών που δίνουν πληροφορία σ το πεδίο Χρόνου-Συχνότητας Του φοιτητ ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ: Συσ τημάτων και Αυτόματου Ελέγχου (Σ.Α.Ε) ΕΡΓΑΣΤΗΡΙΟ : ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ του φοιτητή του Τμήματος Ηλεκτρολόγων Μηχανικών

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

2.2.5 ΑΝΑΠΑΡΑΣΤΑΣΗ ΑΛΓΟΡΙΘΜΟΥ

2.2.5 ΑΝΑΠΑΡΑΣΤΑΣΗ ΑΛΓΟΡΙΘΜΟΥ 2.2.5 ΑΝΑΠΑΡΑΣΤΑΣΗ ΑΛΓΟΡΙΘΜΟΥ ΑΝΑΠΑΡΑΣΤΑΣΗ ΑΛΓΟΡΙΘΜΟΥ Προκειμένου να επιτευχθεί η «ακριβής περιγραφή» ενός αλγορίθμου, χρησιμοποιείται κάποια γλώσσα που μπορεί να περιγράφει σειρές ενεργειών με τρόπο αυστηρό,

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

Εντολές της LOGO (MicroWorlds Pro)

Εντολές της LOGO (MicroWorlds Pro) Εντολές της LOGO (MicroWorlds Pro) Εντολές εμφάνισης (εξόδου) και αριθμητικές πράξεις δείξε Εμφανίζει στην οθόνη έναν αριθμό, το αποτέλεσμα πράξεων, μια λέξη ή μια λίστα (ομάδα) λέξεων. δείξε 200 200 δείξε

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

Ενότητα 9 Ξένα Σύνολα που υποστηρίζουν τη λειτουργία της Ένωσης (Union-Find)

Ενότητα 9 Ξένα Σύνολα που υποστηρίζουν τη λειτουργία της Ένωσης (Union-Find) Ενότητα 9 Ξένα Σύνολα που υποστηρίζουν τη (Union-Find) ΗΥ240 - Παναγιώτα Φατούρου 1 Ξένα Σύνολα που υποστηρίζουν τη λειτουργία της Ένωσης Έστω ότι S 1,, S k είναι ξένα υποσύνολα ενός συνόλου U, δηλαδή

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

Red-Black Δέντρα. Red-Black Δέντρα

Red-Black Δέντρα. Red-Black Δέντρα Red-Black Δέντρα v 6 3 8 4 z Red-Black Δέντρα Περίληψη Από τα (2,4) δέντρα στα red-black δέντρα Red-black δέντρο Ορισμός Ύψος Εισαγωγή αναδόμηση επαναχρωματισμός Διαγραφή αναδόμηση επαναχρωματισμός προσαρμογή

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

Red-black δέντρα (Κεφ. 5)

Red-black δέντρα (Κεφ. 5) Red-black δέντρα (Κεφ. ) Δομές Δεδομένων Παπαγιαννόπουλος Δημήτριος 30 Μαρτίου 07 30 Μαρτίου 07 papagianno@ceid.upatras.gr . Εισαγωγή Περιεχόμενα. Ορισμός red-black δέντρων 3. Αναζήτηση σε red-black δέντρα

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

Ανάκτηση Πληροφορίας

Ανάκτηση Πληροφορίας Το Πιθανοκρατικό Μοντέλο Κλασικά Μοντέλα Ανάκτησης Τρία είναι τα, λεγόμενα, κλασικά μοντέλα ανάκτησης: Λογικό (Boolean) που βασίζεται στη Θεωρία Συνόλων Διανυσματικό (Vector) που βασίζεται στη Γραμμική

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

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

Δεντρικά Ευρετήρια. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Δεντρικά Ευρετήρια Βάσεις Δεδομένων 2017-2018 1 Δέντρα Αναζήτησης Ένα δέντρο αναζήτησης (search tree) τάξεως p είναι ένα δέντρο τέτοιο ώστε κάθε κόμβος του περιέχει το πολύ p - 1 τιμές αναζήτησης και ρ

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

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

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

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

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

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

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

Δοµές Δεδοµένων. 9η Διάλεξη Ταξινόµηση - Στοιχειώδεις µέθοδοι. Ε. Μαρκάκης

Δοµές Δεδοµένων. 9η Διάλεξη Ταξινόµηση - Στοιχειώδεις µέθοδοι. Ε. Μαρκάκης Δοµές Δεδοµένων 9η Διάλεξη Ταξινόµηση - Στοιχειώδεις µέθοδοι Ε. Μαρκάκης Περίληψη Bubble Sort Selection Sort Insertion Sort Χαρακτηριστικά επιδόσεων Shellsort Ταξινόµηση συνδεδεµένων λιστών Δοµές Δεδοµένων

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

Ενδεικτικές Ερωτήσεις Θεωρίας

Ενδεικτικές Ερωτήσεις Θεωρίας Ενδεικτικές Ερωτήσεις Θεωρίας Κεφάλαιο 2 1. Τι καλούμε αλγόριθμο; 2. Ποια κριτήρια πρέπει οπωσδήποτε να ικανοποιεί ένας αλγόριθμος; 3. Πώς ονομάζεται μια διαδικασία που δεν περατώνεται μετά από συγκεκριμένο

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

Δυναμικά Σύνολα. Δυναμικό σύνολο. Tα στοιχεία του μεταβάλλονται μέσω εντολών εισαγωγής και διαγραφής. διαγραφή. εισαγωγή

Δυναμικά Σύνολα. Δυναμικό σύνολο. Tα στοιχεία του μεταβάλλονται μέσω εντολών εισαγωγής και διαγραφής. διαγραφή. εισαγωγή Δυναμικά Σύνολα Δυναμικό σύνολο Tα στοιχεία του μεταβάλλονται μέσω εντολών εισαγωγής και διαγραφής διαγραφή εισαγωγή Δυναμικά Σύνολα Δυναμικό σύνολο Tα στοιχεία του μεταβάλλονται μέσω εντολών εισαγωγής

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

Δομές δεδομένων. Ενότητα 8: Ξένα Σύνολα που υποστηρίζουν τη λειτουργία της Ένωσης (Union-Find) Παναγιώτα Φατούρου Τμήμα Επιστήμης Υπολογιστών

Δομές δεδομένων. Ενότητα 8: Ξένα Σύνολα που υποστηρίζουν τη λειτουργία της Ένωσης (Union-Find) Παναγιώτα Φατούρου Τμήμα Επιστήμης Υπολογιστών ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Δομές δεδομένων Ενότητα 8: Ξένα Σύνολα που υποστηρίζουν τη λειτουργία της Ένωσης (Union-Find) Παναγιώτα Φατούρου Τμήμα Επιστήμης Υπολογιστών Ενότητα 8 Ξένα Σύνολα

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

Δομές Δεδομένων. Ενότητα 13: B-Δέντρα/AVL-Δέντρα. Καθηγήτρια Μαρία Σατρατζέμη. Τμήμα Εφαρμοσμένης Πληροφορικής. Δομές Δεδομένων

Δομές Δεδομένων. Ενότητα 13: B-Δέντρα/AVL-Δέντρα. Καθηγήτρια Μαρία Σατρατζέμη. Τμήμα Εφαρμοσμένης Πληροφορικής. Δομές Δεδομένων Ενότητα 13: B-Δέντρα/AVL-Δέντρα Καθηγήτρια Μαρία Σατρατζέμη Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε

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