Η Αποδοτικότητα Αλγορίθμου

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

<![if !supportLists]>        <![endif]>το χρόνο στον οποίο εκτελούνται,

<![if !supportLists]>        <![endif]>το χώρο που χρησιμοποιούν.

Επίδοση ενός Αλγορίθμου

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

Προσδιορισμός της Αποδοτικότητας ενός Αλγορίθμου

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