Θεωρία Βασικών Δομών Δεδομένων Διδάσκοντες:Μακρής Χρήστος, Τσακαλίδης Αθανάσιος

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
Indexing.
Advertisements

Δομές Δεδομένων και Αλγόριθμοι
Δένδρα van Emde Boas TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Μελετάμε την περίπτωση όπου αποθηκεύουμε.
1 ΥΠΟΛΟΓΙΣΤΙΚΉ ΓΕΩΜΕΤΡΊΑ. 2 Πρόβλημα:  Δυναμική διατήρηση N διαστημάτων με διαφορετικά ανά δύο σημεία αρχής και τέλους (σύνορα) έτσι ώστε να απαντάμε.
Θεωρία Βασικών Δομών Δεδομένων
ΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ ΜΑΘΗΜΑ 2. ΣΧΕΣΙΑΚΗ ΒΑΣΗ ΔΕΔΟΜΕΝΩΝ • Μια σχεσιακή ΒΔ καταγράφει δεδομένα μέσα σε σχέσεις (πίνακες). • Μια πραγματική οντότητα γίνεται.
Άμεσοι Αλγόριθμοι: Προσπέλαση Λίστας (list access) 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 εισαγωγή αναζήτησηεπιλογή διατεταγμένος πίνακας.
 Αυδίκου Χριστίνα  Γιουμούκης Παναγιώτης  Κιντσάκης Θάνος  Πάπιστας Γιάννης.
Accessing Nearby Copies of Replicated Objects in a Distributed Environment (ANCRODE algorithm) By C.Greg Plaxton, Rajmohan Rajaraman, Andrea W. Richa.
Εισαγωγικές Έννοιες Διδάσκοντες: Σ. Ζάχος, Δ. Φωτάκης Επιμέλεια διαφανειών: Δ. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο.
Εργασία Η υλοποίηση του αλγορίθμου συγχώνευσης θα πρέπει να χρησιμοποιεί την ιδέα των ροών (streams). Θα πρέπει να υπάρχουν δύο διαφορετικά είδη.
ΣΧΕΣΙΑΚΟ ΜΟΝΤΕΛΟ ΜΑΘΗΜΑ 3.
Κοντινότεροι Κοινοί Πρόγονοι α βγ θ δεζ η π ν ι κλμ ρσ τ κκπ(λ,ι)=α, κκπ(τ,σ)=ν, κκπ(λ,π)=η κκπ(π,σ)=γ, κκπ(ξ,ο)=κ ξο κκπ(ι,ξ)=β, κκπ(τ,θ)=θ, κκπ(ο,μ)=α.
ΘΠ06 - Μεταγλωττιστές Πίνακας Συμβόλων. Πίνακας Συμβόλων (Symbol Table) (Ι)  Είναι μια δομή στην οποία αποθηκεύονται τα ονόματα ενός προγράμματος και.
ΕΙΣΑΓΩΓΗ ΜΑΘΗΜΑ 1.
Αποστολος Π. Τραγανιτης
Διαχείριση μνήμης Υπόβαθρο Εναλλαγή Συνεχής κατανομή Σελιδοποίηση
Συστήματα Στήριξης Αποφάσεων
Σχεδιαση Αλγοριθμων - Τμημα Πληροφορικης ΑΠΘ - Κεφαλαιο 9ο1 Άπληστοι αλγόριθμοι βελτιστοποίησης Προβλήματα βελτιστοποίησης λύνονται με μια σειρά επιλογών.
ΘΕΜΑΤΙΚΗ ΕΝΟΤΗΤΑ 2: ΘΕΜΑΤΑ ΘΕΩΡΗΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ Η/Υ
Ουρά Προτεραιότητας: Heap
ΘΠ06 - Μεταγλωττιστές Πίνακας Συμβόλων Φροντιστήριο - 30/04/2009.
Δείκτες (Pointers) – Δομές (Structs)
Εξόρυξη Δεδομένων και Αλγόριθμοι Μάθησης. K-means k-windows k-means: 2 φάσεις 1. Μια διαμέριση των στοιχείων σε k clusters 2. Η ποιότητα της διαμέρισης.
Διαφάνειες παρουσίασης Πίνακες (συνέχεια) Αριθμητικοί υπολογισμοί Αναδρομή.
Διδακτική της Πληροφορικής ΗΥ302 Εργασία :Παρουσίαση σχολικού βιβλίου Γ’ Λυκείου Τεχνολογικής Κατεύθυνσης «Ανάπτυξη εφαρμογών σε προγραμματιστικό περιβάλλον»
Αναζήτηση – Δέντρα (2 ο Μέρος) Advanced Data Indexing (Προηγμένη ευρετηρίαση δεδομένων)
Ελάχιστο Συνδετικό Δέντρο
Δομές Αναζήτησης TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Θέλουμε να υποστηρίξουμε δύο βασικές λειτουργίες:
ΘΕΜΑΤΙΚΗ ΕΝΟΤΗΤΑ 2: ΘΕΜΑΤΑ ΘΕΩΡΗΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ Η/Υ
Λεξικό, Union – Find Διδάσκοντες: Σ. Ζάχος, Δ. Φωτάκης Επιμέλεια διαφανειών: Δ. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο.
Quicksort Διδάσκοντες: Σ. Ζάχος, Δ. Φωτάκης Επιμέλεια διαφανειών: Δ. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο.
Advanced Data Indexing (Προηγμένη ευρετηρίαση δεδομένων) Κατακερματισμός – Hashing (1 ο Μέρος)
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Εισαγωγή στην Επεξεργασία Ερωτήσεων.
Αλγόριθμοι - Τμήμα Πληροφορικής ΑΠΘ - 4ο εξάμηνο1 Ανάλυση Αλγορίθμων b Θέματα: Ορθότητα Χρονική αποδοτικότητα Χωρική αποδοτικότητα Βελτιστότητα b Προσεγγίσεις:
ΕΠΛ 231 – Δομές Δεδομένων και Αλγόριθμοι
Ασυμπτωτικός Συμβολισμός
Βάσεις Δεδομένων Ευαγγελία Πιτουρά1 Συναρτησιακές Εξαρτήσεις.
ΕΠΛ 231 – Δομές Δεδομένων και Αλγόριθμοι13-1 Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Ο αλγόριθμος Dijkstra για εύρεση βραχυτέρων μονοπατιών.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά1 Συναρτησιακές Εξαρτήσεις.
ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΕΣ ΤΕΧΝΙΚΕΣ Διδάσκοντες:Γιάννης Μαΐστρος Στάθης Ζάχος Νίκος Παπασπύρου
Χρονική Πολυπλοκότητα
Θεωρία Γράφων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές TSP, Μέτρα κεντρικότητας, Dijkstra Data Engineering Lab.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Ευρετήρια.
Advanced Data Indexing (Προηγμένη ευρετηρίαση δεδομένων) Ροές Δεδομένων (3 ο Μέρος)
Συνδετικότητα γραφήματος (graph connectivity). α β Υπάρχει μονοπάτι μεταξύ α και β; Παραδείγματα: υπολογιστές ενός δικτύου ιστοσελίδες ισοδύναμες μεταβλητές.
ΤΕΙ ΙΟΝΙΩΝ ΝΗΣΩΝ ΤΜΗΜΑ ΔΙΟΙΚΗΣΗΣ ΕΠΙΧΕΙΡΗΣΕΩΝ ΠΑΡΆΡΤΗΜΑ ΛΕΥΚΑΔΑΣ ΥΠΕΥΘΥΝΗ ΚΑΘΗΓΉΤΡΙΑ Δρ. ΤΣΙΝΤΖΑ ΠΑΝΑΓΙΩΤΑ Οι παρουσιάσεις του μαθήματος βασίζονται στο.
Γλώσσες Προγραμματισμού Μεταγλωττιστές Πίνακας Συμβόλων Πανεπιστήμιο Μακεδονίας Τμήμα Εφαρμοσμένης Πληροφορικής Ηλίας Σακελλαρίου.
Δομές δεδομένων και Αλγόριθμοι Κεφάλαιο 3. Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον Δεδομένα Δεδομένα (data) Δεδομένα (data) –αφαιρετική αναπαράσταση.
Δημιουργοί ΝΑΤΣΙΟΥΛΗΣ ΓΕΩΡΓΙΟΣ ΠΑΠΑΣ ΑΘΑΝΑΣΙΟΣ ΤΟΣΙΟΣ ΧΡΗΣΤΟΣ
Ευρετήρια Βάσεις Δεδομένων Ευαγγελία Πιτουρά.
Το Σχεσιακό Μοντέλο Βάσεις Δεδομένων Ευαγγελία Πιτουρά.
Ενότητα 5 : Δομές Δεδομένων και αφηρημένοι
9η Διάλεξη Ταξινόμηση Ε. Μαρκάκης
Διδάσκων: Δρ. Τσίντζα Παναγιώτα
Το Σχεσιακό Μοντέλο Βάσεις Δεδομένων Ευαγγελία Πιτουρά.
Σύγχρονες μεθοδολογίες ανάπτυξης και διαχείρισης Πληροφοριακών Συστημάτων 2ο Κεφάλαιο.
Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον ΑΕΠΠ
Φοιτητής: Τσακίρης Αλέξανδρος Επιβλέπων: Ευάγγελος Ούτσιος
Ουρά Προτεραιότητας (priority queue)
Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον ΑΕΠΠ
Δομές Δεδομένων (Data Structures)
Δομές Δεδομένων (Data Structures)
Union - Find 30 Μαρτίου 2017.
Δομές Δεδομένων και Τεχνικές Προγραμματισμού
Το Σχεσιακό Μοντέλο Βάσεις Δεδομένων Ευαγγελία Πιτουρά.
Εξωτερική Αναζήτηση Ιεραρχία Μνήμης Υπολογιστή Εξωτερική Μνήμη
Διαχρονικές Δομές Δεδομένων
Μεταγράφημα παρουσίασης:

Θεωρία Βασικών Δομών Δεδομένων Διδάσκοντες:Μακρής Χρήστος, Τσακαλίδης Αθανάσιος Διδασκαλία:Τρίτη 19:00-21:00Αίθουσα Συνεδριάσεων (ΑΣ)

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

Αντικείμενα που καλύπτονται 1. Μοντέλα Υπολογισμού και μετρικές χρονικής και χωρικής πολυπλοκότητας 2. Διαχρονικές Δομές Δεδομένων 3. Αλγόριθμοι και Δομές Δεδομένων σε προβλήματα διαχείρισης δενδρικών γραφημάτων. 4. Ουρές Προτεραιότητας και Αυτοργανώμενα Δέντρα 5. Αλγόριθμοι Διάταξης και Δομές Ψαξίματος στο RAM Μοντέλα Υπολογισμού.

Διαδικαστικά  Εξέταση (π ροφορική )  Εργασία : – Παρουσίαση – Γρα π τή Αναφορά  Τελικός Βαθμός : Ημιάθροισμα

Εισαγωγικά Δομή Δεδομένων= η συγκεκριμένη υλοποίηση ενός συχνά εμφανιζόμενου Αφηρημένου Τύπου Δεδομένων. Αφηρημένος Τύπος Δεδομένων είναι ένα σύνολο μαζί με μία συλλογή πράξεων στα στοιχεία του συνόλου. Παραδείγματα Δομών -- Λεξικό (βασικές πράξεις η εισαγωγή/διαγραφή στοιχείων και ο έλεγχος ανήκει/δεν ανήκει) -- Ουρές Προτεραιότητας (βασικές πράξεις η ένθεση στοιχείων, η εύρεση και διαγραφή του ελαχίστου)

Μοντέλα Μηχανής Μοντέλο Μηχανής Δεικτών (Pointer Machine)= η μνήμη αποτελείται από συλλογή εγγραφών, με κάθε εγγραφή να αποτελείται από μία συλλογή από κελιά. Κάθε κελί έχει ένα τύπο (pointer, integer, real) και η προσπέλαση κελιών γίνεται με χρήση δεικτών. RAM Μοντέλο Υπολογισμού= η μνήμη αποτελείται από ένα πίνακα από κελιά, όπου κάθε κελί προσπελαύνεται με τη διεύθυνσή του. Υποθέτουμε ότι κάθε κελί μπορεί να περιέχει αριθμούς αυθαίρετου μεγέθους και ότι οι βασικές αριθμητικές πράξεις και πράξεις δεικτών παίρνουν σταθερό χρόνο (uniform cost assumption). Μετρικές Εκτίμησης Απόδοσης Χωρική, χρονική πολυπλοκότητα.

Χρονική Πολυπλοκότητα Ανάλυση μέσης περίπτωσης (average case analysis)= μία πιθανοτική κατανομή τίθεται στις πράξεις ενός αφηρημένου τύπου δεδομένων και το μέσο κόστος των πράξεων υπολογίζεται. Ανάλυση Χειρότερης Περίπτωσης (worst case analysis)= υπολογίζονται πολυπλοκότητες χειρότερης περίπτωσης για κάθε πράξη. Ανάλυση Επιμερισμένης Πολυπλοκότητας= υπολογίζεται το συνολικό κόστος μίας ακολουθίας πράξεων και επιμερίζεται το κόστος σε καθεμία πράξη.

Τεχνικές Εκτίμησης Πολυπλοκότητας Μέθοδος Άθροισης - Άμεσος υπολογισμός του κόστους μίας ακολουθίας πράξεων μέσω ενός συνδυαστικού τύπου Μέθοδος Τραπεζίτη – Θεωρούμε ότι υπάρχει ένας τραπεζικός λογαριασμός συνδεδεμένος με κάθε δομή δεδομένων που αναλύουμε. Σε κάθε πράξη συσχετίζουμε μία ενέργεια ανάληψης και κατάθεσης χρημάτων. Μέθοδος Φυσικού – Αναθέτουμε σε κάθε στγμιότυπο της δομής μία συνάρτηση που λαμβάνει θετικές πραγματικές τιμές και ονομάζεται συνάρτηση δυναμικού.

Το πρόβλημα του Λεξικού Ορισμός Είδη Δομών Comparison Based Δομές Δεδομένων Representation Based Δομές Δεδομένων

Είδη Δομών Δεδομένων Implicit Δομές Δεδομένων (πίνακας στοιχείων) Χρήση Περιστρεφόμενων Λιστών, έμμεση κωδικοποίηση δεικτών -> Ο((logn) 2 ) χρόνο ανά ψάξιμο και πράξη ενημέρωσης (Munro) O(logn) χρόνο ανά ψάξιμο και πράξη ενημέρωσης (Francescinni) Είδη Δομών Comparison Based Δομές Δεδομένων - Static - Dynamic (weight balanced, height balanced) Representation Based Δομές Δεδομένων - Interpolation Search - Tries - Hashing

Το Weighted Dictionary Πρόβλημα Πράξεις: - Access(x,S), O(log(W/w)) - Insert(x,S)O(log(W+w/min(w,w -,w + )) - Delete(x,S)O(log(W/min(w,w - )) - Join(S 1,S 2 )O(log((w 1 +w 2 )/w)) - Split(x,S)O(log(W/w)) - ChangeWeight(x,S,δ)Ο(log(W+δ)/w)) Amortized complexity αν χρησιμοποιηθούν splay trees. Worst Case Complexity αν χρησιμοποιηθούν biased trees.

Union-Split-Find Πρόβλημα Διαχειριζόμαστε μία διαμέριση του σύμπαντος U={1,..,n}με την υποστήριξη των ακόλουθων πράξεων: (1) Find(x): επέστρεψε το όνομα του συνόλου που περιέχει το x (2) Union(A,B): συγχώνευσε τα δύο σύνολα Α,Β σε ένα νέο σύνολο\ (3) Split(A,x): διέσπασε το Α σε δύο υποσύνολα Union-Find πρόβλημα, Split-Find πρόβλημα Ο(α(m,n))=min{z  1: A(z,4  m/n  )>logn} όπου A(i,0)=1, για κάθε i Α(0,x)=2x, για κάθε x Α(i+1,x+1)=A(i,A(i+1,x)) για κάθε i,x. Interval Union Split Find Πρόβλημα Upper and Lower Bounded by θ(loglogn) vEB Data Structure

Ουρές Προτεραιότητας Βασικές πράξεις: (1) Makequeue (2) Insert(i,h) (3) Findmin(h) (4) Deleremin(h) (5) Meld(h 1,h 2 ) (6) Decreasekey(d,i,h) (7) Delete(i,h) Heap-ordered(2-3) δέντρα, leftist δέντρα, binomial queues, self adjusting heaps, pairing heaps, Fibonacci Heaps, Relaxed Heaps.

Nearest Common Ancestor static off-line version static on-line version linking roots version linking and cutting version dynamic trees version

Τεχνικές Δυναμοποίησης Θεωρείστε μία δομή με χρόνο προεπεξεργασίας P s (n), χρόνο ερώτησης Q s (n), και χώρου S s (n) έτσι ώστε οι συναρτήσεις Q s (n), P s (n)/n, S s (n)/n να είναι αύξουσες. Είναι εφικτή η δυναμοποίηση και παραγωγή μίας δομής με χρονικές lognQ s (n) χρονική πολυπλοκότητα, lognP s (n)/n χρόνο ενθέσεως και χώρο S s (n).