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

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
3.4 Στοίβα (stack) (μόνο θεωρία)
Advertisements

ΓΡΑΜΜΑΤΙΚΕΣ ΧΩΡΙΣ ΣΥΜΦΡΑΖΟΜΕΝΑ I
ΕΝΤΟΛΕΣ.
ΥΛΙΚΟ ΥΠΟΛΟΓΙΣΤΗ.
-Στοίβα-Ουρά - Πλεονεκτήματα πινάκων -Δομές δεδομένων δευτερεύουσας μνήμης -Πληροφορική και δεδομένα -Παραδείγματα-Προβλήματα ψευδοκώδικα.
ΣΤΟΙΧΕΙΑ ΨΕΥΔΟΚΩΔΙΚΑ ΒΑΣΙΚΕΣ ΔΟΜΕΣ ΒΑΣΙΚΟΙ ΑΛΓΟΡΙΘΜΟΙ ΠΙΝΑΚΩΝ
Επιλογή Διδάσκοντες: Σ. Ζάχος, Δ. Φωτάκης Επιμέλεια διαφανειών: Δ. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο.
Εργασία Η υλοποίηση του αλγορίθμου συγχώνευσης θα πρέπει να χρησιμοποιεί την ιδέα των ροών (streams). Θα πρέπει να υπάρχουν δύο διαφορετικά είδη.
ΕΙΣΑΓΩΓΗ ΜΑΘΗΜΑ 1.
ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ ΣΧΟΛΗ ΕΠΙΣΤΗΜΩΝ ΤΗΣ ΑΓΩΓΗΣ ΠΑΙΔΑΓΩΓΙΚΟ ΤΜΗΜΑ Δ.Ε.. Η ΕΞΕΛΙΞΗ ΤΗΣ ΜΑΘΗΣΗΣ & Η ΑΠΟΜΝΗΜΟΝΕΥΣΗ ΤΩΝ ΑΠΛΩΝ ΠΡΑΞΕΩΝ ΤΗΣ ΠΡΟΣΘΕΣΗΣ ΚΑΙ ΤΗΣ.
Εισαγωγή στις Αρχές της Επιστήμης των Η/Υ» Β΄ τάξης Γενικού Λυκείου
Διαχείριση μνήμης Υπόβαθρο Εναλλαγή Συνεχής κατανομή Σελιδοποίηση
ΜΑΘΗΜΑ: ΣΧΕΔΙΑΣΗ ΑΛΓΟΡΙΘΜΩΝ ΔΙΔΑΣΚΩΝ: Π. ΚΑΤΣΑΡΟΣ Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου 2015Δευτέρα, 12 Ιανουαρίου.
Μεταβλητές – εντολές εκχώρησης- δομή ακολουθίας
ΘΕΜΑΤΙΚΗ ΕΝΟΤΗΤΑ 2: ΘΕΜΑΤΑ ΘΕΩΡΗΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ Η/Υ
Στοίβα, Ουρά.
ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ
Alpha-Beta Pruning for Games with Simultaneous Moves Abdallah Saffidine, Hilmar Finnsson, Michael Buro Παρουσίαση: Βάλβης Δημήτριος Εργασία στο μάθημα.
TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A A A Ουρά Προτεραιότητας (priority queue) Δομή δεδομένων που υποστηρίζει.
Αλγόριθμοι Ταξινόμησης
ΜΑΘΗΜΑ: ΣΧΕΔΙΑΣΗ ΑΛΓΟΡΙΘΜΩΝ ΔΙΔΑΣΚΩΝ: Π. ΚΑΤΣΑΡΟΣ Πέμπτη, 2 Απριλίου 2015Πέμπτη, 2 Απριλίου 2015Πέμπτη, 2 Απριλίου 2015Πέμπτη, 2 Απριλίου 2015Τμ. Πληροφορικής,
Μοντέλα - Αλγόριθμοι – Ταξινόμηση Advanced Data Indexing (Προηγμένη ευρετηρίαση δεδομένων)
Αναζήτηση – Δέντρα (2 ο Μέρος) Advanced Data Indexing (Προηγμένη ευρετηρίαση δεδομένων)
ΘΕΜΑΤΙΚΗ ΕΝΟΤΗΤΑ 2: ΘΕΜΑΤΑ ΘΕΩΡΗΤΙΚΗΣ ΕΠΙΣΤΗΜΗΣ Η/Υ
Λεξικό, Union – Find Διδάσκοντες: Σ. Ζάχος, Δ. Φωτάκης Επιμέλεια διαφανειών: Δ. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο.
Η Δομή Επανάληψης οι 3 Δομές Επανάληψης ή αλλιώς οι τρεις σωματοφύλακες… Η παρουσίαση της εντολής Μέχρις_ότου είναι από την εισήγηση των κ. Σ. Δουκάκη.
Quicksort Διδάσκοντες: Σ. Ζάχος, Δ. Φωτάκης Επιμέλεια διαφανειών: Δ. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο.
ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΑΛΓΟΡΙΘΜΩΝ
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Εισαγωγή στην Επεξεργασία Ερωτήσεων.
ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ
Κεφάλαιο 10 – Υποπρογράμματα
ΕΠΛ 231 – Δομές Δεδομένων και Αλγόριθμοι
ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ §3.7 ΤΑΞΙΝΟΜΗΣΗ
Μέγιστη ροή TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA A AA A A Συνάρτηση χωρητικότητας Κατευθυνόμενο γράφημα.
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Επεξεργασία Ερωτήσεων.
ΚΕΦΑΛΑΙΟ Τι είναι αλγόριθμος
ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ Διδάσκοντες:Στάθης Ζάχος Νίκος Παπασπύρου
Κεφάλαιο 3ο Δομές Δεδομένων.
Advanced Data Indexing (Προηγμένη ευρετηρίαση δεδομένων) Ροές Δεδομένων (3 ο Μέρος)
Συνδετικότητα γραφήματος (graph connectivity). α β Υπάρχει μονοπάτι μεταξύ α και β; Παραδείγματα: υπολογιστές ενός δικτύου ιστοσελίδες ισοδύναμες μεταβλητές.
ΠΑΡΑΔΕΙΓΜΑ: ΤΑ ΕΠΙΠΕΔΑ ΥΛΙΚΟΥ – ΛΟΓΙΣΜΙΚΟΥ ΣΕ ΕΝΑΝ ΥΠΟΛΟΓΙΣΤΗ.
Καταχωρητές (Registers) (1/3) Εισαγωγή στην Πληροφορκή1 Οι Καταχωρητές (Registers) είναι ειδικές θέσεις μνήμης υψηλής ταχύτητας που χρησιμοποιούνται για.
ΔΟΜΗ ΕΠΑΝΑΛΗΨΗΣ ΟΣΟ ΣΥΝΘΗΚΗ ΕΠΑΝΑΛΑΒΕ ΕΝΤΟΛΕΣ ΕΝΤΟΛΕΣΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ.
ΚΕΦΑΛΑΙΟ ΑΛΓΟΡΙΘΜΟΙ Αλγόριθμος Η έννοια του αλγορίθμου δεν συνδέεται αποκλειστικά και μόνο με προβλήματα της Πληροφορικής. Πχ συνταγή.
ΔΥΑΔΙΚΗ ΑΝΑΖΗΤΗΣΗ & ΤΑΞΙΝΟΜΗΣΗ ΜΕ ΣΥΓΧΩΝΕΥΣΗ. Δυαδική αναζήτηση (Binary search) ΔΕΔΟΜΕΝΟ: ένα μεγάλο αρχείο που περιέχει τιμές z [0,1,…,n-1] ταξινομημένες.
ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι
ΚΕΦΑΛΑΙΟ 2ο - ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΑΛΓΟΡΙΘΜΩΝ
Δομή επιλογής Πολλές φορές για να λυθεί ένα πρόβλημα πρέπει να ελεγχθεί αν ισχύει κάποια συνθήκη Παράδειγμα 2: Να διαβαστεί ένας αριθμός και να επιστραφεί.
Δυναμικός Κατακερματισμός
ΑΛΓΟΡΙΘΜΟΣ ΠΡΟΒΛΗΜΑ ΑΛΓΟΡΙΘΜΟΣ ΛΥΣΗ
ΔΟΜΗ ΑΠΛΗΣ ΕΠΙΛΟΓΗΣ ΑΝ συνθήκη_ισχύει ΤΟΤΕ εντολές ΤΕΛΟΣ_ΑΝ
Διδάσκων: Δρ. Τσίντζα Παναγιώτα
Αρχεσ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Η/Υ ΤΑξη Β΄
Μέγιστη ροή Κατευθυνόμενο γράφημα 12 Συνάρτηση χωρητικότητας
ΓΕΜΙΣΜΑ ΜΟΝΟΔΙΑΣΤΑΤΟΥ ΠΙΝΑΚΑ (Άσκηση 1)
ΣΤΟΙΒΑ.
ΑΛΓΟΡΙΘΜΟΣ.
Εντολές και δομές αλγορίθμου
Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον ΑΕΠΠ
Φοιτητής: Τσακίρης Αλέξανδρος Επιβλέπων: Ευάγγελος Ούτσιος
Ουρά Προτεραιότητας (priority queue)
Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον ΑΕΠΠ
Β.ΕΠΑΛ-Γενικής Παιδείας  ΜΑΘΗΜΑ: Εισαγωγή στης αρχές Επιστήμης των Η/Υ  ΚΕΦΑΛΑΙΟ 4: Γλώσσες Αναπαράστασης Αλγορίθμων  ΕΝΟΤΗΤΑ 4.2: Δομή Ακολουθίας 
Ερωτήματα Επιλογής σε ACCESS
οι 3 Δομές Επανάληψης ή αλλιώς οι τρεις σωματοφύλακες…
Από τη Δομή Ακολουθίας στις Δομές Επανάληψης
Εξωτερική Αναζήτηση Ιεραρχία Μνήμης Υπολογιστή Εξωτερική Μνήμη
Δυναμικός Κατακερματισμός
Δομές Δεδομένων (Data Structures)
Λήψη Αποφάσεων και Συναρτήσεις Ελέγχου
Μεταγράφημα παρουσίασης:

Δομές Δεδομένων (Data Structures) Διδάσκων: Αν. καθηγητής Χρήστος Μακρής 2610-996968 makri@ceid.upatras.gr Διδάσκων με βάση Π.Δ. 407: Ανδρέας Καναβός Kanavos@ceid.upatras.gr Διδάσκων (ΕΔΙΠ): Άρης Ηλίας aristeid@ceid.upatras.gr

Array Initialization in O(1) time Πρόβληµα: ∆ίνεται array Α [0...Ν-1], το οποίο πρέπει να αρχικοποιηθεί µε την τιµή 0, σε κάθε θέση του. Να δώσετε ένα τρόπο για να αποφευχθεί η αρχικοποίηση (O(N)).   Απάντηση: Χρησιµοποιούµε επιπλέον πίνακες AUX και S, και οι δυο µεγέθους Ν, χωρίς να χρειάζονται αρχικοποίηση. Ο S υλοποιεί µια στοίβα η οποία κρατά όλες τις θέσεις του Α που έχουν έγκυρες τιµές. Οι θέσεις του πίνακα AUX χρησιµοποιούνται για τυχαία προσπέλαση της στοίβας µε τρόπο που θα φανεί παρακάτω. Επίσης χρησιµοποιείται η µεταβλητή TOP που δείχνει στην κορυφή της στοίβας. Αρχικά TOP=-1, συνθήκη ισοδύναµη µε την αρχικοποίηση του Α µε µηδενικά.

Array Initialization in O(1) time Κατά τη διάρκεια της εκτέλεσης, διατηρούµε την εξής συνθήκη:  A[i] = s, αν και µόνο αν 0<=AUX[i]<=TOP && S[AUX[i]] = i (1)   Οπότε, όταν χρειαστεί να γράψουµε ή να διαβάσουµε µια τιµή από το Α[i], ελέγχουµε την τήρηση της παραπάνω συνθήκης. Αν επαληθεύεται, µπορούµε να συνεχίσουµε να κάνουµε την πράξη. ∆ιαφορετικά το i, πρέπει να εισαχθεί στη στοίβα και να ενηµερωθεί γι’ αυτό και ο AUX, δηλαδή TOP = TOP+1; S[TOP]= i; AUX[i] = TOP; A[i] = s;

ΜΕΡΟΣ Α ΤΑΞΙΝΟΜΗΣΗ ΣΤΗ ΔΕΥΤΕΡΕΥΟΥΣΑ ΜΝΗΜΗ ΜΕΡΟΣ Α ΤΑΞΙΝΟΜΗΣΗ ΣΤΗ ΔΕΥΤΕΡΕΥΟΥΣΑ ΜΝΗΜΗ

ΕΙΣΑΓΩΓΗ Όταν η χωρητικότητα της κύριας μνήμης δεν είναι ικανή να χωρέσει όλα τα δεδομένα που πρόκειται να ταξινομηθούν αναγκαζόμαστε να χρησιμοποιήσουμε τη δευτερεύουσα μνήμη (δίσκο,μαγνητικές ταινίες).

Αλγόριθμοι Ταξινόμησης Δευτερεύουσας Μνήμης Εξωτερική Ταξινόμηση Εξωτερική Ταξινόμηση με Επιλογή Αντικατάστασης Υποθέτουμε ότι έχουμε στη διάθεσή μας μαγνητικές ταινίες που χρησιμοποιούνται εναλλάξ ανά p για είσοδο και έξοδο δεδομένων. Η κύρια μνήμη έχει μέγεθος Μ και ταξινομούμε Ν >> Μ στοιχεία.

Εξωτερική Ταξινόμηση ΤΑΙΝΙΑ 1 AOS DMN AEX ΤΑΙΝΙΑ 2 IRT EGR LMP   ΤΑΙΝΙΑ 1 AOS DMN AEX ΤΑΙΝΙΑ 2 IRT EGR LMP ΤΑΙΝΙΑ 3 AGN GIN E

Εξωτερική Ταξινόμηση ΤΑΙΝΙΑ 4 AAGINORST ΤΑΙΝΙΑ 5 DEGGIMNNR ΤΑΙΝΙΑ 6   ΤΑΙΝΙΑ 4 AAGINORST ΤΑΙΝΙΑ 5 DEGGIMNNR ΤΑΙΝΙΑ 6 AEELMPX

Εξωτερική Ταξινόμηση Έστω Μ = 3, p = 3 Ακολουθία εισόδου προς ταξινόμηση (αγνοούμε τα κενά) “A SORTING AND MERGING EXAMPLE” Φάση B Οι p ταινίες (1-3) είναι οι ταινίες εισόδου και οι υπόλοιπες p (4-6) οι ταινίες εξόδου. Συγχώνευση:Οι ταινίες εισόδου(1-3) “ξανατυλίγονται” σε μία ταινία εξόδου, την Ταινία 1. Οι ταινίες εξόδου(4-6) γίνονται ταινίες εισόδου. Σαρώνουμε τα πρώτα στοιχεία της κάθε ταινίας και διώχνουμε το μικρότερο στην ταινία εξόδου.Στη θέση του στοιχείου που έφυγε ολισθαίνει το αμέσως επόμενο στοιχείο της ταινίας που αυτό ανήκει.

Εξωτερική Ταξινόμηση Έξοδος Α, Ολίσθηση A μία θέση αριστερά G I N O R S T D E M L P X Έξοδος Α, Ολίσθηση A μία θέση αριστερά Ταινία 1: A Έξοδος Α, Ολίσθηση G μία θέση αριστερά A G I N O R S T D E M L P X Ταινία 1: AA G I N O R S T D E M A L P X Έξοδος Α, Ολίσθηση Ε μία θέση αριστερά Ταινία 1: AAA

Εξωτερική Ταξινόμηση Έξοδος D, Ολίσθηση E μία θέση αριστερά G I N O R S T D E M L P X Έξοδος D, Ολίσθηση E μία θέση αριστερά Ταινία 1: AAAD G I N O R S T E M L P X Έξοδος E, Ολίσθηση G μία θέση αριστερά Ταινία 1: AAADE G I N O R S T M E L P X Έξοδος E, Ολίσθηση E μία θέση αριστερά Ταινία 1: AAADEE

Εξωτερική Ταξινόμηση Έξοδος E, Ολίσθηση L μία θέση αριστερά G I N O R S T M E L P X Έξοδος E, Ολίσθηση L μία θέση αριστερά Ταινία 1: AAADEEE G I N O R S T M L P X Έξοδος G, Ολίσθηση I μία θέση αριστερά Ταινία 1: AAADEEEG I N O R S T G M L P X Έξοδος G, Ολίσθηση G μία θέση αριστερά Ταινία 1: AAADEEEGG

Εξωτερική Ταξινόμηση Έξοδος G, Ολίσθηση I μία θέση αριστερά N O R S T G M L P X Έξοδος G, Ολίσθηση I μία θέση αριστερά Ταινία 1: AAADEEEGGG I N O R S T M L P X Έξοδος I, Ολίσθηση N μία θέση αριστερά Ταινία 1: AAADEEEGGGI N O R S T I M L P X Έξοδος I, Ολίσθηση M μία θέση αριστερά Ταινία 1: AAADEEEGGGII

Εξωτερική Ταξινόμηση Συνεχίζουμε την προηγούμενη διαδικασία μέχρι να εμφανιστεί ένα και μόνο μπλοκ στην έξοδο, δηλαδή στην Ταινία 1 να εμφανιστούν τα γράμματα της ακολουθίας εισόδου ταξινομημένα. Ταινία 1: AAADEEEGGGIILMMNNNOPRRSTX

Εξωτερική Ταξινόμηση με Επιλογή Αντικατάστασης Παραλλαγή της Φάσης Α του προηγούμενου αλγόριθμου. Η Φάση Β είναι ίδια με του προηγούμενου αλγόριθμου Το μέγεθος των μπλοκ που παράγονται κατά την εφαρμογή του τρέχοντος αλγορίθμου στη Φάση Α είναι κατά μέσο όρο 2-πλάσιο σε σχέση με τον προηγούμενο μειώνοντας τα βήματα συγχώνευσης. Ταξινόμηση Ακολουθίας Εισόδου: EXTERNAL SORTING

Εξωτερική Ταξινόμηση με Επιλογή Αντικατάστασης-Φάση Α HEAP ΡΙΖΑ HEAP ΕΠΟΜΕΝΟ ΕΞΟΔΟΣ ΣΧΟΛΙΑ ΕΧΤ Ε E R EE RTX N EER (N<R μπαίνε με *) N*XT T A EERT (A<T μπαίνει με *) Ν*XA* X L EERTX (1ο μπλοκ-Ταινία 1) N*L*A* A* S N*L*S* L* O A*L* N*O*S N* A*L*N* R*O*S O* A*L*N*O* R*T*S* R* I A*L*N*O*R* (I<R μπαίνει χωρίς *) ΙΤ*S* S* A*L*N*O*R*S* (N<S μπαίνει χωρίς *) IT*N T* G A*L*N*O*R*S*T* (2o μπλοκ –Ταινία 2) IGN - (3ο μπλοκ-Ταινία 3)

Εύρεση i-στού στοιχείου (1)

Εύρεση i-στού στοιχείου (2)