Какво е рекурсията? Рекусия в програмирането (примери)
Рекурсиите са интересни събития сами по себе си, но при програмирането те са от особено значение в отделни случаи. За пръв път, когато се натъкват на тях, доста голям брой хора имат проблеми с разбирането им. Това се дължи на огромното поле на потенциалното приложение на самия термин, в зависимост от контекста, в който се използва "рекурсията". Но може да се надяваме, че тази статия ще ви помогне да избегнете евентуално неразбиране или неразбиране.
съдържание
Какво е "рекурсията" като цяло?
Думата "рекурсия" има цял набор от стойности, които зависят от областта, в която се прилагат. Универсалното означение е това: рекурсиите са дефиниции, изображения, описания на обекти или процеси в самите обекти. Те са възможни само в случаите, когато обектът е част от себе си. По свой начин, математиката, физиката, програмирането и редица други научни дисциплини определят рекурсията. Практическо приложение, открито в работата на информационните системи и физическите експерименти.
Какво имате предвид чрез рекурсията в програмирането?
Рекурсивните ситуации или рекурсията в програмирането са моментите, в които процедурата или функцията на програмата се нарича. Колкото и странно да изглежда, че за тези, които започнаха да учат програмиране, това не звучи странно. Не забравяйте, че рекурсията не е трудна и в някои случаи те заменят цикъла. Ако компютърът правилно задава процедура или функция, тя просто започва да го изпълнява.
Рекурсията може да бъде ограничена или безкрайна. За да не се нарече първият човек, трябва да има и условия за прекратяване. Това може да бъде намаление на стойността на променливата и когато се достигне определена стойност, обадете се на стоп и прекратяване на програмата / преход към следващия код, в зависимост от необходимостта да се постигнат определени цели. Чрез безкрайно рекурсиране се означава, че ще бъде наречен, докато компютърът или програмата, в която се изпълнява, се изпълняват.
Също така е възможно да се организира комплексна рекурсия с две функции. Да предположим, че има А и Б. А има в кода на повикване до точка Б, и В, от своя страна, се посочва необходимостта за компютър, за да извършите комплекс А. рекурсия - изход от сложна поредица от логически ситуации за компютър логика.
Ако читателят чете тези линии, изследва програмните цикли, тогава той вероятно вече е забелязал приликата между тях и рекурсията. Като цяло те могат да изпълняват сходни или идентични задачи. С помощта на рекурсията е удобно да се направи имитация на работата на цикъла. Това е особено полезно, когато самите цикли не са много удобни. Схемата за внедряване на софтуер не се различава много от различните езици за програмиране на високо ниво. Но все пак рекурсията в "Паскал" и рекурсията в С или друг език има свои особености. Тя може успешно да се реализира на езици на ниско ниво като Assembler, но това е по-проблематично и отнема много време.
Дървета на рекурсията
Какво е "дърво" в програмирането? Това е ограничен набор, състоящ се от поне един възел, който:
- Той има начален специален възел, който се нарича корена на цялото дърво.
- Останалите възли са в количество, различно от нула, разпределени по двойки, и те също са дърво. Всички тези форми на организация се наричат субтриси на основното дърво.
С други думи: дърветата съдържат субтрии, които съдържат дървета, но в по-малка сума от предишното дърво. Това продължава, докато един от възлите няма възможност да се придвижи напред и това ще означава краят на рекурсията. Има още един нюанс за схематичното изображение: обикновените дървета растат отдолу нагоре, а при програмирането те се изтеглят назад. Възлите, които нямат разширение, се наричат крайни възли. За удобство при обозначаване и за удобство се използва генеалогична терминология (предци, деца).
Защо се използва в програмирането?
Използването на рекурсията в програмирането намери решение на редица сложни проблеми. Ако трябва само да направите едно обаждане, тогава е по-лесно да използвате интеграционен цикъл, но с две или повече повторения, за да избегнете изграждането на верига и да я направите като дърво и да се приложат рекурсивни ситуации. За широк кръг от проблеми организацията на изчислителния процес по този начин е най-оптимална от гледна точка на консумацията на ресурси. По този начин рекурсията в Pascal или друг език за програмиране на високо ниво е функция или процедура, преди условията да бъдат изпълнени, независимо от броя на външните обаждания. С други думи, в програмата може да има само един достъп до подпрограмата, но това ще се случи до определен момент предварително. В известен смисъл това е аналог на цикъла със собствената му специфична употреба.
Разликите в рекурсията на различни програмни езици
Въпреки общата схема на изпълнение и специфичното приложение във всеки отделен случай, рекурсията в програмирането има свои собствени характеристики. Това може да доведе до трудности при търсенето на необходимия материал. Но ние винаги трябва да помним: ако езикът за програмиране изисква функции или процедури, тогава рекурсивното повикване е работещо нещо. Но най-значимите разлики се проявяват при използване на ниски и високи езици за програмиране. Особено се отнася до възможностите за внедряване на софтуер. Изпълнението в крайна сметка зависи от определената задача, в съответствие с нея се пише рекурсията. Функциите и процедурите се използват по различен начин, но целта им винаги е една и съща - да се принудят да се наричат.
Рекурсията е лесна. Как да си спомним съдържанието на статията?
За начинаещите да го разберат, може да е трудно отначало, затова се нуждаем от примери за рекурсия или поне едно. Ето защо трябва да дадем малък пример от ежедневието, което ще помогне да се разбере самата същност на този механизъм за постигане на целите в програмирането. Вземете две или повече огледала, поставете ги така, че всички останали да се показват в едно. Можете да видите, че огледалата се показват многократно, създавайки ефект на безкрайност. Тук рекурсите са, от една страна, рефлексии (ще има много от тях). Както можете да видите, е лесно да се разбере, че ще има желание. И като изучавате програмните материали, можете да разберете, че рекурсията също е много лесна задача.
- Програмиране на микроконтролери за начинаещи: лесно и достъпно
- Информатика. Основи на алгоритмизацията и програмирането
- Абстрактен клас и метод: описание, характеристики и особености. Каква е разликата между абстрактния…
- "Какво е станало на стека", че се е върнал: абстрактната основа на реалността
- Типизирането е .. Типизиране в различни области на дейност
- Какъв е факторът? Специални случаи на употреба
- Компилацията е какво?
- Променливата в програмирането напълно се характеризира с какво?
- Ефективно използване на разузнавателните карти
- Популярни модни граници 2
- Алгоритъм рекурсивен: описание, анализ, характеристики и примери
- Какво е fizmat: концепция. Какво се изследва на фахите?
- "Интелектуални системи в хуманитарната сфера": съдържанието на дисциплината и областта на…
- Точните науки - какви са те
- Теория на графиката
- Решаване на проблемите при програмирането. Цикличен алгоритъм
- Метод на Хомори. Решаване на цялостни проблеми с програмирането
- Синтаксис jаvascript parseInt: примери за използване
- Значението и използването на jаvascript невалидни
- Аспектът е ... Всичко зависи от контекста и обхвата на думата
- Как да започнете да програмирате свои собствени програми