Αλγόριθμος είναι μια σειρά πεπερασμένων ενεργειών, αυστηρά καθορισμένων εντολών που στοχεύουν στην επίλυση ενός προβλήματος. Πρωτεργάτης του όρου ήταν ο Πέρσης μαθηματικός Αλ Χουαρίζμι ο οποίος συνέθεσε συστηματικές τυποποιημένες λύσεις αλγεβρικών προβλημάτων σε διάφορα συγγράμματα του.
Οι αλγόριθμοι είναι σημαντικοί γιατί σχετίζονται άμεσα με τον τρόπο με τον οποίο οι υπολογιστές επεξεργάζονται δεδομένα και παράγουν πληροφορίες. Χαρακτηριστικά, όταν ένας αλγόριθμος συνδέεται με την επεξεργασία πληροφοριών, τα δεδομένα διαβάζονται από μια συσκευή εισόδου, γράφονται σε μια συσκευή εξόδου, και / ή αποθηκεύονται για την περαιτέρω χρήση.
Κάθε αλγόριθμος πρέπει να έχει συγκεκριμένα χαρακτηριστικά:
• Αρχικά, για οποιαδήποτε υπολογιστική διαδικασία, ο αλγόριθμος πρέπει να είναι σαφής και αυστηρά ορισμένος για όλες τις πιθανές περιστάσεις που θα μπορούσαν να προκύψουν, έτσι ώστε να μας οδηγήσει στο επιθυμητό αποτέλεσμα.
• Ακόμα για να είναι ο αλγόριθμος αποτελεσματικός, πρέπει οι εντολές να ακολουθούνται με συγκεκριμένη σειρά.
• Αν κάποιο από αυτά τα χαρακτηριστικά παραβιαστεί, ο αλγόριθμος μπορεί να είναι μη εκτελέσιμος ή να μην μας οδηγήσει στο επιθυμητό αποτέλεσμα.
Οι αλγόριθμοι μπορούν να υλοποιηθούν από προγράμματα ηλεκτρονικών υπολογιστών, μολονότι συχνά σε περιορισμένες μορφές. Ένα λάθος στον σχεδιασμό ενός αλγόριθμου για την λύση ενός προβλήματος μπορεί να οδηγήσει σε αποτυχίες/βλάβες στο εφαρμοσμένο πρόγραμμα. Οι αλγόριθμοι δεν υλοποιούνται μόνο ως προγράμματα υπολογιστών, αλλά συχνά επίσης και με άλλα μέσα και χρησιμοποιούνται σε πολλούς τομείς της καθημερινής μας ζωής.
Υπάρχουν διάφοροι τρόποι αναπαράστασης ενός αλγορίθμου: με ελεύθερο κείμενο, με διαγραμματικές τεχνικές, με φυσική γλώσσα ή μέσω της κωδικοποίησης, δηλαδή μέσω ενός προγράμματος που όταν εκτελεστεί θα μας δώσει το ίδιο αποτέλεσμα με τον αλγόριθμο.