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

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

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

воид наме ()

{

... име () ...

}

или

воид наме ()

{

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

}

воид гаме () {

... име () ...

}

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

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

{

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

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

}

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

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

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

{

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

ресулт = 1;

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

{

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

}

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

}

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

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

Рекурзија

Итерација

Дефиниција

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

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

Важна тачка

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

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

Перформансе

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

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

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

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

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

Код

Мањи

Дуже

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

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

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

Структура

Селецтион

Понављање

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

Не тражи се

Потребан

Рецоммендед

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

  • популарна поређења: Разлика између Наан и Паратха

    Разлика између Наан и Паратха

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

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

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

    Разлика између кинеског и корејског

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

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

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

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

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

    Разлика између омлета и фритата

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

    Разлика између витрифицираних плочица и глазираних плочица

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

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

    Кључна разлика: Први насељеници Новог Зеланда који говоре енглески језик били су аустралски ловци на печате из казнене колоније Порт Јацксон (Сиднеи). Аустралски енглески је мешавина британског и америчког енглеског језика. Овај нагласак се углавном чује у Јужној Аустралији, Викторији и Западној Аустралији. Акцент је термин који се обично чује у лингвистици. Акценат се односи на одређени начин говорења јези
  • популарна поређења: Разлика између потврђивања и сарадње

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

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

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

Разлика између озбиљности и приоритета

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