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

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

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

воид наме ()

{

... име () ...

}

или

воид наме ()

{

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

}

воид гаме () {

... име () ...

}

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

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

{

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

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

}

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

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

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

{

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

ресулт = 1;

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

{

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

}

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

}

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

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

Рекурзија

Итерација

Дефиниција

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

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

Важна тачка

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

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

Перформансе

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

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

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

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

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

Код

Мањи

Дуже

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

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

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

Структура

Селецтион

Понављање

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

Не тражи се

Потребан

Рецоммендед

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

  • разлика између: Разлика између Енглеске и Велике Британије

    Разлика између Енглеске и Велике Британије

    Кључна разлика: Енглеска је земља која дијели своје границе са Шкотском и Велсом. Велика Британија је острво које се састоји од Велса, Енглеске и Шкотске. На Енглеску се помиње више имена, укључујући Велику Британију, Велику Британију и Енглеску. Ова четири термина настављају да стварају конфузију међу људима, јер многи од њих и даље користе ове изразе наизменично. Међутим, ови термини су различити и односе се на комплетирање различитих подруч
  • разлика између: Разлика између киселине и базе

    Разлика између киселине и базе

    Кључна разлика: Киселине и базе су две врсте корозивних супстанци. Свака супстанца која има пХ вредност између 0 до 7 сматра се киселом, док је пХ вредност од 7 до 14 база. Киселине су јонска једињења која се раздвајају у води да би се формирао водонични јон (Х +). Јонска једињења су једињења са позити
  • разлика између: Разлика између ТИФФ и ЈПГ

    Разлика између ТИФФ и ЈПГ

    Кључна разлика: и ТИФФ и ЈПГ су формат датотеке за чување слика. ТИФФ означава Формат слике сликовних датотека. ЈПГ, изворно ЈПЕГ је скраћеница за Јоинт Пхотограпхиц Екперт Гроуп. ТИФФ похрањује датотеку слике са готово никаквом компресијом. Зато се често користи за чување слика које је потребно уредити и поново сачувати. Ј
  • разлика између: Разлика између без шећера и без шећера

    Разлика између без шећера и без шећера

    Кључна разлика : Израз "без доданог шећера" значи да у производу нема шећера, осим природних шећера у храни за које је производ произведен, док израз "без шећера" значи да наведени производ не садржи шећер на све. Често, док се претражују кроз различите прехрамбене артикле у пролазу за куповину, људи наилазе на етикете „без шећера“ и „без шећера“ на паковању хране. Њихова употреб
  • разлика између: Разлика између ХТМЛ и ДХТМЛ

    Разлика између ХТМЛ и ДХТМЛ

    Кључна разлика: ХТМЛ означава ХиперТект Маркуп Лангуаге. То је добро познат знаковни језик који се користи за развој веб страница. Већ дуже вријеме постоји и обично се користи у дизајну веб страница. ДХТМЛ је у суштини динамички ХТМЛ. То је нови начин гледања и контроле стандардних ХТМЛ кодова и команди. ДХТМЛ је колекција технологија које се користе за креира
  • разлика између: Разлика између ДДР5 и ГДДР5 графичке картице

    Разлика између ДДР5 и ГДДР5 графичке картице

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

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

    Кључна разлика: Алуминијумска фолија је танак слој алуминијума дебљине мање од 0, 2 милиметра и може се користити за различите ствари око куће. Лимена фолија је танак лист фолије направљен од коситра. То је био најчешћи тип амбалаже и изолационог материјала који је кориштен прије Другог свјетског рата, након чега је алуминиј постао најјефтинији материјал и оти
  • разлика између: Разлика између терминских уговора и будућег уговора

    Разлика између терминских уговора и будућег уговора

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

    Разлика између Смартпхоне и Суперпхоне

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

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

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

Кључна разлика: Бели слатки кромпир је мање слаткаст и укуснији од укуса наранџастог слатког кромпира. Слатки кромпир је гомољасто корење биљке слатког крумпира. Листови и цветови биљке су такође јестиви, али нису толико популарни као корени. Слатки кромпир је велик, укусан и укусан. У Северној Америци, наранџасти слатки кромпир се назива "јамс". Међутим, ово је погрешно означавање, јер слатки крумпир уопште није везан за слатки