Рекурсія
Рекурсія - це прийом, при якому функція викликає саму себе для розв'язання задачі, поки не досягне умови завершення (базового випадку).
Простіше кажучи:
Функція ділить задачу на підзадачі того самого типу і розв'язує їх, викликаючи саму себе.
Приклад - факторіал числа
javascript
function factorial(n) {
if (n === 1) return 1; // базовий випадок
return n * factorial(n - 1); // рекурсивний виклик
}
console.log(factorial(5)); // 120Як це працює:
javascript
factorial(5)
-> 5 * factorial(4)
-> 5 * 4 * factorial(3)
-> 5 * 4 * 3 * factorial(2)
-> 5 * 4 * 3 * 2 * factorial(1)
-> 5 * 4 * 3 * 2 * 1 = 120Головне правило рекурсії
- Базовий випадок - коли функція перестає викликати себе.
- Рекурсивний виклик - крок, який наближає нас до базового випадку.
Де використовується
- обхід дерев і графів;
- пошук у структурах даних;
- робота з вкладеними структурами (наприклад, DOM);
- математичні задачі (факторіал, числа Фібоначчі тощо).
Коротко:
Рекурсія - це коли функція розв'язує задачу, викликаючи саму себе, поки не досягне простого базового випадку, після чого повертає результат.
Коротка відповідь
Для співбесідиPremium
Коротка відповідь допоможе вам впевнено відповідати на цю тему під час співбесіди.