We're looking for a user researcher to understand the needs of developers and designers. Is this you or someone you know? Check out the post: https://mzl.la/2IGzdXS

Перейти до:

Рекурсія — це виклик функцією самої себе. Рекурсію застосовують, коли розв'язувана задача містить подібні до себе підзадачі. Залежно від вхідних даних розрізняють кінцевий виклик (розв'язує найпростішу задачу) та проміжний (має підзадачі, тож передбачає щонайменше один рекурсивний виклик).

Типовим прикладом застосування рекурсії є обчислення факторіалу:

function f(n) {
  if (n > 1) {
    return n * f(n - 1);
  }
  return 1;
}

Слід завважити, що будь-який алгоритм можна втілити без застосування рекурсії, але для вирішення певних задач її застосування спрощує та увиразнює код. Для прикладу розгляньмо обчислення факторіалу без рекурсії:

function f(n) {
  var value = 1;

  while (n > 1) {
    value *= n;
    n--;
  }

  return value;
}

Водночас для деяких алгоритмів перевага рекурсивного втілення буде навіть суттєвішою.

Дізнатись більше

Загальні відомості

Мітки документа й учасники

Мітки: 
Зробили внесок у цю сторінку: asmforce, bdvorianov
Востаннє оновлена: asmforce,