pressentation enotitas 2.2
TRANSCRIPT
Εισαγωγή στις Αρχές της Επιστήμης των Η/Υ
Ενότητα 2.2
Αλγόριθμοι
Ενότητα 2.2 Αλγόριθμοι 2.2.1 Ορισμός Αλγορίθμου 2.2.2 Χαρακτηριστικά Αλγορίθμου 2.2.3 Ανάλυση Αλγορίθμων
Είσοδος ΔεδομένωνΈξοδος Δεδομένων
– Θεωρία Υπολογισμού – Θεωρία Πολυπλοκότητας
2.2.4 Βασικοί Τύποι Αλγορίθμων 2.2.5 Αναπαράσταση αλγορίθμου 2.2.6 Δεδομένα και Αναπαράσταση
2.2.1. Ορισμός Αλγορίθμου
Είναι μια πεπερασμένη σειρά ενεργειών, αυστηρά καθορισμένων και εκτελέσιμων σε πεπερασμένο χρόνο, που στοχεύουν στην επίλυση ενός προβλήματος.
2.2.2. Χαρακτηριστικά Αλγορίθμου
Καθοριστικότητα
Κάθε εντολή ενός αλγορίθμου χρειάζεται να καθορίζει αναμφίβολα τον τρόπο εκτέλεσής της.
2.2.2. Χαρακτηριστικά Αλγορίθμου
Περατότητα
Κάθε αλγόριθμος πρέπει να τελειώνει μετά από πεπερασμένα βήματα εκτέλεσης των εντολών του.
2.2.2. Χαρακτηριστικά Αλγορίθμου
Αποτελεσματικότητα
Κάθε εντολή ενός αλγορίθμου χρειάζεται να είναι διατυπωμένη απλά και κατανοητά, ώστε να μπορεί να εκτελεστεί επακριβώς και σε πεπερασμένο μήκος χρόνου.
2.2.3. Ανάλυση Αλγορίθμων
– Είσοδος ΔεδομένωνΚάθε αλγόριθμος χρειάζεται να δέχεται ένα σύνολο μεταβλητών εισόδου, οι οποίες αποτελούν και τα δεδομένα.
2.2.3. Ανάλυση Αλγορίθμων
Μελετάμε τη συμπεριφορά ενός αλγορίθμου και καταγράφουμε την απόδοση τροποποιώντας κάποιες από τις παραμέτρους προκειμένουνα επιτευχθεί η βέλτιστη λύση.
2.2.3. Ανάλυση Αλγορίθμων
– Έξοδος Δεδομένων Κάθε αλγόριθμος οδηγεί τα αποτελέσματα στην έξοδο προκειμένου να είναι προσβάσιμα και χρησιμοποιήσιμα.
2.2.3. Θεωρία Υπολογισμού
Είναι το πεδίο της πληροφορικής που ασχολείται τόσο με εύρεση λύσης σε ένα πρόβλημα όσο και με την αποδοτικότητα των αλγορίθμων.
2.2.3. Θεωρία Υπολογισμού
Θεωρία Υπολογισιμότητας Ο αλγόριθμος κάνει πραγματικά τη δουλειά για την οποία έχει σχεδιαστεί
Θεωρία Πολυπλοκότητας απόδοσή των υπολογιστικών πόρων που απαιτούνται για την εκτέλεσή του αλγορύθμου.
2.2.3. Θεωρία Υπολογισμού
Θεωρία Υπολογισιμότητας
Τεκμηριώνει την ορθότητά του, δηλαδή αν ο αλγόριθμος κάνει πραγματικά τη δουλειά για την οποία έχει σχεδιαστεί.
2.2.3. Θεωρία Υπολογισμού
Πολυπλοκότητα Αλγορίθμωνδίνει ένα μέτρο της χρονικής καθυστέρησης του αλγορίθμου για την επίλυση ενός προβλήματος.
2.2.3. Πολυπλοκότητα Αλγορίθμων
Το μεγαλύτερο πρόβλημα που αντιμετοπίζουμε στους αλγορίθμους είναι η πολυπλοκότητα τους , η οποία αποτελέι ένα μέτρο χρονικής καθυστέρησης κατά την εκτέλεση του αλγορίθμου.
2.2.5. Αναπαράσταση αλγορίθμου
Φυσική γλώσσα Ψευδοκώδικα ή ψευδογλώσσαΓλώσσα προγραμματισμού
– οπτικές γλώσσες προγραμματισμού– κειμενικές γλώσσες προγραμματισμού
2.2.4. Βασικοί Τύποι Αλγορίθμων
Σειριακοί αλγόριθμοι (εκτελούνται διαδοχικά η μία εντολή μετά την άλλη)
Παράλληλοι αλγόριθμοι (η εκτέλεση των εντολών είναι ανεξάρτητη από την ολοκλήρωση των προηγούμενων)
2.2.5. Αναπαράσταση αλγορίθμου
Φυσική γλώσσαΗ αναπαράσταση των βημάτων επίλυσης γίνεται με την ομιλούμενη γλώσσα. Παρ’ όλαυτά με τη φυσική γλώσσα μπορούν να παρατηρηθούν ασάφειες κατά την ερμηνεία.
2.2.5. Αναπαράσταση αλγορίθμου
Ψευδοκώδικα ή ψευδογλώσσαΕίναι μια υποθετική γλώσσα προγραμματισμού για να αναπαράστήσουμε τον τρόπο λειτουργίαςτων αλγορίθμων .
Χρησιμοποιούμε στοιχεία από πραγματικές γλώσσες προγραμματισμού στην πίο απλή τους μορφή για να είναι πιο κατανοητά.
2.2.5. Αναπαράσταση αλγορίθμου
Γλώσσα προγραμματισμούΕίναι μια τεχνητή γλώσσα ,που αναπτύσσετε και εξελίσσετε, με σκοπό την εκτέλεση των αλγορίθμων εκφράσεων, έτσι ώστε οι εντολές να είναι κατανοητές από τις ηλεκτρονικές συσκευες που υποστηρίζουν.
2.2.5. Αναπαράσταση αλγορίθμου
Η αναπαράσταση των αλγορίθμων γίνετε με την οπτική απεικόνιση , Οπτικές Γλώσσες Προγραμματισμού ή με τη μορφή κειμένου, Κειμενικές Γλώσσες Προγραμματισμού.
2.2.6. Δεδομένα και Αναπαράσταση
Το αποτέλεσμα της επεξεργασίας των δεδομένων αποτελεί τη πληροφορία.Με βάση τις πληροφορίες λαμβάνονται αποφάσεις και εκτελούνται κάποιες ενέργειες.
Συνήθως η πληροφορία εισάγεται σε μια άλλη επεξεργασία δεδομένων, από όπου προκύπτει η νέα πληροφορία.
2.2.6. Δεδομένα και Αναπαράσταση
Η θεωρία αλγορίθμων μελετάει
Υλικού– Αποθήκευση των δεδομένων
στην κύρια μνήμη
Γλωσσών Προγραμματισμού.– Υποστηρίζει τη χρήση διαφόρων
τύπων δεδομένων
2.2.6. Δεδομένα και Αναπαράσταση
Τύποι Δεδομένων Ακέραιος τύπος: για την αναπαράσταση ακεραίων
αριθμών. Πραγματικός τύπος: για την αναπαράσταση
πραγματικών αριθμών. Λογικός τύπος: για την αναπαράσταση λογικών
δεδομένων. Αλφαριθμητικός τύπος: για την αναπαράσταση
αλφαριθμητικών δεδομένων.
2.2.6. Δεδομένα και Αναπαράσταση
Τα δεδομένα μπορεί να είναι:
Απλές μεταβλητές (λαμβάνουν μία τιμή κάθε φορά)
Δομή δεδομένων (σύνολο αποθηκευμένων δεδομένων)
2.2.6. Δεδομένα και Αναπαράσταση
Οι πιο ευρέως χρησιμοποιούμενες δομές δεδομένων
Ο πίνακας (table) Η στοίβα (stack) Η ουρά (queue) Η λίστα (linked list) Το δένδρο (tree) Ο γράφος (graph)
Οι δομές μπορούν να διαχωριστούν και ανάλογα με το είδος της χρησιμοποιούμενης μνήμης σε
Κύρια Βοηθητική (αρχεία δεδομένων)
2.2.6. Δεδομένα και Αναπαράσταση
Οι δομές δεδομένων διακρίνονται επίσης σε Γραμμικές και μη Γραμμικές
Γραμμικές δομές
(μπορεί να ορισθεί κάποια σχέση διάταξης για δύο οποιαδήποτε διαδοχικά στοιχεία τους)
Μη γραμμικές δομές
(δεν μπορεί να οριστεί μια σχέση διάταξης όπως η παραπάνω)
2.2.6. Δεδομένα και Αναπαράσταση
Συντελεστές
Αλέξανδρος Νικολάου 2807Αχιλλέας Τσακουρίδης 2811 Προδρομίδης Ιωάννης 3089Σταφυλίδης Δυονήσης 3277Σουβλέρης Άρης 3852
http://tmd16-omada36-tsakouridis.blogspot.gr/