Абстрактную машина Тьюринга рассматривают как эквивалент алгоритма.
При анализе подсчитывается число переходов, необходимое для решения задачи. Анализ пространственных потребностей алгоритма подразумевает подсчет числа ячеек в ленте машины Тьюринга, необходимых для решения задачи. Такого рода анализ разумен, и он позволяет правильно определить относительную скорость двух алгоритмов, однако его практическое осуществление чрезвычайно трудно и занимает много времени. Сначала нужно строго описать процесс выполнения функций перехода в машине Тьюринга, выполняющей алгоритм, а затем подсчитать время выполнения - весьма утомительная процедура.
Другой способ анализа алгоритмов предполагает, что алгоритм записан на каком-либо языке высокого уровня вроде C, C++, Java или достаточно общем псевдокоде.
В некоторых языках программирования значения булевых выражений вычисляются сокращенным образом.
В выражении A and B, член B вычисляется только, если выражение A истинно.
В выражении A or B, член B не будет вычисляться, если выражение A истинно.
Неважно считать ли число сравнений при проверке сложного условия равным 1 или 2.