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

Σχετικά έγγραφα
ΚΕΦΑΛΑΙΟ 3 ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΑΛΓΟΡΙΘΜΟΙ

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ

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

Κάθε στοιχείο που γίνεται αντιληπτό με μία από τις πέντε αισθήσεις μας

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

Ερωτήσεις πολλαπλής επιλογής - Κεφάλαιο Κάθε δομή μπορεί να χρησιμοποιηθεί σε οποιοδήποτε πρόβλημα ή εφαρμογή

3 ΟΥ και 9 ΟΥ ΚΕΦΑΛΑΙΟΥ

ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ & ΑΛΓΟΡΙΘΜΟΙ. Πίνακες και βασικές επεξεργασίες αυτών

Οι βασικές λειτουργίες (ή πράξεις) που γίνονται σε μια δομή δεδομένων είναι:

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ

Προγραμματισμός Η/Υ. Δομές Δεδομένων. ΤΕΙ Ιονίων Νήσων Τμήμα Τεχνολόγων Περιβάλλοντος Κατεύθυνση Τεχνολογιών Φυσικού Περιβάλλοντος

Ενδεικτικές Ερωτήσεις Θεωρίας

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ Κεφάλαιο 3 ο. Πίνακες. Επικοινωνία:

ENOTHTA 3 ΟΜΕΣ Ε ΟΜΕΝΩΝ

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ

Πίνακες. Ι.Ε.Κ ΓΛΥΦΑΔΑΣ Τεχνικός Τεχνολογίας Internet Αλγοριθμική Ι (Ε) Σχολ. Ετος A Εξάμηνο

Ορισµοί κεφαλαίου. Σηµαντικά σηµεία κεφαλαίου

Δομές Δεδομένων. Τι είναι η δομή δεδομένων; Έστω η ακολουθία αριθμών: 8, 10,17,19,22,5,12 Λογικό Επίπεδο. Φυσικό Επίπεδο RAM. Ταξινομημένος.

7 ο ΓΕΛ Καλλιθέας Οδηγός Α.Ε.Π.Π. ΚΕΦΑΛΑΙΟ 3 ο

Διαδικασιακός Προγραμματισμός

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

Έστω ένας πίνακας με όνομα Α δέκα θέσεων : 1 η 2 η 3 η 4 η 5 η 6 η 7 η 8 η 9 η 10 η

ΘΕΜΑ Α. Λύση: 1. Σωστό, 2. Λάθος, 3. Σωστό, 4. Λάθος, 5. Λάθος. Ποια η διαφορά μεταξύ διερμηνευτή και μεταγλωττιστή; Απάντηση:

ΔΙΑΓΩΝΙΣΜΑ ΣΤΗΝ Α.Ε.Π.Π. Γ ΤΕΧΝΟΛΟΓΙΚΗΣ. Όνομα:.. Βαθμός: /100

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ. 1 ο ΚΕΦΑΛΑΙΟ

Περιεχόμενα. Δομές δεδομένων. Τεχνικές σχεδίασης αλγορίθμων. Εισαγωγή στον προγραμματισμό. Υποπρογράμματα. Επαναληπτικά κριτήρια αξιολόγησης

Φίλη μαθήτρια, φίλε μαθητή,

ΚΕΦΑΛΑΙΟ ΙΙΙ ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΑΛΓΟΡΙΘΜΟΙ

ΣΕΙΡΑ: ΗΜΕΡΟΜΗΝΙΑ: 05/03/2012 ΑΠΑΝΤΗΣΕΙΣ. ΘΕΜΑ Α Α1. Α2. 1. ΣΩΣΤΟ 1 στ 2. ΛΑΘΟΣ 2 δ 3. ΣΩΣΤΟ 3 ε 4. ΛΑΘΟΣ 4 β 5. ΣΩΣΤΟ 5 γ

Οι δομές δεδομένων στοίβα και ουρά

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ Κεφάλαιο 3 ο

Να γράψετε στο τετράδιό σας τον αριθμό κάθε πρότασης και τον αντίστοιχο χαρακτηρισμό ( Σ - σωστό, Λ - λάθος)

I. ΑΛΓΟΡΙΘΜΟΣ II. ΠΡΑΞΕΙΣ - ΣΥΝΑΡΤΗΣΕΙΣ III. ΕΠΑΝΑΛΗΨΕΙΣ. 1. Τα πιο συνηθισμένα σενάρια παραβίασης αλγοριθμικών κριτηρίων είναι:

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ Γ ΛΥΚΕΙΟΥ ΤΕΧΝΟΛΟΓΙΚΗ ΚΑΤΕΥΘΥΝΣΗ

Αν ένα πρόβλημα λύνεται από δύο ή περισσότερους αλγόριθμους, ποιος θα είναι ο καλύτερος; Με ποια κριτήρια θα τους συγκρίνουμε;

ΘΕΜΑ 1 Ο Α1. Δίνονται οι παρακάτω εντολές από ένα τμήμα προγράμματος:

Προγραµµατιστικές Τεχνικές

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ ΟΝΟΜΑΤΕΠΩΝΥΜΟ:

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

Επανάληψη Θεωρίας. Καστούμης Γιώργος

ΣΗΜΕΙΩΣΕΙΣ ΘΕΩΡΙΑΣ ΚΕΦΑΛΑΙΟ 3 ΠΡΟΣΘΗΚΗ

ΕΝΔΕΙΚΤΙΚΕΣ ΑΠΑΝΤΗΣΕΙΣ ΘΕΜΑ Α Α1. 1 ΣΩΣΤΟ 2 ΛΑΘΟΣ 3 ΛΑΘΟΣ 4 ΛΑΘΟΣ 5 ΣΩΣΤΟ

Αλγόριθµοι Αναζήτησης και Ταξινόµησης

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ ΟΝΟΜΑΤΕΠΩΝΥΜΟ:

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ ΣΧΟΛΙΚΟΥ ΕΤΟΥΣ

Α1. Στον προγραµµατισµό χρησιµοποιούνται δοµές δεδοµένων. 1. Τι είναι δυναµική δοµή δεδοµένων; Μονάδες 3 2. Τι είναι στατική δοµή δεδοµένων;

ΕΡΩΤΗΣΕΙΣ ΑΞΙΟΛΟΓΗΣΗΣ

Α2. Να γράψετε καθένα από τους αριθμούς της Στήλης Α και δίπλα ένα γράμμα της Στήλης Β, ώστε να προκύπτει η σωστή αντιστοίχιση.

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

Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον. Διάρκεια 3 ώρες. Όνομα... Επώνυμο... Βαθμός...

ΑΡΧΗ 1ης ΣΕΛΙΔΑΣ ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ : ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΤΑΞΗ / ΤΜΗΜΑ : Γ ΛΥΚΕΙΟΥ ΔΙΑΓΩΝΙΣΜΑ ΠΕΡΙΟΔΟΥ : ΜΑΡΤΙΟΣ 2018 ΣΥΝΟΛΟ ΣΕΛΙΔΩΝ : 6 (ΕΞΙ)

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ Κεφάλαιο 7 ο Τι πρέπει να έχουμε υπ όψιν μας για την επιλογή της κατάλληλης γλώσσας προγραμματισμού;

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ ΟΝΟΜΑΤΕΠΩΝΥΜΟ:

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ Γ ΛΥΚΕΙΟΥ ΗΜΕΡΟΜΗΝΙΑ: 6/04/2014

Προγραμματισμός Η/Υ. Αναζήτηση & Ταξινόμηση. ΤΕΙ Ιονίων Νήσων Τμήμα Τεχνολόγων Περιβάλλοντος Κατεύθυνση Τεχνολογιών Φυσικού Περιβάλλοντος

ΑΛΓΟΡΙΘΜΟΙ. Τι είναι αλγόριθμος

ΤΕΛΟΣ 1ΗΣ ΑΠΟ 5 ΣΕΛΙΔΕΣ

Πληροφορική 2. Αλγόριθμοι

2.2.5 ΑΝΑΠΑΡΑΣΤΑΣΗ ΑΛΓΟΡΙΘΜΟΥ

ΠΑΝΕΛΛΑΔΙΚΕΣ ΕΞΕΤΑΣΕΙΣ Α.Ε.Π.Π. ΠΡΟΣΑΝΑΤΟΛΙΣΜΟΥ Γ ΛΥΚΕΙΟΥ Θέματα και Απαντήσεις

ΕΚΠΑΙΔΕΥΤΗΡΙΑ ΝΕΑ ΠΑΙΔΕΙΑ

Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον. Κεφάλαια 2,7,8

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

ΘΕΜΑΤΑ ΠΡΟΣΟΜΟΙΩΣΗΣ ΠΑΝΕΛΛΑΔΙΚΩΝ ΕΞΕΤΑΣΕΩΝ Γ ΤΑΞΗΣ ΗΜΕΡΗΣΙΟΥ ΓΕΝΙΚΟΥ ΛΥΚΕΙΟΥ ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ: ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ

8. Η δημιουργία του εκτελέσιμου προγράμματος γίνεται μόνο όταν το πηγαίο πρόγραμμα δεν περιέχει συντακτικά λάθη.

ΠΡΟΣ: Τηλέφωνο: Ινστιτούτο Εκπαιδευτικής Πολιτικής ΚΟΙΝ.:

ΘΕΜΑ Α ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ

Ερωτήσεις πολλαπλής επιλογής - Κεφάλαιο 2

ΤΕΛΟΣ 1ΗΣ ΑΠΟ 5 ΣΕΛΙ ΕΣ

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ

Επιλέξτε Σωστό ή Λάθος για καθένα από τα παρακάτω:

Ταξινόμηση. Ταξινόμηση ευθείας ανταλλαγής (Φυσαλίδα) 1) Να ταξινομηθεί ο πίνακας Α[Ν] σε αύξουσα σειρά με τη μέθοδο της φυσαλίδας.

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ ΠΡΟΣΟΜΟΙΩΣΗΣ ΠΑΝΕΛΛΑΔΙΚΩΝ ΣΧΟΛΙΚΟΥ ΕΤΟΥΣ

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΑΝΑΛΗΠΤΙΚΟ ΔΙΑΓΩΝΙΣΜΑ ΠΡΟΣΟΜΟΙΩΣΗΣ ΠΑΝΕΛΛΑΔΙΚΩΝ ΣΧΟΛΙΚΟΥ ΕΤΟΥΣ

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

μεταβλητής Χ Χ ΑΛΗΘΗΣ Χ Χ 7 > 4 Χ ΨΕΥ ΗΣ Μονάδες 10 ΑΡΧΗ 1ΗΣ ΣΕΛΙ ΑΣ - ΕΣΠΕΡΙΝΩΝ

ΠΕΡΙΕΧΟΜΕΝΑ Δεδομένα Αλγόριθμοι + Δομές δεδομένων = Προγράμματα Πίνακες Στοίβα και ουρά Αναζήτηση και Ταξινόμηση Αναδρομή Αλλες δομές δεδομένων

ΚΕΦΑΛΑΙΟ 3 Ο ΟΜΕΣ Ε ΟΜΕΝΩΝ ΚΑΙ ΑΛΓΟΡΙΘΜΟΙ

ΤΡΙΩΡΗ ΓΡΑΠΤΗ ΔΟΚΙΜΑΣΙΑ

ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ : ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΑΞΗ : Γ ΛΥΚΕΙΟΥ ΣΠΟΥΔΕΣ ΟΙΚΟΝΟΜΙΑΣ & ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΜΗΜΑ: Γ2

10. Με πόσους και ποιους τρόπους μπορεί να αναπαρασταθεί ένα πρόβλημα; 11. Περιγράψτε τα τρία στάδια αντιμετώπισης ενός προβλήματος.

Τελικός Κύκλος Διαγωνισμάτων Γ ΛΥΚΕΙΟΥ Κυριακή 17 Απριλίου 2016 Μάθημα: Α.Ε.Π.Π. KTIΡΙΟ ΤΜΗΜΑΤΑ ΚΑΛΟΚΑΙΡΙΝΑ ΑΡΓΥΡΟΥΠΟΛΗΣ - ΗΛΙΟΥΠΟΛΗΣ - ΓΛΥΦΑΔΑΣ

Γ ΚΥΚΛΟΣ ΠΡΟΣΟΜΟΙΩΤΙΚΩΝ ΔΙΑΓΩΝΙΣΜΑΤΩΝ ΣΥΓΧΡΟΝΟ Προτεινόμενα Θέματα Γ ΓΕ.Λ. Ιανουάριος Ανάπτυξη Εφαρμογών ΘΕΜΑ Α

σας φύλλο τον αριθμό της ερώτησης ακολουθούμενη από το γράμμα Σ (Σωστή) ή το γράμμα Λ (Λάθος).

ΦΡΟΝΤΙΣΤΗΡΙΟ Δ.Ε «ΘΕΜΕΛΙΟ» ΕΛΕΥΣΙΝΑΣ

ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ : ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΑΞΗ : Γ ΛΥΚΕΙΟΥ ΣΠΟΥΔΕΣ ΟΙΚΟΝΟΜΙΑΣ & ΠΛΗΡΟΦΟΡΙΚΗΣ

8. Λεξιλόγιο μιας γλώσσας είναι όλες οι ακολουθίες που δημιουργούνται από τα στοιχεία του αλφαβήτου της γλώσσας, τις λέξεις.

ΑΡΧΗ 1ΗΣ ΣΕΛΙ ΑΣ ΜΟΝΟ ΝΕΟ ΣΥΣΤΗΜΑ ΕΣΠΕΡΙΝΩΝ

Α1. Στον προγραµµατισµό χρησιµοποιούνται δοµές δεδοµένων. 1. Τι είναι δυναµική δοµή δεδοµένων; Μονάδες 3 2. Τι είναι στατική δοµή δεδοµένων;

i 1 Όσο i <> 100 επανάλαβε i i + 2 Γράψε A[i] Τέλος_επανάληψης

μεταβλητής Χ Χ ΑΛΗΘΗΣ Χ Χ 7 > 4 Χ ΨΕΥ ΗΣ Μονάδες 10 EKΠΑΙΔΕΥΣΗ: Με Οράματα και Πράξεις για την Παιδεία -1-

Ταξινόμηση. Ταξινόμηση ευθείας ανταλλαγής (Φυσαλίδα) 1) Να ταξινομηθεί ο πίνακας Α[Ν] σε αύξουσα σειρά με τη μέθοδο της φυσαλίδας.

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

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

Θέματα ΑΕΠΠ Πανελλήνιες Εξετάσεις 2006

ΠΑΝΕΛΛΗΝΙΕΣ ΕΞΕΤΑΣΕΙΣ Γ ΤΑΞΗΣ ΗΜΕΡΗΣΙΟΥ ΓΕΝΙΚΟΥ ΛΥΚΕΙΟΥ ΤΕΤΑΡΤΗ 12 ΙΟΥΝΙΟΥ 2019 ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ: ΑΝΑΠΤΥΞΗ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ

Αλγόριθμοι Αναζήτησης. (AeppAcademy.com)

Transcript:

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

ΔΕΔΟΜΕΝΑ ΑΛΓΟΡΙΘΜΟΙ -ΠΛΗΡΟΦΟΡΙΑ: Δεδομένα: Αναπαράσταση της Πραγματικότητας Μπορούν να γίνουν αντιληπτά με μια από τις αισθήσεις μας Πληροφορία: Προκύπτει από την επεξεργασία και συσχέτιση των Δεδομένων. Αλγόριθμος: Το μέσο για την παραγωγή πληροφορίας από τα δεδομένα

Δεδομένα Αλγόριθμος Πληροφορία Θερμοκρασία Υγρασία Αλγόριθμος Ταχύτητα Ανέμου Διεύθυνση Ανέμου Δορυφορικές Φωτογραφίες Δελτίο Καιρού

Δεδομένα Επεξεργασία - Αλγόριθμος Πληροφορία Προφορικοί Βαθμοί Αλγόριθμος Αποτελέσματα Βαθμοί Γραπτών Εξετάσεων

Δεδομένα και Πληροφορία Βαθμοί Εξετάσεων Επεξεργασία Αποτελέσματα Αποθήκευση Σχολή στην οποία επέτυχε ο μαθητής Επεξεργασία Αποτελέσματα Προτιμήσεις Σχολών

Πληροφορική: Η Επιστήμη που μελετά τα δεδομένα από τις ακόλουθες σκοπιές: - Υλικού: Επιτρέπει στα δεδομένα να αποθηκεύονται π.χ. στην κύρια μνήμη ή την περιφερειακή μνήμη με διάφορες αναπαραστάσεις (π.χ. Κώδικας ASCII) - Γλώσσες Προγραμματισμού: Επιτρέπουν τη χρήση διαφόρων τύπων μεταβλητών για να περιγράψουν τα δεδομένα (π.χ. Λογικές, Ακέραιες) - Δομές Δεδομένων: Ένα σύνολο δεδομένων μαζί με τις λειτουργίες που επιτρέπονται σε αυτά. Π.χ. Αρχείο που επιτρέπει τη σειριακή προσπέλαση των εγγραφών του. - Ανάλυση Δεδομένων: Μελετώνται τρόποι καταγραφής και αλληλοσυσχέτισης δεδομένων ώστε να αναπαρασταθεί η γνώση για πραγματικά γεγονότα.

Ορισμός: Δομή Δεδομένων ένα σύνολο αποθηκευμένων δεδομένων που υφίστανται επεξεργασία από ένα σύνολο λειτουργιών. Στη γενική μορφή της κάθε δομή δεδομένων αποτελείται από κόμβους (nodes) πάνω στους οποίους μπορούμε να εκτελούμε κάποιες πράξεις λειτουργίες: - Πρόσβαση (σε κόμβο για ανάγνωση ή τροποποίηση) - Εισαγωγή (νέου κόμβου) - Διαγραφή (υπάρχοντος κόμβου) - Αναζήτηση (αναζήτηση ενός ή περισσότερων κόμβων που έχουν μια επιθυμητή ιδιότητα) - Ταξινόμηση (Διάταξη κατά αύξουσα ή φθίνουσα σειρά των κόμβων) - Αντιγραφή ενός ή περισσότερων κόμβων από μια δομή σε άλλη - Συγχώνευση (merging) δύο ή περισσότερες δομές ενώνονται σε μια - Διαχωρισμός (separation) μια δομή «σπάει» σε δύο ή περισσότερες.

Στην πράξη σπάνια χρησιμοποιούνται ΟΛΕΣ οι ενέργειες σε μία δομή. Στην πράξη κάθε δομή είναι αποδοτικότερη σε κάποιες από τις λειτουργίες (π.χ. Εισαγωγή νέου κόμβου) και λιγότερο αποδοτική σε άλλες (π.χ. Ταξινόμηση). Αυτός είναι και ο λόγος που στην πράξη χρησιμοποιούμε διάφορες δομές δεδομένων ανάλογα με τις απαιτήσεις μας. ΠΡΟΓΡΑΜΜΑΤΑ = ΑΛΓΟΡΙΘΜΟΙ + ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ (Wirth Δημιουργός της Γλώσσας Pascal)

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

Πίνακες: Μια ΣΤΑΤΙΚΗ Δομή Δεδομένων γνωστή μας και από άλλα μαθήματα (μαθηματικά). Είναι μια δομή με προκαθορισμένο μέγεθος και περιέχει στοιχεία ίδιου τύπου (π.χ. Ακέραιους αριθμούς). Διαστάσεις: 1, 2, 3... a[1] a[2] a[3] a[4] a[5] a[1,1] a[1,2] a[1,3] a[1,4] a[2,1] a[2,2] a[2,3] a[2,4] a[3,1] a[3,2] a[3,3] a[3,4]

Στοίβα Εισαγωγή D Push Εξαγωγή D Pull C B A D C B A C B A

Στοίβα Υλοποίηση με μονοδιάστατο πίνακα 3 2 1 C B A Top 3 2 1 B A Top 2 4 3 2 1 D C B A Top 4

Ουρά 5 12 7 4 Εμπρός Front Πίσω Rear Προσθήκη 5 12 7 4 8 Εμπρός Front Πίσω Rear 12 7 4 8 Αφαίρεση Εμπρός Front Πίσω Rear

Ουρά Υλοποίηση με Μονοδιάστατο Πίνακα 5 12 7 4 Front = 2 Rear = 5 Προσθήκη 5 12 7 4 8 Front = 2 Rear = 6 12 7 4 8 Αφαίρεση Front = 3 Rear = 6

Αναζήτηση σε πίνακα. Το πρόβλημα της αναζήτησης μιας τιμής σε πίνακα παρουσιάζει ιδιαίτερο ενδιαφέρον και έχει πολλές πρακτικές εφαρμογές. Υπάρχουν αρκετές μέθοδοι αναζήτησης που εξαρτώνται από διάφορους παράγοντες όπως αν τα στοιχεία του πίνακα είναι ταξινομημένα, αν είναι όλα διαφορετικά μεταξύ τους ή υπάρχουν και ίδια κλπ Η πιο απλή μέθοδος είναι η σειριακή (sequential) ή γραμμική (linear) μέθοδος με την οποία ψάχνουμε με τη σειρά τα στοιχεία του πίνακα μέχρι να βρούμε το επιθυμητό ή να εξαντληθούν οι θέσεις του πίνακα.

Αλγόριθμος Σειριακής Αναζήτησης. Αλγόριθμος Sequential Search Δεδομένα // n, table, key // done ψευδής position 0 i 1 Όσο (done = ψευδής) και (i <= n) επανέλαβε Αν table[i] = key τότε done αληθής position i αλλιώς i i+1 Τέλος_αν Τέλος_επανάληψης Αποτελέσματα // done, position // Τέλος Sequential Search

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

Ταξινόμηση Ορισμός: Δοθέντων των στοιχείων a 1,a 2,,a n η ταξινόμηση συνίσταται στην αντιμετάθεση της θέσης των στοιχείων ώστε να τοποθετηθούν με μια νέα σειρά a k1, a k2,.., a kn ώστε με δεδομένη μια συνάρτηση διάταξης f να ισχύει f(a k1 ) f(a k2 ).. f(a kn )

Ταξινόμηση Φυσαλίδας (bubble-sort) i=2 i=3 i=4 i=5 i=6 i=7 i=8 i=9 52 5 5 5 5 5 5 5 12 52 10 10 10 10 10 10 71 12 52 12 12 12 12 12 56 71 12 52 19 19 19 19 5 56 71 19 52 45 45 45 10 10 56 71 45 52 52 52 19 19 19 56 71 56 56 56 90 45 45 45 56 71 71 71 45 90 90 90 90 90 90 90