Разлика между рекурсия и повторение

Ключова разлика: При програмирането рекурсията може да се обясни с рекурсивна функция. Рекурсивната функция е тази, която се призовава отново да повтори кода. От друга страна, итерацията се постига чрез итеративна функция, която се повтаря, за да се повтори част от кода.

При програмирането, рекурсията и итерацията се използват за постигане на повторения. Те се отнасят до процес, който се повтаря многократно. Рекурсията се основава на подход, при който нещо се отнася до себе си, докато не бъде изпълнено условие. Смята се, че методът е рекурсивен, ако може да се нарича пряко или косвено като -

void name ()

{

... име () ...

}

или

void name ()

{

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

}

void game () {

... име () ...

}

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

int factorial (int N)

{

if (N == 0) връща 1;

иначе ще се върне (N * факториал (N-1));

}

В този пример рекурсията може лесно да се види в оператора (N * факториал (N-1)), където отново извиква факторната функция. Рекурсията е много полезна, тъй като помага за съкращаване на кода. Въпреки това, рекурсията е малко бавна в изпълнението.

Итерацията се основава на вериги. Тези цикли се отнасят до изрични итерационни процеси. За да изпълни изискването за цикъл, той трябва да има някакъв тип критерии, който спира по-нататъшната итерация. Обаче, ако тестът за условието на цикъл никога не стане фалшив, тогава в това условие възникването на безкраен цикъл е неизбежно. В този пример факториалът се определя с помощта на итерационния процес -

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

{

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

резултат = 1;

за (цикъл = 1; контур <= N; контур ++)

{

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

}

резултат от връщане;

}

В този пример, цикълът се постига чрез използване на цели числа от 1 до n, а изразът <= n се използва като критерий за спиране на по-нататъшното циклиране. По този начин можем да заключим, че същите резултати могат да бъдат постигнати чрез рекурсия и итерация. И двете обаче се основават на подходи, които са малко по-различни. Всеки рекурсивен алгоритъм може да бъде написан и с итерации (контури).

Сравнение между рекурсия и повторение:

рекурсия

Повторение

дефиниция

Рекурсията се отнася до рекурсивна функция, в която се нарича отново, за да повтори кода.

Итерацията се постига чрез итеративна функция, която се повтаря, за да се повтори част от кода.

Важен момент

Необходимо е да се определи основен случай

Необходимо е да се определи условие за прекратяване

производителност

Сравнително бавно

Сравнително бързо

Използване на памет

Сравнително повече

Сравнително по-малко

код

По-малък

Повече време

Безкрайно повторение

Безкрайната рекурсия е способна да разбие системата

Безкрайните цикли многократно консумират процесорни цикли

структура

селекция

повторение

Локални променливи

Не е задължително

длъжен

Препоръчано

Свързани Статии

  • популярни сравнения: Разлика между Camcorder и Digicam

    Разлика между Camcorder и Digicam

    Ключова разлика: Видеокамера е електронно устройство, което е комбинация от видеорекордер и видеокамера в един процесор. Тя е по-официално известна като видеокамера. От друга страна, пълната форма на цифровия фотоапарат е цифрова камера. Digicams са наследник на нормалната камера, която вече не използв
  • популярни сравнения: Разлика между диаграмата на Гант и графика

    Разлика между диаграмата на Гант и графика

    Key Difference: Ключова диаграма се състои от няколко вертикално или хоризонтално разположени ленти, а дължината на лентите определя относителната величина на стойностите. Той използва правоъгълни ленти с дължини, пропорционални на стойностите, които те представляват. Диаграмата на Гант е хоризонтална д
  • популярни сравнения: Разлика между силовото управление и електронното кормилно управление

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

    Ключова разлика: Сервоуправлението е система, която помага при управление на колелата, като използва някаква спомагателна мрежа на захранването. Електронният сервоусилвател на волана също е система за сервоуправление, която използва електрически двигател и контролно устройство с някои сензори. Сервоуправлението е система, която помага при управлението на колелата, използвайки някакъв източник на енергия. Кормилното управление се отнася до механизма за насочване на колелата към желаната посока. Трябва да сте запознати с кормилните системи н
  • популярни сравнения: Разлика между Apache и Nginx

    Разлика между Apache и Nginx

    Ключова разлика: Apache се отнася до "Apache HTTP сървър". Това е уеб сървър с отворен код, предназначен за модерни операционни системи като Microsoft Windows, Netware и др. Nginx 'engine x' е безплатен, отворен HTTP и обратен прокси сървър. Също така е прокси сървър IMAP / POP3. За разлика от Apache, той е лек сървър. И двете са различни в много други аспекти. Apache се отна
  • популярни сравнения: Разлика между конференцията и срещата

    Разлика между конференцията и срещата

    Ключова разлика: Конференцията е събитие, което е организирано за организации с нестопанска цел или с нестопанска цел, за да обсъди въпроса или наболелите въпроси. Като цяло, срещата се отнася до събрание от хора, което има конкретна цел. Срещите обикновено са предназначени за някои официални или неформални дискусии. Конференцията е събитие, което се организира за организации с нестопанска цел или с нестопанска цел, за да обсъди
  • популярни сравнения: Разлика между зодиакален знак и хороскоп

    Разлика между зодиакален знак и хороскоп

    Ключова разлика: Зодиакален знак е позицията на слънцето върху еклиптиката по време на раждането на човека. Хороскоп може да бъде разбиран като небесна карта, изобразяваща подреждането на планетарни тела като слънцето, луната, звездите, звездните съзвездия, планетите и т.н., по време на раждането на човек или друго значително време в неговата / нейната живот. Зодиакът е форма на западната астрология, където движението на слънцето по време на раждането на човека поражда откровения за неговите /
  • популярни сравнения: Разлика между слушалки и слушалки

    Разлика между слушалки и слушалки

    Ключова разлика: Слушалките са чифт високоговорители, които са много малки по размер. Те са проектирани така, че да могат да ги поставят близо до ушите. Слушалките също са много подобни на слушалките и могат да се разглеждат само като алтернативна версия на ухото. Слушалките са свързани към източник на сигнал чрез кабели или чрез безжична мрежа. Източниците на сигнал включват аудио усилвател, радио, CD плейър или мобилен телефон. Те могат да се използват както с фиксирани, т
  • популярни сравнения: Разлика между препятствие и пречка

    Разлика между препятствие и пречка

    Ключова разлика: Те са често използвани думи за изразяване на препятствия. Пречките представляват блок, който осигурява препятствия, докато препятствието създава пречки за забавяне. Пречка означава "всяка структура, която прави напредъка труден". Пречка е преграда, която осигурява прекъсване в движението на обектите. Препя
  • популярни сравнения: Разлика между 3G и 4G

    Разлика между 3G и 4G

    Ключова разлика: 3G означава "трето поколение" и се отнася до мрежов стандарт в технологията за мобилен телефон, която е в състояние да осигури високоскоростна услуга за предаване на данни на мобилни устройства. От друга страна, 4G означава „четвърто поколение“ и се отнася до генерирането на клетъчни стандарти. Той е наследник на стандартите за 3G и 2G семейства. В 3G и 4G “G” озн

Избор На Редактора

Разлика между юдаизма и християнството

Ключова разлика: юдаизмът заявява, че Исус не е месията, която е обещана в Стария завет и не вярва, че той е син на Бога. Те вярват, че има само един Бог и той трябва да бъде единственият, който е почитан. Християните вярват, че Исус е Божият син и обещаният месия. Те вярват в Троицата, където Бог се състои от три единици: Отец, Синът и Святият Дух. Християнст