4 Анализ алгоритмов. Активный обучающий подход. Вычислимость алгоритма на машине Тьюринга

Абстрактную машина Тьюринга рассматривают как эквивалент алгоритма.

При анализе подсчитывается число переходов, необходимое для решения задачи. Анализ пространственных потребностей алгоритма подразумевает подсчет числа ячеек в ленте машины Тьюринга, необходимых для решения задачи. Такого рода анализ разумен, и он позволяет правильно определить относительную скорость двух алгоритмов, однако его практическое осуществление чрезвычайно трудно и занимает много времени. Сначала нужно строго описать процесс выполнения функций перехода в машине Тьюринга, выполняющей алгоритм, а затем подсчитать время выполнения - весьма утомительная процедура.

Другой способ анализа алгоритмов предполагает, что алгоритм записан на каком-либо языке высокого уровня вроде C, C++, Java или достаточно общем псевдокоде. 

В некоторых языках программирования значения булевых выражений вычисляются сокращенным образом.
В выражении A and B, член B вычисляется только, если выражение A истинно.
В выражении A or B, член B не будет вычисляться, если выражение A истинно.
Неважно считать ли число сравнений при проверке сложного условия равным 1 или 2.