From 218934fa2ed1c702a6d3923d2aa2cc6b43c48684 Mon Sep 17 00:00:00 2001 From: Peter Bengtsson Date: Tue, 8 Dec 2020 14:43:23 -0500 Subject: initial commit --- .../index.html" | 42 ++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 "files/uk/glossary/\321\200\320\265\320\272\321\203\321\200\321\201\321\226\321\217/index.html" (limited to 'files/uk/glossary/рекурсія/index.html') diff --git "a/files/uk/glossary/\321\200\320\265\320\272\321\203\321\200\321\201\321\226\321\217/index.html" "b/files/uk/glossary/\321\200\320\265\320\272\321\203\321\200\321\201\321\226\321\217/index.html" new file mode 100644 index 0000000000..b69251d64b --- /dev/null +++ "b/files/uk/glossary/\321\200\320\265\320\272\321\203\321\200\321\201\321\226\321\217/index.html" @@ -0,0 +1,42 @@ +--- +title: Рекурсія +slug: Glossary/Рекурсія +tags: + - Словник +translation_of: Glossary/Recursion +--- +

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

+ +

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

+ +
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;
+}
+
+ +

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

+ +

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

+ +

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

+ + -- cgit v1.2.3-54-g00ecf