При извършване на аритметични действия, пресмятане на числени стойности на алгебрични изрази, построяване на геометрични фигури, както и в много други случаи, и то не само в математиката, а в различни области на науката и практиката, ние използваме алгоритми. Много често при извършване на определена дейност не осъзнаваме, че използваме алгоритъм, и това е напълно естествено, защото съотвените алгоритми са вече добре овладени правила, по които смятаме, чертаем, сменяме един телевизонен канал с друг, оправляваме автомобил и така натък.
Алгоритъмът като понятие се въвежда в математиката по повод изграждането на системи от правила за извършване на четирите аритмични операции. Но алгоритми използват и създават много хора в пряката си служба и лична дейност, която най-често няма нищо общо с математиката. Компютрите работеят под управлението на алгоритми, а самите те са автомати за изпълнение на алгоритми. Всичко това определя важността на алгоритмите не само в информатиката, а изобщо.
Понятието е интуитивно понятие. Произлиза от името на персейският учен Ал Хорезми. То принадлежи към основните понятия в науката и не се дефининира (като точка, права и равнина в геометрията, пространство и време във физиката и други), но за него може да се даде интуитивна представа. Алгоритъмът е широкообхватно понятие.
Ние ще разглеждаме алгоритмите предназначени за изпълнение от компютър. Алгоритъмът е последователност от инструкции (указания, команди, стъпки, оператори) за действие, която при изпълнението си реализира зададена функционална зависимост между данните и резултатите. Ако последователността не реализира зададената функционална зависимост, тя не е алгоритъм на дадената задача.
Във всяка инструкция се указват всички или някои от следните елементи:
Словесно описание:
Много чество в литературата се използва модификация на този начин, наричана псевдокод (например псевдо Паскал), в който за по-голяма еднозначност и разбираемост освен текст на естествен език се използват типови инструкции (най-често от структурното програмиране): последователна инструкция (съставен оператор) begin И1; И2; ... ; Иn end, условна инструкция if условие then И1 или if условие then И1 then И2; инструкция <,>case израз of c1: И1; с2: И2; ... ; cn: Иn end, инструкция за цикъл while условие do И, или repeat И1, ... , Иn until условие, или цикъл for и други.
Предимство на този начин е, че заема малко място върху хартия и е предназначен за четене от човек. Недостатъка му е, че при текст на естествен език може да се получи нееднозначност (която може да бъде изяснена допълнително, ако възникне) и поради това не може да се изпълнява от компютър.
За да можем да сравняваме различните алгоритми за една и съща задача и да изберем най-подходящия за конкретния случай се използват различни характеристики на алгоритмите. Често използвани са следните 4 характеристики на алгоритмите: