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

Σχετικά έγγραφα
Εξωτερική Αναζήτηση. Ιεραρχία Μνήμης Υπολογιστή. Εξωτερική Μνήμη. Εσωτερική Μνήμη. Κρυφή Μνήμη (Cache) Καταχωρητές (Registers) μεγαλύτερη ταχύτητα

ΠΛΕ075: Προηγμένη Σχεδίαση Αλγορίθμων και Δομών Δεδομένων. Λουκάς Γεωργιάδης

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

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

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

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

Δομές Δεδομένων. Λουκάς Γεωργιάδης.

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

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

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

Δομές Δεδομένων. Λουκάς Γεωργιάδης.

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

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

Κεφάλαιο 10 Ψηφιακά Λεξικά

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

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

Μεταγλωττιστές. Γιώργος Δημητρίου. Μάθημα 11 ο. Πανεπιστήμιο Θεσσαλίας - Τμήμα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών

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

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

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

Άσκηση 1 (ανακοινώθηκε στις 20 Μαρτίου 2017, προθεσμία παράδοσης: 24 Απριλίου 2017, 12 τα μεσάνυχτα).

Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύ

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

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

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

Κεφάλαιο 6 Ουρές Προτεραιότητας

Τεχνολογία Πολυμέσων. Ενότητα # 3: Συστήματα πολυμέσων Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής

Υπολογιστικό Πρόβληµα

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

Κεφάλαιο 8 Ισορροπημένα Δένδρα Αναζήτησης

viii 20 Δένδρα van Emde Boas 543

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

Θέματα Υπολογισμού στον Πολιτισμό - Δένδρα. Δένδρα

Διαχείριση Πολιτισμικών Δεδομένων

Σου προτείνω να τυπώσεις τις επόμενες τέσσερις σελίδες σε ένα φύλο διπλής όψης και να τις έχεις μαζί σου για εύκολη αναφορά.

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

Επιµέλεια Θοδωρής Πιερράτος

Μοντέλο Επικοινωνίας Δεδομένων. Επικοινωνίες Δεδομένων Μάθημα 6 ο

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

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

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

7ο ΕΡΓΑΣΤΗΡΙΟ AAAABBBBAAAAABBBBBBCCCCCCCCCCCCCCBBABAAAABBBBBBCCCCD

Ενότητα 3: ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΑΛΓΟΡΙΘΜΟΙ

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

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

Πρόβληµα (ADT) Λεξικού. Αλγόριθµοι & Πολυπλοκότητα (Χειµώνας 2011) Λεξικό, Union - Find 2

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2015

22Α004 - Προχωρημένα Θέματα Θεωρίας Πληροφορίας Τελική Εξέταση

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

Τμήμα Χρηματοοικονομικής & Ελεγκτικής ΤΕΙ Ηπείρου Παράρτημα Πρέβεζας. Πληροφορική Ι. Αναπαράσταση αριθμών στο δυαδικό σύστημα. Δρ.

Λειτουργικά Συστήματα (Λ/Σ)

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

Ανάλυση αλγορίθμων. Χρόνος εκτέλεσης: Αναμενόμενη περίπτωση. - απαιτεί γνώση της κατανομής εισόδου

Με τον όρο μνήμη αναφερόμαστε στα μέσα που χρησιμοποιούνται για την αποθήκευση προγραμμάτων και δεδομένων σε έναν υπολογιστή ή άλλη ψηφιακή

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

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ ΙΙ - UNIX. Συστήματα Αρχείων. Διδάσκoντες: Καθ. Κ. Λαμπρινουδάκης Δρ. Α. Γαλάνη

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

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

ΣΥΝΔΥΑΣΤΙΚΗ ΒΕΛΤΙΣΤΟΠΟΙΗΣΗ

Κεφάλαιο 11 Ένωση Ξένων Συνόλων

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

Κεφάλαιο 5 Ανάλυση Αλγορίθμων

Περιεχόμενα. Περιεχόμενα

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

Φουκαράκη Χρυσούλα - ΓΕΛ Γαζίου

Κατευθυνόμενα γραφήματα. Μαθηματικά Πληροφορικής 6ο Μάθημα. Βρόγχοι. Μη κατευθυνόμενα γραφήματα. Ορισμός

8.1 Θεωρητική εισαγωγή

; Γιατί είναι ταχύτερη η λήψη και αποκωδικοποίηση των εντολών σταθερού μήκους;

Κεφάλαιο 12 Διαχείριση Μνήμης

- Εισαγωγή - Επίπεδα μνήμης - Ολοκληρωμένα κυκλώματα μνήμης - Συσκευασίες μνήμης προσωπικών υπολογιστών

ΠΛΗ21 Κεφάλαιο 2. ΠΛΗ21 Ψηφιακά Συστήματα: Τόμος Α Κεφάλαιο: 2 Δυαδική Κωδικοποίηση

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

Ασυμπτωτικός Συμβολισμός

ΒΙΒΛΙΑ ΒΙΒΛΙΑ

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

Λύσεις Ασκήσεων ΣΕΙΡΑ 1 η. Πρόσημο και μέγεθος

Ταιριάσματα. Γράφημα. Ταίριασμα (matching) τέτοιο ώστε κάθε κορυφή να εμφανίζεται σε το πολύ μια ακμή του

Τηλεπικοινωνιακά Συστήματα ΙΙ

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2012

Μη γράφετε στο πίσω μέρος της σελίδας

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

Θεωρία Πληροφορίας. Διάλεξη 10: Κωδικοποίηση καναλιού με συνελικτικούς κώδικες. Δρ. Μιχάλης Παρασκευάς Επίκουρος Καθηγητής

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

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

ΕΦΑΡΜΟΓΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ Α ΤΑΞΗ

Διερεύνηση γραφήματος

2. Αλγόριθμοι, δομές δεδομένων και πολυπλοκότητα

επιφάνεια πυριτίου Αναφορά στο Εκπαιδευτικό Υλικό : 5. Αναφορά στο Εργαστήριο :

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

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

Εισαγωγή στους Αλγόριθµους. Αλγόριθµοι. Ιστορικά Στοιχεία. Ο πρώτος Αλγόριθµος. Παραδείγµατα Αλγορίθµων. Τι είναι Αλγόριθµος

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

Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών Απόδοση ΚΜΕ. (Μέτρηση και τεχνικές βελτίωσης απόδοσης)

Κεφάλαιο 4 ο. Ο Προσωπικός Υπολογιστής

Μεταγλωττιστές. Γιώργος Δημητρίου. Μάθημα 9 ο

Στοιχεία από την αρχιτεκτονική των μικροϋπολογιστών

Εργαστήριο 8o. Ερωτήματα επιλογής Παραμετρικά ερωτήματα Ερωτήματα δημιουργίας πεδίων. Ευάγγελος Γ. Καραπιδάκης

ΥΣ02 Τεχνητή Νοημοσύνη Χειμερινό Εξάμηνο

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

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

Transcript:

Δομές Δεδομένων και Αλγόριθμοι Λουκάς Γεωργιάδης loukas@cs.uoi.gr www.cs.uoi.gr/~loukas

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

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

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

Αλγόριθμοι σε στατικά και δυναμικά γραφήματα και δίκτυα Πολλά σημαντικά προβλήματα μπορούν να μοντελοποιηθούν ως προβλήματα σε γραφήματα και δίκτυα Επιλογή κοντινότερων ή συντομότερων διαδρομών Μεταφορά υλικών σε οδικό δίκτυο ή δεδομένων σε τηλεπικοινωνιακό δίκτυο Χρονοπρογραμματισμός Κατανομή πόρων Έλεγχος ροής προγραμμάτων και βελτιστοποιήσεις Στατικό πρόβλημα: Το γράφημα ή δίκτυο παραμένει αμετάβλητο 10/19 10/11 0/2 8/10 Δυναμικό πρόβλημα: Το γράφημα ή δίκτυο μεταβάλλεται (εισαγωγές ή διαγραφές ακμών, αλλαγή παραμέτρων βάρους, κόστους κλπ.) 4/8 0/5 2/3 6/6 0/7 6/10

Διαχρονικές δομές δεδομένων Μια τυπική δομή δεδομένων μεταβάλλεται με πράξεις εισαγωγής ή διαγραφής εισαγωγή 20 18 20 52 39 73 21 46 62 80 Αποκατάσταση ισορροπίας 52 39 73 20 46 62 80 18 21 Μια τέτοια δομή είναι εφήμερη: Δεν έχουμε πρόσβαση στις προηγούμενες καταστάσεις (εκδοχές) της δομής. Π.χ. δεν μπορούμε να απαντήσουμε σε ερωτήματα όπως «ήταν ο Χ μέλος του οργανισμού μας το 2005;» Διαχρονική δομή: Επιτρέπει την πρόσβαση σε όλες τις εκδοχές της δομής.

Κινητικές δομές δεδομένων Σε πολλές εφαρμογές θέλουμε να διατηρήσουμε πληροφορίες για ένα σύνολο κινούμενων αντικειμένων Παράδειγμα: Έχουμε Ν αντικείμενα που κινούνται κατακόρυφα με σταθερές αλλά ενδεχομένως διαφορετικές ταχύτητες. Θέλουμε να γνωρίζουμε σε κάθε χρονική στιγμή ποιο αντικείμενο βρίσκεται ψηλότερα

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

Περιεκτικές δομές δεδομένων Τυπικοί τρόποι αναπαράστασης δομών, όπως π.χ. η αναπαράσταση δυαδικών δένδρων με 2 ή 3 δείκτες ανά κόμβο (για αριστερό παιδί, δεξί παιδί και γονέα), επιτρέπουν γρήγορη πρόσβαση αλλά σπαταλούν πολύ χώρο για την αποθήκευση βοηθητικών δεδομένων (π.χ. δεικτών). α 11 01 11 β 00 01 δ ε ζ η γ θ 00 00 10 = [ 1101110001100000] Μια περιεκτική δομή είναι οικονομική σε χώρο (π.χ. Ο(N) bits)

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

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

Αξιολόγηση (~) 3 ατομικά σετ ασκήσεων 1 ομαδική εργασία - παρουσίαση Πληροφορίες και ανακοινώσεις μέσω της ιστοσελίδας του μαθήματος