pressentation enotitas 2.2

28
Εισαγωγή στις Αρχές της Επιστήμης των Η/Υ Ενότητα 2.2 Αλγόριθμοι

Upload: hack0s

Post on 11-Apr-2017

106 views

Category:

Education


4 download

TRANSCRIPT

Page 1: Pressentation Enotitas 2.2

Εισαγωγή στις Αρχές της Επιστήμης των Η/Υ

Ενότητα 2.2

Αλγόριθμοι

Page 2: Pressentation Enotitas 2.2

Ενότητα 2.2 Αλγόριθμοι 2.2.1 Ορισμός Αλγορίθμου 2.2.2 Χαρακτηριστικά Αλγορίθμου 2.2.3 Ανάλυση Αλγορίθμων

Είσοδος ΔεδομένωνΈξοδος Δεδομένων

– Θεωρία Υπολογισμού – Θεωρία Πολυπλοκότητας

2.2.4 Βασικοί Τύποι Αλγορίθμων 2.2.5 Αναπαράσταση αλγορίθμου 2.2.6 Δεδομένα και Αναπαράσταση

Page 3: Pressentation Enotitas 2.2

2.2.1. Ορισμός Αλγορίθμου

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

Page 4: Pressentation Enotitas 2.2

2.2.2. Χαρακτηριστικά Αλγορίθμου

Καθοριστικότητα

Κάθε εντολή ενός αλγορίθμου χρειάζεται να καθορίζει αναμφίβολα τον τρόπο εκτέλεσής της.

Page 5: Pressentation Enotitas 2.2

2.2.2. Χαρακτηριστικά Αλγορίθμου

Περατότητα

Κάθε αλγόριθμος πρέπει να τελειώνει μετά από πεπερασμένα βήματα εκτέλεσης των εντολών του.

Page 6: Pressentation Enotitas 2.2

2.2.2. Χαρακτηριστικά Αλγορίθμου

Αποτελεσματικότητα

Κάθε εντολή ενός αλγορίθμου χρειάζεται να είναι διατυπωμένη απλά και κατανοητά, ώστε να μπορεί να εκτελεστεί επακριβώς και σε πεπερασμένο μήκος χρόνου.

Page 7: Pressentation Enotitas 2.2

2.2.3. Ανάλυση Αλγορίθμων

– Είσοδος ΔεδομένωνΚάθε αλγόριθμος χρειάζεται να δέχεται ένα σύνολο μεταβλητών εισόδου, οι οποίες αποτελούν και τα δεδομένα.

Page 8: Pressentation Enotitas 2.2

2.2.3. Ανάλυση Αλγορίθμων

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

Page 9: Pressentation Enotitas 2.2

2.2.3. Ανάλυση Αλγορίθμων

– Έξοδος Δεδομένων Κάθε αλγόριθμος οδηγεί τα αποτελέσματα στην έξοδο προκειμένου να είναι προσβάσιμα και χρησιμοποιήσιμα.

Page 10: Pressentation Enotitas 2.2

2.2.3. Θεωρία Υπολογισμού

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

Page 11: Pressentation Enotitas 2.2

2.2.3. Θεωρία Υπολογισμού

Θεωρία Υπολογισιμότητας Ο αλγόριθμος κάνει πραγματικά τη δουλειά για την οποία έχει σχεδιαστεί

Θεωρία Πολυπλοκότητας απόδοσή των υπολογιστικών πόρων που απαιτούνται για την εκτέλεσή του αλγορύθμου.

Page 12: Pressentation Enotitas 2.2

2.2.3. Θεωρία Υπολογισμού

Θεωρία Υπολογισιμότητας

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

Page 13: Pressentation Enotitas 2.2

2.2.3. Θεωρία Υπολογισμού

Πολυπλοκότητα Αλγορίθμωνδίνει ένα μέτρο της χρονικής καθυστέρησης του αλγορίθμου για την επίλυση ενός προβλήματος.

Page 14: Pressentation Enotitas 2.2

2.2.3. Πολυπλοκότητα Αλγορίθμων

Το μεγαλύτερο πρόβλημα που αντιμετοπίζουμε στους αλγορίθμους είναι η πολυπλοκότητα τους , η οποία αποτελέι ένα μέτρο χρονικής καθυστέρησης κατά την εκτέλεση του αλγορίθμου.

Page 15: Pressentation Enotitas 2.2

2.2.5. Αναπαράσταση αλγορίθμου

Φυσική γλώσσα Ψευδοκώδικα ή ψευδογλώσσαΓλώσσα προγραμματισμού

– οπτικές γλώσσες προγραμματισμού– κειμενικές γλώσσες προγραμματισμού

Page 16: Pressentation Enotitas 2.2

2.2.4. Βασικοί Τύποι Αλγορίθμων

Σειριακοί αλγόριθμοι (εκτελούνται διαδοχικά η μία εντολή μετά την άλλη)

Παράλληλοι αλγόριθμοι (η εκτέλεση των εντολών είναι ανεξάρτητη από την ολοκλήρωση των προηγούμενων)

Page 17: Pressentation Enotitas 2.2

2.2.5. Αναπαράσταση αλγορίθμου

Φυσική γλώσσαΗ αναπαράσταση των βημάτων επίλυσης γίνεται με την ομιλούμενη γλώσσα. Παρ’ όλαυτά με τη φυσική γλώσσα μπορούν να παρατηρηθούν ασάφειες κατά την ερμηνεία.

Page 18: Pressentation Enotitas 2.2

2.2.5. Αναπαράσταση αλγορίθμου

Ψευδοκώδικα ή ψευδογλώσσαΕίναι μια υποθετική γλώσσα προγραμματισμού για να αναπαράστήσουμε τον τρόπο λειτουργίαςτων αλγορίθμων .

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

Page 19: Pressentation Enotitas 2.2

2.2.5. Αναπαράσταση αλγορίθμου

Γλώσσα προγραμματισμούΕίναι μια τεχνητή γλώσσα ,που αναπτύσσετε και εξελίσσετε, με σκοπό την εκτέλεση των αλγορίθμων εκφράσεων, έτσι ώστε οι εντολές να είναι κατανοητές από τις ηλεκτρονικές συσκευες που υποστηρίζουν.

Page 20: Pressentation Enotitas 2.2

2.2.5. Αναπαράσταση αλγορίθμου

Η αναπαράσταση των αλγορίθμων γίνετε με την οπτική απεικόνιση , Οπτικές Γλώσσες Προγραμματισμού ή με τη μορφή κειμένου, Κειμενικές Γλώσσες Προγραμματισμού.

Page 21: Pressentation Enotitas 2.2

2.2.6. Δεδομένα και Αναπαράσταση

Το αποτέλεσμα της επεξεργασίας των δεδομένων αποτελεί τη πληροφορία.Με βάση τις πληροφορίες λαμβάνονται αποφάσεις και εκτελούνται κάποιες ενέργειες.

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

Page 22: Pressentation Enotitas 2.2

2.2.6. Δεδομένα και Αναπαράσταση

Η θεωρία αλγορίθμων μελετάει

Υλικού– Αποθήκευση των δεδομένων

στην κύρια μνήμη

Γλωσσών Προγραμματισμού.– Υποστηρίζει τη χρήση διαφόρων

τύπων δεδομένων

Page 23: Pressentation Enotitas 2.2

2.2.6. Δεδομένα και Αναπαράσταση

Τύποι Δεδομένων Ακέραιος τύπος: για την αναπαράσταση ακεραίων

αριθμών. Πραγματικός τύπος: για την αναπαράσταση

πραγματικών αριθμών. Λογικός τύπος: για την αναπαράσταση λογικών

δεδομένων. Αλφαριθμητικός τύπος: για την αναπαράσταση

αλφαριθμητικών δεδομένων.

Page 24: Pressentation Enotitas 2.2

2.2.6. Δεδομένα και Αναπαράσταση

Τα δεδομένα μπορεί να είναι:

Απλές μεταβλητές (λαμβάνουν μία τιμή κάθε φορά)

Δομή δεδομένων (σύνολο αποθηκευμένων δεδομένων)

Page 25: Pressentation Enotitas 2.2

2.2.6. Δεδομένα και Αναπαράσταση

Οι πιο ευρέως χρησιμοποιούμενες δομές δεδομένων

Ο πίνακας (table) Η στοίβα (stack) Η ουρά (queue) Η λίστα (linked list) Το δένδρο (tree) Ο γράφος (graph)

Page 26: Pressentation Enotitas 2.2

Οι δομές μπορούν να διαχωριστούν και ανάλογα με το είδος της χρησιμοποιούμενης μνήμης σε

Κύρια Βοηθητική (αρχεία δεδομένων)

2.2.6. Δεδομένα και Αναπαράσταση

Page 27: Pressentation Enotitas 2.2

Οι δομές δεδομένων διακρίνονται επίσης σε Γραμμικές και μη Γραμμικές

Γραμμικές δομές

(μπορεί να ορισθεί κάποια σχέση διάταξης για δύο οποιαδήποτε διαδοχικά στοιχεία τους)

Μη γραμμικές δομές

(δεν μπορεί να οριστεί μια σχέση διάταξης όπως η παραπάνω)

2.2.6. Δεδομένα και Αναπαράσταση

Page 28: Pressentation Enotitas 2.2

Συντελεστές

Αλέξανδρος Νικολάου 2807Αχιλλέας Τσακουρίδης 2811 Προδρομίδης Ιωάννης 3089Σταφυλίδης Δυονήσης 3277Σουβλέρης Άρης 3852

http://tmd16-omada36-tsakouridis.blogspot.gr/