Разлика између рекурзије и понављања

Кључна разлика: У програмирању се рекурзија може објаснити разматрањем рекурзивне функције. Рекурзивна функција је она која се поново позива да понови код. С друге стране, итерација се постиже итеративном функцијом која се понавља да би се поновио неки део кода.

У програмирању се рекурзија и итерација користе за постизање понављања. Они се односе на процес који се понавља више пута. Рекурзија се заснива на приступу у којем се нешто односи на себе док се не испуни услов. Речено је да је метода рекурзивна ако се може позвати директно или индиректно као -

воид наме ()

{

... име () ...

}

или

воид наме ()

{

... игра () ...

}

воид гаме () {

... име () ...

}

За успешну рекурзију, треба имати на уму да сваки позив направљен у процесу рекурзије мора поједноставити рачунање. Рекурзија се постиже дефинисањем основног случаја.

инт фацториал (инт Н)

{

иф (Н == 0) ретурн 1;

иначе се врати (Н * факторијално (Н-1));

}

У овом примеру, рекурзија се лако може видети у изјави (Н * факторијал (Н-1)), где поново позива факторску функцију. Рекурзија је веома корисна јер помаже у скраћивању кода. Међутим, рекурзија је мало спора у перформансама.

Итерација се заснива на петљама. Ове петље се односе на експлицитне итерацијске процесе. За испуњавање захтева петље, она мора да има неки тип критеријума који зауставља даљу итерацију. Међутим, ако тест петље-услов никада не постане лажан, онда је у том стању појављивање бесконачне петље неизбежно. У овом примеру факторијал се одређује помоћу процеса итерације -

функција фацториал (н)

{

вар лооп, ресулт;

ресулт = 1;

фор (лооп = 1; лооп <= н; лооп ++)

{

ресулт = ресулт * лооп;

}

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

}

У овом примеру, петља се постиже коришћењем целих бројева од 1 до н, а израз <= н се користи као критеријум за заустављање даље петље. Дакле, можемо закључити да се исти резултати могу постићи кориштењем рекурзије и итерације. Међутим, оба су заснована на приступима који су мало другачији. Било који рекурзивни алгоритам такође може бити написан коришћењем итерација (петљи).

Поређење између рекурзије и понављања:

Рекурзија

Итерација

Дефиниција

Рекурзија се односи на рекурзивну функцију у којој се поново позива да понови код.

Итерација се постиже итеративном функцијом која се понавља да би се поновио неки део кода.

Важна тачка

Потребно је одредити основни случај

Потребно је одредити увјет прекида

Перформансе

Цомпаративели слов

Компаративно брзо

Употреба меморије

Компаративно више

Компаративно мање

Код

Мањи

Дуже

Бесконачно понављање

Бесконачна рекурзија је способна да руши систем

Бесконачна петља више пута троши циклусе процесора

Структура

Селецтион

Понављање

Локалне варијабле

Не тражи се

Потребан

Рецоммендед

Везани Чланци

  • разлика између: Разлика између упутстава и процедура

    Разлика између упутстава и процедура

    Кључна разлика: У поређењу са тим, процедура је мање детаљна од инструкција и даје општи преглед онога што се мора урадити. Инструкција је детаљнија и бави се смерницама по тачкама о томе како се тај посао мора обавити. У основи, и процедуре и инструкције служе различитој сврси и морају се користити као комплименти. Упутства и процедуре су две различите речи које се често могу збунити. Од особ
  • разлика између: Разлика између земље и државе

    Разлика између земље и државе

    Кључна разлика: Главна разлика између државе и државе је у томе што се израз "земља" односи на велику државу са властитом владом и економијом, док се израз "држава" односи на велику управну област унутар земље. “Држава” се понекад може користити и за цијелу земљу. Када се прави разлика између државе и државе, проблем се јавља углавном зато што израз 'држава' има два р
  • разлика између: Разлика између Сони Кспериа Ј и Нокиа Лумиа 620

    Разлика између Сони Кспериа Ј и Нокиа Лумиа 620

    Кључна разлика: Кспериа Ј је најављена у октобру 2012. као јефтинија варијанта Кспериа Т, што је резултирало сличним дизајном као и модел Кс. Кспериа Ј има ТФТ екран осетљив на огреботине отпоран на огреботине који нуди густину пиксела од 245. Нокиа Лумиа 620 има 3.8-инчни екран резолуције 480 к 800 пиксела. Поседује Куалцомм Снапдрагон С4 Дуал-Цоре 1 ГХз Краит и 512 МБ РАМ-а. Поседује 8 ГБ интерног капацитета за складиштење и екс
  • разлика између: Разлика између Делл КСПС 10 и Некус 7

    Разлика између Делл КСПС 10 и Некус 7

    Кључна разлика: Делл КСПС 10 је 10.1-инчни таблет који се испоручује са тастатуром Доцк да би се претворио у лаптоп. Екран је ХД Дисплаи капацитивни мулти-тоуцх екран са 1366 к 768 пиксела и приближно 155 ппи густине пиксела. Некус 7 је таблет рачунар са оперативним системом Андроид 4.1 (такође назван Јелли Беан). Развијен је у сарадњи са Асусом. Делл је популарна компанија позната по сво
  • разлика између: Разлика између пчеле и оса

    Разлика између пчеле и оса

    Кључна разлика: Пчеле се обично повезују са Медом и тачно тако. Пчеле праве и складиште мед из полена и нектара који скупљају са цвијећа. Осе су чешће предатори, иако се често откривају да мреже тајне биљну смолу која се може збунити за мед. Када дође у априлу, не само да доноси прекрасно цвијеће и кишу, већ и колекцију чудних кукаца и инсеката. Лепо време није само савршено за нас, већ и за многе инсекте који излазе да се хране.
  • разлика између: Разлика између Друпала 6 и Друпала 7

    Разлика између Друпала 6 и Друпала 7

    Кључна разлика: Друпал има много верзија и тренутно ради на верзији 7. Свака верзија има за циљ да учини систем лакшим за корисника и нуди различите карактеристике које омогућавају веб страницама да буду динамичније природе. Друпал верзија 6 је представљена у фебруару 2008. године, док је Друпал верзија 7 представљена у јануару 2011. године. Друпал је оквир за управљање садржајем или ЦМС који омогућава кор
  • разлика између: Разлика између удела и задужнице

    Разлика између удела и задужнице

    Кључна разлика: Дионице су врста улагања у капитал или финансирање и представљају јединицу финансирања. Дуговања су средњорочна и дугорочна инвестиција која омогућава компанијама да прикупљају финансијска средства позајмљивањем новца од грађана. Дионице и задужнице су уобичајене појаве када се ради о улагању у посао или фирму. Ове двије врсте су двије различите врсте инвестиција које особа може направити или компанија може издати како би прикупила капи
  • разлика између: Разлика између пива и јабуковаче

    Разлика између пива и јабуковаче

    Кључна разлика: Већина врста пива се заправо производи од јечма, мада се могу користити друга зрна као што су пшеница, хмељ итд. Сидер, с друге стране, првенствено је створен или од пулпе јабуке или сока од јабуке, али ипак јабука. Пиво и јабуковац су две различите врсте алкохолних пића. Међутим, може бити прилично збуњујуће рећи им да се разликују, јер су врло сличне, због чега многи људи погрешно мисле да су
  • разлика између: Разлика између густине и тежине

    Разлика између густине и тежине

    Кључна разлика: Густина је маса објекта по волумену. Тежина је сила коју земља повлачи на масу објекта. Густина и тежина су оба термина који се најчешће користе у физици, али за ширу јавност разлика између њих можда није позната. Ово је још теже, јер термини имају и друге намене у другим областима. Као што се тежина користи у здравственој и медицинској арени за личну тежину, или као густина се такође користи да

Избор Уредника

Разлика између индијске и континенталне хране

Кључна разлика : индијска кухиња обухвата разноврсну регионалну кухињу која је поријеклом из индијског тла. Цонтинентал је генерализовани израз који се заједнички односи на кухиње Европе и других западних земаља. Са порастом глобализације, људи широм света су почели да се навикавају и уживају у различитим расположивим кухињама. Индијска кухиња је једна од омиљених кухиња људи у земљама. У