На практика, рекурсията е код, който се обажда сам на себе си. Може да се самоизвиква до вечност, освен ако не го поставим в състояние да спре, щом достигне определена точка.

В кода пример за рекурсия може да бъде написан по следния начин:

function factorial(n){
     if(n === 1){
       return 1
     }else{
       return n * factorial(n-1)
     }
}
factorial(5)

Примерът по-горе е класически пример за рекурсивен код. Кодът по-горе извиква цялото число n, което трябва да бъде умножено по едно минус текущото n. След като n достигне 1, кодът връща 1 и рекурсията достига крайната точка и започва да връща стойността обратно към кода.

Изображението по-горе показва, че факториел от 5 първо връща 5 * факториел(4). Факториелът от 4 връща 4 * factorial(3) и така нататък, докато n достигне 1. Факториелът от 1 връща 1, в който кодът връща обратно кода и попълва факторелиала(n) с действителни числа.

Един важен аспект за разбиране е, че n не е едно число. N е множество числа в рекурсия. N е 5, също 4, също 3, също 2 и накрая 1.

https://www.youtube.com/watch?v=Mv9NEXX1VHc