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

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
Αναδρομικοί Αλγόριθμοι
Advertisements

Βασικές έννοιες αλγορίθμων
Δένδρα van Emde Boas TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Μελετάμε την περίπτωση όπου αποθηκεύουμε.
Επίπεδα Γραφήματα (planar graphs)
Στοιχειώδεις Δομές Δεδομένων TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Τύποι δεδομένων στη Java • Ακέραιοι.
Αντισταθμιστική ανάλυση Κατά τη διάρκεια εκτέλεσης του Α η Δ πραγματοποιεί μία ακολουθία από πράξεις. Θεωρήστε έναν αλγόριθμο Α που χρησιμοποιεί μια δομή.
Λίστες παράλειψης (skip lists) TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A
Άμεσοι Αλγόριθμοι: Προσπέλαση Λίστας (list access) TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Έχουμε αποθηκεύσει.
ΚΕΝΤΡΟ ΠΟΛΙΤΙΣΜΙΚΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΙΝΣΤΙΤΟΥΤΟ ΠΛΗΡΟΦΟΡΙΚΗΣ ΙΤΕ 21,23/2/2005Πληροφοριακή σχεδίαση για πολιτισμική τεκμηρίωση και διαλειτουργικότητα1 Τεκμηρίωση.
ΣΤΟΙΧΕΙΑ ΨΕΥΔΟΚΩΔΙΚΑ ΒΑΣΙΚΕΣ ΔΟΜΕΣ ΒΑΣΙΚΟΙ ΑΛΓΟΡΙΘΜΟΙ ΠΙΝΑΚΩΝ
Επίπεδα Γραφήματα : Προβλήματα και Υπολογιστική Πολυπλοκότητα TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A AA.
Πολυπλοκότητα Παράμετροι της αποδοτικότητας ενός αλγόριθμου:
Ισορροπημένα Δένδρα TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Μπορούμε να επιτύχουμε χρόνο εκτέλεσης για.
Δομές Αναζήτησης TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A εισαγωγή αναζήτησηεπιλογή διατεταγμένος πίνακας.
Ψηφιακά Δένδρα TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Μπορούμε να χρησιμοποιήσουμε την παραπάνω αναπαράσταση.
Δένδρα Αναζήτησης Πολλαπλής Διακλάδωσης TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Δένδρα στα οποία κάθε.
1 ΠΟΛΥΜΕΣΑ ΚΑΙ ΔΙΚΤΥΑ Μάθημα 1 ο : Μέσα και πολυμέσα Εισηγήτρια:Αναστασία Κατρανίδου.
Εισαγωγικές Έννοιες Διδάσκοντες: Σ. Ζάχος, Δ. Φωτάκης Επιμέλεια διαφανειών: Δ. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο.
Εργασία Η υλοποίηση του αλγορίθμου συγχώνευσης θα πρέπει να χρησιμοποιεί την ιδέα των ροών (streams). Θα πρέπει να υπάρχουν δύο διαφορετικά είδη.
Διαίρει και Βασίλευε πρόβλημα μεγέθους Ν διάσπαση πρόβλημα μεγέθους Ν-k πρόβλημα μεγέθους k.
Κοντινότεροι Κοινοί Πρόγονοι α βγ θ δεζ η π ν ι κλμ ρσ τ κκπ(λ,ι)=α, κκπ(τ,σ)=ν, κκπ(λ,π)=η κκπ(π,σ)=γ, κκπ(ξ,ο)=κ ξο κκπ(ι,ξ)=β, κκπ(τ,θ)=θ, κκπ(ο,μ)=α.
Προσεγγιστικοί Αλγόριθμοι
Μέγιστη ροή TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A AA A A Συνάρτηση χωρητικότητας Κατευθυνόμενο γράφημα.
Αριθμοθεωρητικοί Αλγόριθμοι TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A AA A A Αλγόριθμοι που επεξεργάζονται.
Τυχαιοκρατικοί Αλγόριθμοι TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA Πιθανότητες και Αλγόριθμοι Ανάλυση μέσης.
Ισορροπημένα Δένδρα TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Μπορούμε να επιτύχουμε χρόνο εκτέλεσης για.
TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A Δυναμικός Προγραμματισμός πρόβλημα μεγέθους Ν διάσπαση πρόβλημα.
Δομές Αναζήτησης TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Χειριζόμαστε ένα σύνολο στοιχείων όπου το κάθε.
Ανάλυση αλγορίθμων Παράμετροι απόδοσης ενός αλγόριθμου: Χρόνος εκτέλεσης Απαιτούμενοι πόροι, π.χ. μνήμη, επικοινωνία (π.χ. σε κατανεμημένα συστήματα) Προσπάθεια.
Ελαφρύτατες διαδρομές TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A AA A A Συνάρτηση βάρους Κατευθυνόμενο γράφημα.
Ισορροπημένα Δένδρα TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Μπορούμε να επιτύχουμε χρόνο εκτέλεσης για.
Ψηφιακά Δένδρα TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Μπορούμε να χρησιμοποιήσουμε την παραπάνω αναπαράσταση.
2-1 Ανάλυση Αλγορίθμων Αλγόριθμος Πεπερασμένο σύνολο εντολών που, όταν εκτελεστούν, επιτυγχάνουν κάποιο επιθυμητό αποτέλεσμα –Δεδομένα εισόδου και εξόδου.
Δυναμικά Σύνολα TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A AA A A Δυναμικό σύνολο Tα στοιχεία του μεταβάλλονται.
TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Ουρά Προτεραιότητας (priority queue) Δομή δεδομένων που υποστηρίζει.
TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Ουρά Προτεραιότητας (priority queue) Δομή δεδομένων που υποστηρίζει.
Ειδικά Θέματα Αλγορίθμων και Δομών Δεδομένων
Διερεύνηση γραφήματος. Ένας αλγόριθμος διερεύνησης γραφήματος επισκέπτεται τους κόμβους του γραφήματος με μια καθορισμένη στρατηγική, π.χ. κατά εύρος.
Κατανόηση (δεδομένα – ζητούμενα) Ανάλυση σε απλούστερα προβλήματα Επίλυση με οργανωμένα, απολύτως καθορισμένα, πεπερασμένα βήματα ΑΛΓΟΡΙΘΜΟΣ.
Δυναμικά Σύνολα TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A AA A A Δυναμικό σύνολο Tα στοιχεία του μεταβάλλονται.
Ελαφρύτατες διαδρομές TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A AA A A.
TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Ουρά Προτεραιότητας (priority queue) Δομή δεδομένων που υποστηρίζει.
Γραμμικός Προγραμματισμός TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A AA A A Μια εταιρεία παράγει κέικ δύο κατηγοριών,
Δομές Αναζήτησης TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Θέλουμε να υποστηρίξουμε δύο βασικές λειτουργίες:
Στοιχειώδεις Δομές Δεδομένων TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Τύποι δεδομένων στη C Ακέραιοι.
Επίπεδα Γραφήματα: Έλεγχος Επιπεδότητας TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A AA A A αβ ζ η ε γ θ Το γράφημα.
Διερεύνηση γραφήματος. Ένας αλγόριθμος διερεύνησης γραφήματος επισκέπτεται τους κόμβους του γραφήματος με μια καθορισμένη στρατηγική, π.χ. κατά εύρος.
Advanced Data Indexing (Προηγμένη ευρετηρίαση δεδομένων) Κατακερματισμός – Hashing (1 ο Μέρος)
Λίστες παράλειψης (skip lists) TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A
Γράφημα TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Συνδυαστικό αντικείμενο που αποτελείται από.
Μέγιστη ροή TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A AA A A Συνάρτηση χωρητικότητας Κατευθυνόμενο γράφημα.
Δρομολόγηση. Δρομολόγηση ονομάζεται το έργο εύρεσης του πως θα φθάσει ένα πακέτο στον προορισμό του Ο αλγόριθμος δρομολόγησης αποτελεί τμήμα του επιπέδου.
Ελαφρύτατες διαδρομές TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A AA A A.
Μέγιστη ροή TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A AA A A Συνάρτηση χωρητικότητας Κατευθυνόμενο γράφημα.
Συνδετικότητα γραφήματος (graph connectivity). α β Υπάρχει μονοπάτι μεταξύ α και β; Παραδείγματα: υπολογιστές ενός δικτύου ιστοσελίδες ισοδύναμες μεταβλητές.
Κρυφή μνήμη (cache memory) (1/2) Εισαγωγή στην Πληροφορκή1 Η κρυφή μνήμη είναι μία πολύ γρήγορη μνήμη – πιο γρήγορη από την κύρια μνήμη – αλλά πιο αργή.
Δομές δεδομένων και Αλγόριθμοι Κεφάλαιο 3. Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον Δεδομένα Δεδομένα (data) Δεδομένα (data) –αφαιρετική αναπαράσταση.
Γράφημα Συνδυαστικό αντικείμενο που αποτελείται από 2 σύνολα:
Μέγιστη ροή Κατευθυνόμενο γράφημα 12 Συνάρτηση χωρητικότητας
Πίνακες Συμβόλων TexPoint fonts used in EMF.
Μέγιστη ροή Κατευθυνόμενο γράφημα 12 Συνάρτηση χωρητικότητας
Ισορροπημένα Δένδρα Μπορούμε να επιτύχουμε χρόνο εκτέλεσης
Δένδρα Αναζήτησης Πολλαπλής Διακλάδωσης
Ισορροπημένα Δένδρα Μπορούμε να επιτύχουμε χρόνο εκτέλεσης
Ισορροπημένα Δένδρα Μπορούμε να επιτύχουμε χρόνο εκτέλεσης
Ουρά Προτεραιότητας (priority queue)
Δομές Αναζήτησης Χειριζόμαστε ένα σύνολο στοιχείων όπου το κάθε στοιχείο έχει ένα κλειδί από ολικά διατεταγμένο σύνολο Θέλουμε να υποστηρίξουμε δύο.
Ελαφρύτατες διαδρομές
Εξωτερική Αναζήτηση Ιεραρχία Μνήμης Υπολογιστή Εξωτερική Μνήμη
Διαχρονικές Δομές Δεδομένων
Μεταγράφημα παρουσίασης:

Δομές Δεδομένων και Αλγόριθμοι Λουκάς Γεωργιάδης loukas@cs.uoi.gr www.cs.uoi.gr/~loukas TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AAAAAAAAAA

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

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

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

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

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

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

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

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

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

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

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