Допустим я хочу проанализировать все возможные результаты игры крестики-нолики. Делаю две ф-ии - одна ставит последовательно крестики, другая нолики во все незанятые позиции и дальше вызывает свою пару. В смысле ф-ия для установки крестика вызывает ф-ию установки нолика и наоборот. Таким образом достигается обход всех возможных вариантов развития игры как-будто по дереву.
Как правильно называется такая рекурсия? Можно ли к ней применить оптимизацию хвостой рекурсии? Как называется эта рекурсия (если такое есть) в общем случае, в смысле есть ф-ий не две, а много?
Спасибо.