ݺߣ

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

More Related Content

Εισαγωγή στις Αρχές Επιστήμης των Η/Υ: Πολυπλοκότητα

  • 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