Εν συντομία, ένας αλγόριθμος είναι ένα σύνολο βημάτων που ορίζει μια ακολουθία ενεργειών. Επίσης, μπορεί να περιγραφεί ως ένα σύνολο εντολών που έχουν σχεδιαστεί για να πετύχουν έναν συγκεκριμένο στόχο ή να επιλύσουν ένα συγκεκριμένο πρόβλημα. Οι αλγόριθμοι χρησιμοποιούνται και μελετώνται κυρίως στους τομείς των μαθηματικών και της επιστήμης των υπολογιστών, αλλά μπορούν επίσης να σχετίζονται με άλλα πεδία, όπως τα βιολογικά νευρωνικά δίκτυα και οι ηλεκτρονικές συσκευές.
Στην επιστήμη των υπολογιστών, ένας αλγόριθμος αποτελείται από μια ακολουθία αναμφίσημων οδηγιών που κατευθύνουν τα προγράμματα υπολογιστών για να εκτελέσουν διάφορες εργασίες. Μπορεί να σχεδιάζονται για να εκτελούν μια απλή ενέργεια, όπως η αφαίρεση δύο αριθμών, ή πιο σύνθετες λειτουργίες, όπως η εύρεση της βέλτιστης διαδρομής μεταξύ δύο ή περισσότερων γεωγραφικών τοποθεσιών. Συνεπώς, οι αλγόριθμοι υπολογιστών χρησιμεύουν ιδιαίτερα στην εκτέλεση διαφόρων εργασιών, όπως υπολογισμοί, επεξεργασία δεδομένων, ακόμη και λήψη αποφάσεων.
Κάθε αλγόριθμος αποτελείται από ένα καθορισμένο σημείο αρχής και τέλους, που δημιουργεί εκροές σύμφωνα με τις εισροές και τα προκαθορισμένα βήματα. Μπορούν να συνδυαστούν πολλοί αλγόριθμοι για να εκτελούν πιο περίπλοκες εργασίες, αλλά υψηλότερη πολυπλοκότητα απαιτεί επίσης περισσότερους υπολογιστικούς πόρους.
Οι αλγόριθμοι μπορούν να υπολογιστούν με βάση την ορθότητα και την αποτελεσματικότητά τους. Η ορθότητα αφορά την ακρίβεια του αλγορίθμου και το κατά πόσον μπορεί να λύσει ένα συγκεκριμένο πρόβλημα. Η αποτελεσματικότητα αφορά την ποσότητα των πόρων και τον χρόνο που χρειάζεται ένας αλγόριθμος για να εκτελέσει μια συγκεκριμένη εργασία. Πολλοί επιστήμονες υπολογιστών χρησιμοποιούν μια μαθηματική τεχνική ανάλυσης γνωστή ως "ασυμπτωτική" για να συγκρίνουν διαφορετικούς αλγορίθμους, ανεξάρτητα από τη γλώσσα προγραμματισμού ή το υλισμικό στο οποίο εκτελούνται.