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

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

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

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

{

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

}

або

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

{

... гра () ...

}

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 використовується як критерій для припинення подальшого циклування. Таким чином, можна зробити висновок, що ті ж результати можна досягти за допомогою рекурсії і ітерації. Проте, обидва вони базуються на підходах, які трохи відрізняються. Будь-який рекурсивний алгоритм також може бути записаний з використанням ітерацій (циклів).

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

Рекурсія

Ітерація

Визначення

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

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

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

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

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

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

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

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

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

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

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

Код

Менше

Більше

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

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

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

Структура

Вибір

Повторення

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

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

вимагається

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

Схожі Статті

  • різниця між: Різниця між HTC Windows 8X і Sony Xperia SP

    Різниця між HTC Windows 8X і Sony Xperia SP

    Основна різниця: HTC Windows 8X має 4, 3-дюймовий ємнісний сенсорний екран S-LCD2, який забезпечує щільність пікселів 342ppi. Екран захищений за допомогою горила 2, що робить його досить міцним і менш схильним до подряпин. Телефон досить щільний і тонкий, вага всього лише 130 грам з акумулятором. Xperia SP є 4, 6-дюймовим TFT ємнісним сенсорним телефоном, який був поміщений
  • різниця між: Різниця між Bharat Petroleum та Hindustan Petroleum

    Різниця між Bharat Petroleum та Hindustan Petroleum

    Основна відмінність: Bharat Petroleum - це Bharat Petroleum Corporation Limited (BPCL), індійська нафтогазова компанія, заснована в 1977 році, і займає 229-е місце у рейтингу Fortune Global за 2013 рік. Limited (HPCL), також є індійською державною нафтовою і газовою компанією, заснованою в 1974 році, і зайняла 260 місце в рейтингу Fortune Global за 2013 рік. Bharat Petroleum та Hindustan Petroleum є найбільш відомими та найбільшими нафтовими компаніями Індії. Обидві країни вносять значну частку в галузях економіки статистики нафти в І
  • різниця між: Різниця між прикметником і прислівником

    Різниця між прикметником і прислівником

    Ключова різниця: прикметники та прислівники є частиною восьми частин мови. Однак вони відрізняються тим, як вони використовуються. Прикметники - це слова, які використовуються для опису або модифікації іменника або займенника. Вона може описувати, ідентифікувати або кількісно визначати річ або особу. Прислівником по суті є будь-яке слово або слова, які використовуються для опису або модифікації дієслова, прикмет
  • різниця між: Різниця між SAT і GRE

    Різниця між SAT і GRE

    Ключова різниця : Різниця між двома іспитами полягає в тому, що САТ, як правило, дається учнів середньої школи, щоб отримати прийом в аспірантурі, тоді як GRE дається аспірантами, щоб отримати допуск в аспірантурі. Хоча GRE та SAT одночасно вимірюють читання, письмо та математичні навички, існує ряд ключових відмінностей між двома тестами. Найбільш істотною відмінністю є те, як вик
  • різниця між: Різниця між гемофілією А і гемофілією В

    Різниця між гемофілією А і гемофілією В

    Ключова різниця: гемофілія А і гемофілія - ​​два різні типи гемофілії, викликані дефіцитом коагуляційного фактора VIII і IX відповідно. Гемофілія - ​​це порушення кровотечі, яке виникає через дефіцит або відсутність специфічного білка, необхідного для згортання крові. Внаслідок цього дефіциту після травми людина кровоточить довше. Цей специфічний білок в основному пов'язаний з фактором згортання, який представляє собою ряд білків крові. Людський організм містить 12 факторів згортан
  • різниця між: Різниця між щуром і мишею

    Різниця між щуром і мишею

    Ключова різниця : Щура - середні до великих гризунів, з загостреною мордою, довгим струнким і безволосим хвостом і спритними передніми лапами. Миша - це дрібний ссавець розміром з горобця. Вона, як правило, має загострену морду, невеликі закруглені вуха і довгий голий або майже голий хвіст. Щур і миша часто плутаються як однакові через по
  • різниця між: Різниця між Roti і Phulka

    Різниця між Roti і Phulka

    Ключова різниця: Роті - це вид індійських плоских коржів, виготовлений з атти (цільнозернового борошна). Phulka - це специфічний тип рота, який частково готується на таві (плоскій сковороді) і частково на відкритому вогні, що веде до phulka, щоб піднятися. Roti, Phulka, chapatti - лише деякі з слів, які часто зустрічаються в індійській кухні. Фактично, більшість індійських страв складаються принаймні з однієї з цих речей. Однак, яка різниця між
  • різниця між: Різниця між 3GP і 3GPP

    Різниця між 3GP і 3GPP

    Основна різниця: 3GP є мультимедійним контейнерним форматом, в основному для мультимедійних послуг 3G UMTS. Він був розроблений проектом партнерства третього покоління (3GPP). З іншого боку, 3GPP - це співпраця між глобальними телекомунікаційними асоціаціями. Це полягало у створенні глобальної специфікації м
  • різниця між: Різниця між eMMC і SSD

    Різниця між eMMC і SSD

    Основна різниця: eMMC означає Embedded MultiMediaCard, а SSD - твердотільний диск або твердотільний диск. Основна відмінність між ними полягає в тому, що eMMC є типом флеш-пам'яті на основі стандарту MMC, а SSD - це тип твердотільного сховища. eMMC і SSD є двома різними типами пам'яті. eMMC означає Embedded MMC, а MMC - MultiMediaCard. Це тип стандарту карти пам'яті, який зазвичай використ

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

Різниця між його та це

Ключова відмінність: «Його» є присвійною формою. "Це" - це означає це або є. Це одна з найпоширеніших помилок англійської мови. Щоб уникнути цього, треба пам'ятати, що головна відмінність між «його» і «це» полягає в тому, що «його» є власницькою формою, а «це» - це або є. "Його" слід використовувати таким же чином, як і його або її. Наприклад, це його сорочка / це її спідниця / це її взуття. З іншого боку, «це» слід використовувати тільки тоді, коли його можна замінити