diff options
Diffstat (limited to 'files/uk/glossary/рекурсія/index.html')
-rw-r--r-- | files/uk/glossary/рекурсія/index.html | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/files/uk/glossary/рекурсія/index.html b/files/uk/glossary/рекурсія/index.html new file mode 100644 index 0000000000..b69251d64b --- /dev/null +++ b/files/uk/glossary/рекурсія/index.html @@ -0,0 +1,42 @@ +--- +title: Рекурсія +slug: Glossary/Рекурсія +tags: + - Словник +translation_of: Glossary/Recursion +--- +<p><span class="seoSummary">Рекурсія — це виклик функцією самої себе. Рекурсію застосовують, коли розв'язувана задача містить подібні до себе підзадачі.</span> Залежно від вхідних даних розрізняють кінцевий виклик (розв'язує найпростішу задачу) та проміжний (має підзадачі, тож передбачає щонайменше один рекурсивний виклик).</p> + +<p>Типовим прикладом застосування рекурсії є обчислення факторіалу:</p> + +<pre class="brush: js">function f(n) { + if (n > 1) { + return n * f(n - 1); + } + return 1; +}</pre> + +<p>Слід завважити, що будь-який алгоритм можна втілити без застосування рекурсії, але для вирішення певних задач її застосування спрощує та увиразнює код. Для прикладу розгляньмо обчислення факторіалу без рекурсії:</p> + +<pre class="brush: js">function f(n) { + var value = 1; + + while (n > 1) { + value *= n; + n--; + } + + return value; +} +</pre> + +<p>Водночас для деяких алгоритмів перевага рекурсивного втілення буде навіть суттєвішою.</p> + +<h2 id="Дізнатись_більше">Дізнатись більше</h2> + +<h3 id="Загальні_відомості">Загальні відомості</h3> + +<ul> + <li>{{Interwiki("wikipedia", "Рекурсія (програмування)")}} у Вікіпедії</li> + <li><a href="/uk/docs/Web/JavaScript/Guide/Functions#Рекурсія">Докладніше про рекурсію в JavaScript</a></li> +</ul> |