2. Θεωρία υπολογισμού
Η Θεωρία Υπολογισμού (Theory of computation) είναι το
πεδίο της πληροφορικής που ασχολείται τόσο με το
πρόβλημα ύπαρξης λύσης ενός προβλήματος όσο και
αποδοτικότητας των αλγορίθμων για την επίλυση των
προβλημάτων με βάση ένα δεδομένο μοντέλο
υπολογισμού.
Η ανάλυση ενός αλγορίθμου είναι η εκτίμηση του
πλήθους των υπολογιστικών πόρων που απαιτεί η
εκτέλεση του αλγορίθμου.
2
3. Πολυπλοκότητα
Η πολυπλοκότητα ενός αλγορίθμου δίνει ένα μέτρο της
χρονικής καθυστέρησης του αλγορίθμου για την επίλυση ενός
προβλήματος.
Η χρονική καθυστέρηση προκύπτει από τα βήματα που εκτελεί
ο αλγόριθμος.
Τα βήματα συνήθως είναι πράξεις / συγκρίσεις / μετακινήσεις
δεδομένων.
3
4. Χρειάζεται χρόνος;
4
Πόσα βήματα έκανε ο αλγόριθμος
που είδατε;
Η πολυπλοκότητα του αλγορίθμου του
Ευκλείδη εξαρτάται και από τους δύο
αριθμούς (x,y)
http://math.stackexchange.com/questions/311467/euclidea
n-algorithm-for-greatest-common-divisor
5. Big-O notation
Αν ένας αλγόριθμος κάνει 4푛2 + 8푛 + 5 βήματα (푛 το πλήθος
των δεδομένων), τότε λέμε ότι έχει πολυπλοκότητα
푂 푛2 επειδή αν το 푛 γίνει πολύ μεγάλο το 푛2 είναι πιο
σημαντικό από τους υπόλοιπους όρους.
Ομοίως αν ο αλγόριθμος κάνει 2푛 + 푛2 + 10 βήματα τότε λέμε
ότι έχει πολυπλοκότητα 푂 2푛
Η καλύτερη πολυπλοκότητα;
Η χειρότερη πολυπλοκότητα;
5