Різниця між рекурсією та ітерацією

Ключова відмінність: При програмуванні рекурсія може бути пояснена шляхом розгляду рекурсивної функції. Рекурсивна функція є такою, яка знову закликає повторювати код. З іншого боку, ітерація досягається ітераційною функцією, яка повторює певний розділ коду.

При програмуванні рекурсія і ітерація використовуються для досягнення повторів. Вони стосуються процесу, який повторюється багато разів. Рекурсія ґрунтується на підході, в якому щось називає себе, поки не буде виконано умову. Метод називається рекурсивним, якщо він може викликати себе безпосередньо або опосередковано, як -

недійсне ім'я ()

{

... назва () ...

}

або

недійсне ім'я ()

{

... гра () ...

}

void game () {

... назва () ...

}

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

int factorial (int N)

{

if (N == 0) повернення 1;

інакше повернемо (N * факториал (N-1));

}

У цьому прикладі рекурсія легко видно в операторі (N * factorial (N-1)), де вона знову викликає факторну функцію. Рекурсія дуже корисна, оскільки вона допомагає скоротити код. Проте рекурсія трохи повільна.

Ітерація заснована на петлях. Ці цикли відносяться до явних ітераційних процесів. Для виконання вимоги циклу, він повинен мати певний тип критеріїв, що зупиняє подальшу ітерацію. Однак, якщо тест циклічного стану ніколи не стає помилковим, то в цій умові неминуче виникнення нескінченного циклу. У цьому прикладі факториал визначається за допомогою ітераційного процесу -

функціональна функція (n)

{

var loop, результат;

результат = 1;

for (loop = 1; loop <= n; loop ++)

{

результат = цикл * результат;

}

результат повернення;

}

У цьому прикладі цикл досягається використанням цілих чисел від 1 до n, а оператор loop <= n використовується як критерій для припинення подальшого циклування. Таким чином, можна зробити висновок, що ті ж результати можна досягти за допомогою рекурсії і ітерації. Проте, обидва вони базуються на підходах, які трохи відрізняються. Будь-який рекурсивний алгоритм також може бути записаний з використанням ітерацій (циклів).

Порівняння між рекурсією та ітерацією:

Рекурсія

Ітерація

Визначення

Рекурсія відноситься до рекурсивної функції, в якій він знову викликає себе, щоб повторити код.

Ітерація досягається ітераційною функцією, яка повторює певний розділ коду.

Важливий момент

Необхідно визначити базовий випадок

Необхідно визначити умову завершення

Продуктивність

Порівняно повільно

Порівняно швидко

Використання пам'яті

Порівняно більше

Порівняно менше

Код

Менше

Більше

Нескінченне повторення

Нескінченна рекурсія здатна зірвати систему

Нескінченний цикл повторно споживає цикли процесора

Структура

Вибір

Повторення

Локальні змінні

Не вимагається

вимагається

Рекомендуємо

Схожі Статті

  • популярні порівняння: Різниця між какао і какао

    Різниця між какао і какао

    Ключова різниця: Какао та какао схожі, тому що обидва мають однакову історію. Терміни Какао і Какао спочатку були взаємозамінні; однак ці дні використовуються по-різному. Какао використовується для позначення обсмажених і оброблених бобів, які використовуються для створення порошку какао і шоколаду. Какао вик
  • популярні порівняння: Різниця між археологом і палеонтологом

    Різниця між археологом і палеонтологом

    Ключова різниця: археологи в основному вивчають людське минуле і сьогодення, через матеріали, які вони залишили позаду. Палеонтологи в основному вивчають скам'янілості, або свідчення для колишніх живих тварин і рослин. Вона також включає в себе все життя, від бактерій до динозаврів. Часто люди плутають палеонтолога з археологом, але два напрямки дослідження дуже різні. Археолог займається польовим
  • популярні порівняння: Різниця між ковбоєм і Redneck

    Різниця між ковбоєм і Redneck

    Ключова відмінність: ковбой - це людина, яка пасеться і схиляється до великої рогатої худоби, виконуючи більшу частину своєї роботи на конях, особливо в західній частині США. на півдні Сполучених Штатів. Обидва Cowboys і Rednecks - різні типи людей. Ці слова згадують їх так, ніби вони є подібними типами американськ
  • популярні порівняння: Різниця між сальсою і танцем мамбо

    Різниця між сальсою і танцем мамбо

    Ключова різниця: «Сальса» - це форма танцю, що походить від кубинського сина і афро-кубинського танцю. Вона, як правило, пов'язана зі стилем музики сальси. З іншого боку, « Мамбо» - латинський танець Куби. При цьому виконавці танцюють під ритм мамбо-музики. Танець є таким способом самовираження і мистецтва, що кожен виконує без будь-якої другої думки. Той, хто хоч
  • популярні порівняння: Різниця між валовою та нетто

    Різниця між валовою та нетто

    Основна різниця: Валовий дохід, з іншого боку, чистий - це частина загального доходу. Відповідно до Dictionary.com, "Gross": Без відрахувань; загальний обсяг, як обсяг продажів, зарплати, прибутку тощо, перш ніж приймати відрахування на витрати, податки або подібні (проти чистих): валові доходи; валових продажів. Некваліфікований; повний; ранг: грубий негідник. Чуттєве і крайнє: груба несправедливість. Нечутливий, непристойний, непристойний або вульгарний: грубі зауваження. Відсутність у витонченості, гарних манер, освіті тощо; нерафіновані.
  • популярні порівняння: Різниця між MacBook Pro і MacBook Pro Retina

    Різниця між MacBook Pro і MacBook Pro Retina

    Основна різниця: MacBook Pro - це портативний комп'ютер, створений компанією Apple Inc. До нього додано нову технологію, відому як "Retina Display", з деякими додатковими можливостями; і продається як MacBook Pro Retina. MacBook Pro - це портативний комп'ютер (ноутбук), розроблений і виготовлений компанією Apple Inc. MacBook Pro має 13-дюймові і
  • популярні порівняння: Різниця між чистими інвестиціями та валовими інвестиціями

    Різниця між чистими інвестиціями та валовими інвестиціями

    Ключові відмінності: Валові інвестиції відносяться до загальних витрат на придбання капітальних товарів протягом певного періоду часу без урахування амортизації. З іншого боку, чисті інвестиції розглядаються як амортизаційні та обчислюються шляхом вирахування амортизації з валових інвестицій. Інвести
  • популярні порівняння: Різниця між маскою та шаром у Photoshop

    Різниця між маскою та шаром у Photoshop

    Key Difference: Маска "маскує" частини шару і приховує її. Іншими словами, певні частини можуть бути зроблені невидимими в зображенні, так що зміни, що застосовуються до решти зображення, не впливають на ці частини. Шар є ще однією невід'ємною частиною графіки в Photoshop. Файл Photoshop може складатися з різних незалежних шарів, які лежать один на одного. Шари можна са
  • популярні порівняння: Різниця між Samsung Galaxy S4 Active і LG Optimus G Pro

    Різниця між Samsung Galaxy S4 Active і LG Optimus G Pro

    Ключові відмінності: Samsung оголосила, що додала новий телефон до своєї лінійки, яка поєднує в собі міцність старшого Samsung Xcover з функціями і oomph нового Galaxy S4. S4 Active є пило- і водонепроникним. Телефон поставляється з 5-дюймовим Full HD TFT ємнісним сенсорним екраном, який відрізняється від AMOLED, що використовується в

Вибір Редакції

Різниця між сеансом ASP і сеансом ASP.NET

Ключова різниця: ASP означає Active Server Pages. Він широко відомий як класичний ASP або ASP Classic. Це середовище сценаріїв на стороні сервера, розроблене та випущене компанією Microsoft. ASP.NET - це платформа веб-додатків на стороні сервера. ASPX означає Active Server Pages Extended. Він був розробле