Хвостовую рекурсию следует использовать вместо обычной в случаях, когда требуется оптимизировать использование памяти и ускорить выполнение программы. 12
Некоторые ситуации, в которых применяют хвостовую рекурсию:
Однако хвостовую рекурсию не всегда можно использовать, например, когда требуется выполнить дополнительные операции после рекурсивного вызова. 2 В таких случаях применяют другие методы оптимизации, например, использование аккумуляторов или явную итерацию. 2