Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Δομές δεδομένων και Αλγόριθμοι Κεφάλαιο 3. Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον Δεδομένα Δεδομένα (data) Δεδομένα (data) –αφαιρετική αναπαράσταση.

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


Παρουσίαση με θέμα: "Δομές δεδομένων και Αλγόριθμοι Κεφάλαιο 3. Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον Δεδομένα Δεδομένα (data) Δεδομένα (data) –αφαιρετική αναπαράσταση."— Μεταγράφημα παρουσίασης:

1 Δομές δεδομένων και Αλγόριθμοι Κεφάλαιο 3

2 Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον Δεδομένα Δεδομένα (data) Δεδομένα (data) –αφαιρετική αναπαράσταση της πραγματικότητας Πληροφορία (information) Πληροφορία (information) –Συλλογή των ακατέργαστων δεδομένων και συσχετισμός τους Ο αλγόριθμος (ή ένα πρόγραμμα) είναι ένα μέσο για την παραγωγή πληροφορίας από τα δεδομένα Ο αλγόριθμος (ή ένα πρόγραμμα) είναι ένα μέσο για την παραγωγή πληροφορίας από τα δεδομένα

3 Σημασία δεδομένων, πληροφορίας και γνώσης Δεδομένα Πληροφορία Γνώση Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον

4 Θεωρία Πληροφοριών Information Theory Μέτρηση της πληροφορίας Μέτρηση της πληροφορίας Κωδικοποίηση της πληροφορίας Κωδικοποίηση της πληροφορίας Μετάδοση της πληροφορίας Μετάδοση της πληροφορίας Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον

5 Μελέτη των δεδομένων Η πληροφορική μελετά τα δεδομένα από τη σκοπιά: Η πληροφορική μελετά τα δεδομένα από τη σκοπιά: Υλικού Υλικού Γλωσσών προγραμματισμού Γλωσσών προγραμματισμού Δομών δεδομένων Δομών δεδομένων Ανάλυσης δεδομένων Ανάλυσης δεδομένων Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον

6 Κίνδυνος σύγχυσης Η Πληροφορική μελετά τους αλγορίθμους από την πλευρά… Υλικού Υλικού Γλωσσών προγραμματισμού Γλωσσών προγραμματισμού Θεωρητική Θεωρητική Αναλυτική Αναλυτική Η Πληροφορική μελετά τα δεδομένα από την πλευρά… Υλικού Υλικού Γλωσσών προγραμματισμού Γλωσσών προγραμματισμού Δομών Δεδομένων Δομών Δεδομένων Ανάλυσης δεδομένων Ανάλυσης δεδομένων Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον

7 Σπουδαιότητα αλγορίθμων Η Πληροφορική μελετά τους αλγορίθμους από τη σκοπιά Η Πληροφορική μελετά τους αλγορίθμους από τη σκοπιά Υλικού Υλικού –Η ταχύτητα εκτέλεσης του αλγορίθμου εξαρτάται από την αρχιτεκτονική και την ταχύτητα του υπολογιστή Γλωσσών Προγραμματισμού Γλωσσών Προγραμματισμού –Η γλώσσα προγραμματισμού που θα χρησιμοποιηθεί καθορίζει τη δομή και τις εντολές του αλγορίθμου Θεωρητική Θεωρητική –Διερευνά την ύπαρξη ή μη αποδοτικού αλγορίθμου για την επίλυση ενός προβλήματος Αναλυτική Αναλυτική –Υπολογίζονται οι υπολογιστικοί πόροι (μνήμη, φόρτος CPU κλπ) που απαιτούνται για την εκτέλεση ενός αλγορίθμου

8 Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον Δομή Δεδομένων Δομή Δεδομένων (data structure) είναι ένα σύνολο αποθηκευμένων δεδομένων που υφίστανται επεξεργασία από ένα σύνολο λειτουργιών Δομή Δεδομένων (data structure) είναι ένα σύνολο αποθηκευμένων δεδομένων που υφίστανται επεξεργασία από ένα σύνολο λειτουργιών Κάθε μορφή δομής δεδομένων αποτελείται από ένα σύνολο κόμβων (nodes) Κάθε μορφή δομής δεδομένων αποτελείται από ένα σύνολο κόμβων (nodes)

9 Δυαδικό δέντρο (Binary Tree) Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον

10 Δυαδικό δέντρο (Binary Tree) Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον 4713 1614 310 8

11 Εγγραφές (Records) Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον Όνομα: Παύλος Επώνυμο: Γεωργίου Έτος γέννησης: 1992 Τηλέφωνο: 2461022555 Διεύθυνση: Μακρυγιάννη 24 Όνομα: Παύλος Επώνυμο: Γεωργίου Έτος γέννησης: 1992 Τηλέφωνο: 2461022555 Διεύθυνση: Μακρυγιάννη 24 Όνομα: Νίκος Επώνυμο: Αγγέλου Έτος γέννησης: 1992 Τηλέφωνο: 2461022666 Διεύθυνση: Μακρυγιάννη 42 Όνομα: Νίκος Επώνυμο: Αγγέλου Έτος γέννησης: 1992 Τηλέφωνο: 2461022666 Διεύθυνση: Μακρυγιάννη 42 Όνομα: Κατερίνα Επώνυμο: Θεοδώρου Έτος γέννησης: 1992 Τηλέφωνο: 2461022777 Διεύθυνση: Μακρυγιάννη 52 Όνομα: Κατερίνα Επώνυμο: Θεοδώρου Έτος γέννησης: 1992 Τηλέφωνο: 2461022777 Διεύθυνση: Μακρυγιάννη 52 Όνομα: Δανάη Επώνυμο: Αργυρίου Έτος γέννησης: 1992 Τηλέφωνο: 2461022888 Διεύθυνση: Μακρυγιάννη 34 Όνομα: Δανάη Επώνυμο: Αργυρίου Έτος γέννησης: 1992 Τηλέφωνο: 2461022888 Διεύθυνση: Μακρυγιάννη 34

12 Λίστες (Lists) Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον

13 Βασικές λειτουργίες Προσπέλαση (access) Προσπέλαση (access) Εισαγωγή (insertion) Εισαγωγή (insertion) Διαγραφή (deletion) Διαγραφή (deletion) Αναζήτηση (searching) Αναζήτηση (searching) Ταξινόμηση (sorting) Ταξινόμηση (sorting) Αντιγραφή (copying) Αντιγραφή (copying) Συγχώνευση (merging) Συγχώνευση (merging) Διαχωρισμός (separation) Διαχωρισμός (separation)

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

15 Στατικές και Δυναμικές Δομές Δεδομένων Στατικές Προκαθορισμένο μέγεθος Προκαθορισμένο μέγεθος Αποθήκευση σε συνεχόμενες θέσεις μνήμης Αποθήκευση σε συνεχόμενες θέσεις μνήμης Δυναμικές Μη σταθερό μέγεθος, μεταβλητός αριθμός κόμβων Μη σταθερό μέγεθος, μεταβλητός αριθμός κόμβων Δυναμική παραχώρηση μνήμης (dynamic memory allocation) Δυναμική παραχώρηση μνήμης (dynamic memory allocation) Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον

16 Πίνακες Στατική δομή δεδομένων Στατική δομή δεδομένων Δομή που περιέχει στοιχεία του ιδίου τύπου Δομή που περιέχει στοιχεία του ιδίου τύπου Χρήση δεικτών (indexes) για την αναφορά στα στοιχεία των πινάκων Χρήση δεικτών (indexes) για την αναφορά στα στοιχεία των πινάκων

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

18 Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον Μονοδιάστατοι πίνακες Παράδειγμα: Καταγραφή των θερμοκρασιών για κάθε ημέρα ενός μήνα Παράδειγμα: Καταγραφή των θερμοκρασιών για κάθε ημέρα ενός μήνα Αποθηκεύουμε τις θερμοκρασίες σε πίνακα Θ, 30 στοιχείων Αποθηκεύουμε τις θερμοκρασίες σε πίνακα Θ, 30 στοιχείων Το i-οστό στοιχείο του πίνακα είναι το Θ[i] Το i-οστό στοιχείο του πίνακα είναι το Θ[i] 17 19 21 20 19 15 10 9 8 Θ[1] Θ[2] Θ[3] Θ[4] Θ[5] Θ[6] Θ[7] Θ[8] Θ[9]

19 Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον Μονοδιάστατοι πίνακες ΠΡΟΓΡΑΜΜΑ Θερμοκρασίες ΜΕΤΑΒΛΗΤΕΣ ΑΚΕΡΑΙΕΣ: Θ[30], ι ΑΚΕΡΑΙΕΣ: Θ[30], ιΑΡΧΗ ΓΙΑ ι ΑΠΟ 1 ΜΕΧΡΙ 30 ΓΙΑ ι ΑΠΟ 1 ΜΕΧΡΙ 30 ΔΙΑΒΑΣΕ Θ[ι] ΔΙΑΒΑΣΕ Θ[ι] ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣ ΤΕΛΟΣ_ΕΠΑΝΑΛΗΨΗΣΤΕΛΟΣ_ΠΡΟΓΡΑΜΜΑΤΟΣ 17 19 21 20 19 15 10 9 8 Θ[1] Θ[2] Θ[3] Θ[4] Θ[5] Θ[6] Θ[7] Θ[8] Θ[9]

20 Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον Δισδιάστατοι πίνακες Παράδειγμα δισδιάστατου πίνακα: Θερμοκρασίες για μια εβδομάδα, για τέσσερις πόλεις Παράδειγμα δισδιάστατου πίνακα: Θερμοκρασίες για μια εβδομάδα, για τέσσερις πόλεις Θ[4,7] Θ[4,7] ΔΤΤΠΠΣΚ Αθήνα 26 24 302825 Θεσσαλονίκη 24 2223282724 Ηράκλειο 27282524323128 Γιάννενα 2224192025 22

21 Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον Πολυδιάστατοι πίνακες Θερμοκρασίες, για πολλές πόλεις, για ένα συγκεκριμένο μήνα, για πολλές χρονιές Θερμοκρασίες, για πολλές πόλεις, για ένα συγκεκριμένο μήνα, για πολλές χρονιές Θ[4, 30, 3] Θ[4, 30, 3]

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

23 Μειονεκτήματα πινάκων Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον

24 Δυναμική παραχώρηση μνήμης Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον

25 Τυπικές επεξεργασίες πινάκων Υπολογισμός αθροισμάτων στοιχείων του πίνακα Υπολογισμός αθροισμάτων στοιχείων του πίνακα Εύρεση του μέγιστου ή του ελάχιστου στοιχείου Εύρεση του μέγιστου ή του ελάχιστου στοιχείου Ταξινόμηση των στοιχείων του πίνακα Ταξινόμηση των στοιχείων του πίνακα Αναζήτηση ενός στοιχείου του πίνακα Αναζήτηση ενός στοιχείου του πίνακα Συγχώνευση δύο πινάκων Συγχώνευση δύο πινάκων

26 Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον Τι να διαβάσετε Κεφάλαιο 3 Κεφάλαιο 3 –§§ 3.1 έως 3.3 (σελίδες 53-59) Κεφάλαιο 9 Κεφάλαιο 9 –§§ 9.1 έως 9.4 (σελίδες 185-200)


Κατέβασμα ppt "Δομές δεδομένων και Αλγόριθμοι Κεφάλαιο 3. Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον Δεδομένα Δεδομένα (data) Δεδομένα (data) –αφαιρετική αναπαράσταση."

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


Διαφημίσεις Google