-
Базовая рекурсивная функция: функция, которая вызывает сама себя до тех пор, пока не будет выполнено определенное условие.
function countdown(n) { if (n <= 0) { console.log('Done!'); } else { console.log(n); countdown(n - 1); } } countdown(5);
-
Вычисление факториала: рекурсивная функция для вычисления факториала числа.
function factorial(n) { if (n === 0) { return 1; } else { return n * factorial(n - 1); } } console.log(factorial(5)); // Output: 120
-
Последовательность Фибоначчи: рекурсивная функция для создания последовательности Фибоначчи.
function fibonacci(n) { if (n <= 1) { return n; } else { return fibonacci(n - 1) + fibonacci(n - 2); } } console.log(fibonacci(6)); // Output: 8
-
Обход дерева: рекурсивные функции для обхода и выполнения операций над древовидными структурами данных (например, двоичными деревьями).
class Node { constructor(value) { this.value = value; this.left = null; this.right = null; } } function inorderTraversal(node) { if (node !== null) { inorderTraversal(node.left); console.log(node.value); inorderTraversal(node.right); } } // Example usage: const root = new Node(1); root.left = new Node(2); root.right = new Node(3); root.left.left = new Node(4); root.left.right = new Node(5); inorderTraversal(root);