Алгоритмі рекурсивный: сипаттамасы, талдау, ерекшеліктері мен үлгілері

Күні:

2018-11-05 09:50:20

Hits:

848

Рейтинг:

1Сүю 0Жеккөру

Үлесі:

Table of contents:

Қазіргі заманғы түсіну рекурсии: функционалдығын анықтау, өтініш, онда сырттан келетін және осы функционалдығы. Болып саналады, бұл рекурсия болды рождена математиками: есептеу факториала, шексіз қатарлар, фракталы, үздіксіз бөлшектер... Алайда, рекурсию анықтауға болады барлық жерде. Объективті табиғи заңдар «деп» рекурсию өзінің негізгі алгоритміне және білдіру нысаны (өмір сүру) ғана емес, заттардың материалдық әлемнің қанша жалпы негізгі алгоритміне.

алгоритм рекурсивный

әр түрлі мамандықтар бойынша ғылым мен техниканың түрлі салаларында пайдаланады рекурсивный алгоритм f (x), онда «x ~/= f (x)». Функция тудыратын, өзі, - мықты шешім, бірақ және қалыптастыру түсіну және осы шешімнің көптеген жағдайларда, өте маңызды міндет.

сонау замандарда қолданған рекурсию ұлғайту үшін дворцового кеңістік. Жүйесі арқылы бағытталған бір-біріне айналар жасауға керемет көлемді кеңістіктік әсерлер. Бірақ бұл солай ма түсіну оңай, қалай бұл айналар? Ал одан да қиын болып белгіленсін орналасқан нүкте кеңістікте көрсетілген бірнеше айналар.

Рекурсия, рекурсивті алгоритмдер: мәні және синтаксис

- Міндет, ол тұжырымдалған қайталайды операциялардың реттілігін шешілуі мүмкін рекурсивно. Қарапайым алгоритмі (есептеу шаршы теңдеулер, скрипт толтыру веб-беттерді ақпаратпен, оқу файл, хабар беру... қолдануды талап етеді рекурсии.

Негізгі айырмашылықтары алгоритм, ол жол береді рекурсивное шешім:

  • бар алгоритмі, ол орындау керек бірнеше рет;
  • алгоритмі қажет деректерді, өзгеретін әр рет;
  • алгоритмі емес, міндетті түрде өзгеруі әр рет;
  • бар соңғы шарт: алгоритм рекурсивный - бесконечен.

жалпы жағдайда, болмайды деп айтуға бір реттілігі орындау - міндетті шарт болмаған себеп үшін рекурсии. Болмайды, сондай-ақ талап етуге болуын міндетті финалдық шарттары: бесконечных рекурсий бар, өзіндік қолдану аясы.

Көп:

Динамикалық және статикалық жұмыс бұлшық: айырмашылығы неде?

Динамикалық және статикалық жұмыс бұлшық: айырмашылығы неде?

Динамикалық және статикалық жұмыс бұлшық үшін қажетті қалыпты жұмыс істеуі адам ағзасының орындау қозғалыстардың тән біздің телу. Адам ағзасы табиғатпен жасап шығарылды болатындай өте жақсы жеңе екеуімен де түрлері жүктеме. Динамикалық және статикалы...

Медициналық колледжі НИУ

Медициналық колледжі НИУ "белгород мемлекеттік университетінің дипломын алды": мекен-жайы, мамандығы, түсуі, пікірлер

Медицина колледжі медицина институтының қаласында Белгород жыл сайын қабылдайды, өзінің қанатының астына жүздеген студент облыс және жақын өңірлердің және жыл сайын шығарады мамандар орта медициналық білімі бар.қандай мамандықтар дайындайды мекемесі,...

Нервтік импульс, оның түрлендіру және беру тетігі

Нервтік импульс, оның түрлендіру және беру тетігі

Жүйке жүйесі адам ретінде өзіндік үйлестірушісі біздің ағзамызда. Ол деп хабарлайды команданың ми мускулатуре, органдарға, тіндерге және өңдейді сигналдар шыққан олардан. Ретінде өзіндік тасығыштың деректер пайдаланылады жүйке серпін. Ол нені білдіре...

Алгоритмі рекурсивный: операциялардың жүйелілігі бірнеше рет орындалады, деректер, олар өзгереді, әр бір рет беретін сайын жаңа нәтиже.

Формуласы рекурсии

Математикалық түсіну рекурсии және оның аналогы бағдарламалау отличны. Математика болса да тән белгілері бағдарламалау, бірақ бағдарламалау - математика әлдеқайда жоғары.

рекурсивный алгоритмі f

Жақсы жазылған алгоритм - айнасы ретінде интеллект оның авторы. Жалпы формуласы рекурсии программировании «f (x)», «x ~/= f (x)», кем дегенде, екі нұсқасы түсіндіру. Бұл жерде «~» - ұқсастық немесе болмауы нәтижесін, ал «=» - болуы нәтижесін функциялары.

Бірінші нұсқа: динамикасы.

  • функция «f(x)» бар алгоритмі рекурсивный және өзгергіштік;
  • «x» нәтиже «f(x)» - әр жолы бар жаңа маңызы бар, нәтижесі - «f(x)» жаңа параметрі «x» осы функциялары.

Екінші нұсқа: динамикасы коды.

  • функция «f(x)» бірнеше алгоритмдер, нақтылайтын (анализирующих) деректер;
  • деректерді талдау - бір бөлігі кодын және іске асыру рекурсивных алгоритмдерін орындайтын, дұрыс әрекет, екінші бөлігі код;
  • нәтиже функциялары «f(x)».

Болмауы нәтижесін алуы - қалыпты құбылыс. Бағдарламалау - бұл математика, мұнда нәтиже міндетті түрде қатысуы тиіс анық. Функция, исполняемая рекурсивно, мүмкін жай ғана істеу керек парсинг сайттар мен толтыру деректер базасына немесе жасауға қажетті даналары сәйкес объектілердің түскен кіріс ағынына.

Деректер және рекурсия

Программалау рекурсивных алгоритм - есептеу факториала, онда функциясы алады, әр жолы осы, тамаша бірлігіне кіші немесе үлкен жағына қарай - нұсқа іске асыру байланысты артықшылық әзірлеуші.

мәні маңызды деп санауға факториал «8!» жүре отырып, 0, 1, 2, ... немесе керісінше, 8, 7, 6 ... Ұқсас есептеу математикалық реттілігі, фрактала немесе шексіз бірқатар жазылады қарапайым математикалық формуласы және, тиісінше, алгоритмге, ол қатаң жөн осы формула.

ақпаратты Өңдеу - бұл «математика» мүлдем басқа. Рекурсивті функциялар мен алгоритмдер бұл жерде жүзеді әріптермен, сөздермен, сөз тіркестерін қолданған дұрыс, ұсыныстарымен және абзацтармен. Әрбір келесі деңгей пайдаланады предыдущий.

Кіріс ағыны деректер талданады кең спектрі бойынша шарттарын, бірақ процесс талдау тұтастай алғанда рекурсивен. Жоқ жаза бірегей алгоритмдері барлық нұсқалары кіріс ағыны. Тиіс бір функционалды. Бұл жерде рекурсивті алгоритмдер мысалдары, сонымен қатар қалыптастыру шығыс ағын, барабар кірістік. Бұл нәтиже емес, түсетін кіру рекурсивного алгоритм, бірақ бұл қалаулы және қажетті шешім.

Абстракция, рекурсия және ҚҚТБ

Объектілі-бағытталған бағдарламалау (ОББ) рекурсия - түбегейлі әр түрлі мәні бар, бірақ олар өте бір-бірін толықтырады. Абстракция еш қатысы жоқ, рекурсии, бірақ призмасы арқылы ҚҚТБ жүзеге асыру мүмкіндігін туғызады, мәнмәтіндік рекурсии.

Мысалы, талдау, ақпарат және бөлінеді жеке әріптер, сөздер, фразалар, сөйлемдер мен абзацтар. Әлбетте, әзірлеуші көздейді құру объектілерінің даналары, осы бес типін ұсынады шешім рекурсивных алгоритмдер әр деңгейде.

бағдарламалау рекурсивных алгоритмдер

сонымен қатар, егер деңгейінде әріптердің «жоқ іздеп мағынасы», онда деңгейінде сөздердің пайда болады семантика. Бөлуге болады сөздер етістіктер, существительные, үстеу, шылау ... баруға оқу және анықтау жағдайлары.

деңгейінде тіркестерінің семантика толықтырылады белгілермен пунктуация және логикасы ұштастыру принципі. Деңгейінде ұсыныстар анықталса жетілген деңгейі семантикасы, абзац деп қарастыруға болады толық ой.

Объектілі-бағдарланған әзірлеу алдын ала анықтайды мұрагерлік қасиеттері мен әдістерін ұсынады бастауға иерархиясын объектілерді құру абсолютті абстракциялық предка. Бұл, ешбір күмәнсіз, талдау әрбір ұрпағы болады рекурсивный сипаты мен тым ауытқымауы техникалық деңгейде көптеген ұстанымдар бойынша (әріптер, сөздер, фразалар мен сөйлемдер). Абзацтар, аяқталған ой бөлінуі мүмкін осы тізімнен, бірақ мәні.

бұл подавляющую бөлігі алгоритм тұжырымдауға болады деңгейінде абстрактылы предка белгілеуі деңгейде әрбір ұрпағы деректермен және әдістерімен шақырылған бірге абстрактілік деңгей. Осы тұрғыда абстракция үшін жаңа мүмкіндіктер ашады рекурсии.

Тарихи ерекшеліктері ҚҚТБ

ҚҚТБ приходило әлеміне бағдарламаларын екі рет, дегенмен кейбір мамандар мүмкін бөлу пайда болуы бұлтты технологиялар мен қазіргі заманғы білім беру объектілерінде және сыныптарда жаңа кезеңін дамытуда ІТ-технологиялар.

Терминдер «объект» және «объектілік» қазіргі заманғы контексінде ҚҚТБ, қабылданды жатқызуға 50-ші және 60-шы жылдары өткен ғасырдың, бірақ шындап оларды 1965 жылмен пайда болуымен тілдерді Simula, Lisp, Algol, Smalltalk.

сол уақытта бағдарламалау емес отличалось ерекше дамуымен және емес еді барабар революциялық тұжырымдамасы. Дейін күрес идеялар мен стильдер программалау (С/С++ және Pascal - негізінен) болды алыс, ал деректер базасын ғана қалыптасты тұжырымдамалық.

рекурсия рекурсивті алгоритмдер

80-жылдардың соңында және 90-х Pascal пайда нысандары және барлық еске түсіріп про сыныптар С/С++ - бұл ознаменовало жаңа бағдары қызығушылығын ҚҚТБ және дәл сол кезде аспаптық құралдары, ең алдымен программалау тілдері болды ғана емес, қолдайды объектілі-бағытталған идеялар, бірақ, дами тиісінше.

Әрине, егер бұрын рекурсивті алгоритмдер атынан өзара жай функциялары пайдаланылатын жалпы кодында бағдарлама болса, енді рекурсия еді бір бөлігі болуға объект қасиеттері (сынып), бұл тұрғыда мұрагерлік предоставляло қызықты мүмкіндіктері.

Ерекшелігі қазіргі заманғы ҚҚТБ

Дамыту ҚҚТБ бастапқыда декларировало объектілер (сыныптар) жиынтығы ретінде деректер мен қасиеттерінің (әдістерін). Іс жүзінде әңгіме туралы деректер бар синтаксис және мағынасы. Бірақ ол кезде мүмкін болмады ұсыну ОББ-дың құралы ретінде басқару нақты объектілері.

рекурсивті функциялар және алгоритмдер

ҚҚТБ айналып құрал объектілерін басқару «компьютерлік табиғат». Скрипт, батырма, мәзір элементі, жолы, мәзір тег-браузер терезесінде - бұл объект. Бірақ станок, тағам түрі, сөз немесе ұсыныс. Нақты объектілер қалды шегінен тыс объектілі-бағдарланған бағдарламалау, компьютерлік құралдар сатып алған жаңа сипатқа.

Салдарынан айырмашылығы танымал бағдарламалау тілдер, кӛптеген диалект ҚҚТБ. Бойынша семантикасы олар іс жүзінде тең, ал олардың бағдарлану аспаптық саласына емес, қолданбалы, мүмкін етеді шығаруға сипаттамасы нақты объектілерін шегінен тыс алгоритмдер және оларды қамтамасыз етуі межплатформенное және межъязыковое «болуы».

Теңді мен тетіктері шақыру функцияларын

Тетіктері шақыру функциялары (рәсімдер, алгоритмдер) талап етеді деректер беру (параметрлерін), нәтижесін қайтару және есте сақтау мекенжайлары оператордың, ол алуға тиіс басқармасы аяқталғаннан кейін функциялары (рәсімдер).

рекурсивті алгоритмдер мысалдары

Әдетте осы мақсаттар үшін пайдаланылады стек, бірақ программалау тілдері немесе өзі программист-разработчик көздеуі мүмкін әр түрлі нұсқалары беру. Заманауи бағдарламалау жол береді, бұл аты функциялары болуы мүмкін тек параметрі: ол қалыптасуы мүмкін орындалу барысында алгоритм. Алгоритмі, сондай-ақ құрылуы мүмкін орындау процесінде басқа алгоритм.

Ұғымы рекурсивных алгоритмдер, олардың аттары және дене анықталуы мүмкін кезде білім беру міндеттері (таңдағаннан алгоритм) кеңейтеді рекурсивность ғана емес, қалай жасауға, және кім дәл осы істеу керек. Таңдау бойынша алгоритм және оның «осмысленному» - перспективалы, бірақ қиындықтар туғызады.

Рекурсивность көптеген функциялар

- деп айтуға Болмайды, бұл алгоритм рекурсивный, ол тудырады, өзіне ғана. Бағдарламалау - догма, түсінігі рекурсивности - бұл айрықша талап тудыруы өзін дененің меншікті алгоритмі.

Практикалық қолдану әрқашан береді таза шешім. Жиі бастапқы деректерді дайындау қажет, ал нәтижесі рекурсивного шақыру қажет талдау контекстінде барлық міндеттері (барлығы алгоритм).

іс Жүзінде ғана емес, алдында шақырылуына рекурсивной функциялары, бірақ және ол аяқталғаннан кейін мүмкін немесе тиіс туындады басқа бағдарлама. Егер шақырта отырып, ерекше қиындықтар жоқ: рекурсивная функциясы A() функциясын тудырады B(), ол туғызады A(), онда бірден проблемасы туындайды қайтару. Істеп рекурсивный шақыру функциясы A() алуға тиіс басқармасы үшін қайта шақыруға B(), ол қайтадан оны тудырады. Қайтару басқару, дұрыс тәртібі бойынша дестесін кері B() - дұрыс шешім.

Программист шектелмеген таңдау параметрлері және мүмкін комплектовать олардың есімдерімен функциялар. Басқаша айтқанда, тамаша шешім беруге A() аты-B() болсын және өзім A() ж / е шақыру B(). Мұндай нұсқада қиындық болмайды қайтаруға басқару, иә және іске асыру рекурсивного алгоритм болады прозрачнее.

және Түсіну деңгейі рекурсии

Проблема әзірлеу рекурсивных алгоритмдер керектігі туралы түсінік алу процесінің динамикасы. Пайдалану кезінде рекурсии әдістері объектілердің, әсіресе деңгейінде абстрактылы предка, пайда проблема түсіну меншікті алгоритмін контексінде уақыт және оны орындау.

қазіргі уақытта шектеу жоқ деңгейі бойынша gsm-функциялар мен сыйымдылығы стек, механизмдердегі сын, бірақ бар проблема түсіну: қай уақытта қандай да бір деректер немесе қандай жалпы алгоритмі орындады шақыру рекурсивной функциялары және қандай мөлшерде сын өз-өзіне ол.

қолда Бар құралдарға жөндеу жиі дәрменсіз болып қаламыз мағыналарына программистке дұрыс шешім.

Циклдер және рекурсия

деп Саналады пайдаланылады орындау баламалы рекурсии. Шын мәнінде, кейбір жағдайларда, рекурсивный алгоритмін жүзеге асыруға болады " синтаксисе шартты және циклдік конструкциялары.

Алайда, айқын түсінік бар, бұл нақты функциясы іске асырылуы тиіс арқылы рекурсивного алгоритм керек бас тартуға кез келген сыртқы нұсқаны пайдалану цикл немесе шартты операторлар.

жүзеге асыру рекурсивных алгоритмдер

Мағынасы осында ерекшелігі рекурсивное шешім түрінде функциясын пайдаланатын өзін өзі болады аяқталған, функционалды толық алгоритміне. Бұл алгоритм талап бағдарламашы күш оны құру кезінде, түсіну динамикасын жұмыс алгоритмін, бірақ ол түпкілікті шешім, ол талап етпейді сыртқы басқару.

Кез келген комбинациясы сыртқы шартты және циклдік операторлардың ұсынуға мүмкіндік береді рекурсивный алгоритмі түрінде толыққанды аяқталған функциялары.

Консенсус рекурсии және ҚҚТБ

іс Жүзінде барлық нұсқаларында әзірлеу рекурсивного алгоритм туындайды жоспарын әзірлеу екі алгоритм. Бірінші алгоритм тізімін қалыптастырады, болашақ объектілерінің (даналарының), ал екінші алгоритмі білдіреді өзіндік рекурсивную опцияны таңдаңыз.

ең Үздік шешім болады оформить рекурсию түрінде бір қасиеттері (әдісін), тегінде бар рекурсивный алгоритмі, ал барлық дайындық жұмыстарын шығаруға конструктор объект.

Рекурсивный алгоритмі болады, сонда ғана дұрыс шешім, ол тек өзі, сырттай бақылау және басқару. Сыртқы алгоритмі тек дать сигнал. Осы жұмыстың нәтижесі болуы тиіс күтілетін шешім, сыртқы қолдау.

Рекурсия тиіс әрқашан аяқталған дербес шешімімен.

Интуициялық түсіну және функционалдық толықтығы

Кезде объектілі-бағытталған бағдарламалау болды стандарт де-факто болды анық үшін тиімді кодтау өзгерту керек жеке ойлау. Бағдарламашы тиіс көшу синтаксис және семантика тілдің серпініне қарай семантикасы орындау барысында алгоритм.

қадамды рекурсии: ол қолданылуы мүмкін барлық:

  • парсинг сайттар;
  • іздеу операциялар;
  • талдау мәтіндік ақпарат;
  • оқу немесе құжаттар құру MS Word;
  • іріктеме немесе талдау тег...

қадамды ҚҚТБ: ол мүмкіндік береді сипаттау рекурсивный алгоритмі деңгейінде абстрактылы предка, бірақ көздеу, онда жүгіну бірегей ұрпақтарына бар, олардың әрқайсысы өз палитрой деректер мен қасиеттері.

ұғымы рекурсивных алгоритмдер

Рекурсия - ғажапсың қажет, функционалдық толықтығы өзінің алгоритм. ОББ-дың жақсартады сапалық көрсеткіштері рекурсивного алгоритм ұсына отырып, оған қол жеткізе алады, барлық бірегей ұрпақтарына.


Article in other languages:

AR: https://tostpost.com/ar/education/9170-recursive-algorithm-description-analysis-features-and-examples.html

BE: https://tostpost.com/be/adukacyya/16410-rekurs-ny-algarytm-ap-sanne-anal-z-asabl-vasc-pryklady.html

DE: https://tostpost.com/de/bildung/16416-algorithmus-rekursiv-beschreibung-analyse-eigenschaften-und-beispiele.html

En: https://tostpost.com/education/12457-recursive-algorithm-description-analysis-features-and-examples.html

ES: https://tostpost.com/es/la-educaci-n/16423-el-algoritmo-recursivo-descripci-n-an-lisis-caracter-sticas-y-ejemplos.html

HI: https://tostpost.com/hi/education/9174-recursive-algorithm-description-analysis-features-and-examples.html

JA: https://tostpost.com/ja/education/9174-recursive-algorithm-description-analysis-features-and-examples.html

PL: https://tostpost.com/pl/edukacja/16384-algorytm-rekursywny-opis-analiza-opis-i-przyk-ady.html

PT: https://tostpost.com/pt/educa-o/16390-o-algoritmo-recursivo-descri-o-an-lise-caracter-sticas-e-exemplos.html

TR: https://tostpost.com/tr/e-itim/16416-algoritma-zyinelemeli-a-klama-analiz-zellikleri-ve-rnekler.html

UK: https://tostpost.com/uk/osv-ta/16404-rekursivniy-algoritm-opis-anal-z-osoblivost-ta-prikladi.html

ZH: https://tostpost.com/zh/education/9989-recursive-algorithm-description-analysis-features-and-examples.html






Alin Trodden - мақала авторы, редактор
"Сәлем, Мен Алин Тродденмін. Мен мәтіндер жазып, кітаптар оқып, әсер іздеймін. Мен сізге бұл туралы айтуды жақсы білемін. Мен әрқашан қызықты жобаларға қатысқаныма қуаныштымын."

Комментарий (0)

Бұл мақала емес, түсіндірмелер, бірінші болыңыз!

Добавить комментарий

Жаңалықтар

Қандай море омывает Грекияға? Білеміз!

Қандай море омывает Грекияға? Білеміз!

Грекия – бірі, бірегей әлемнің. Оның кең дамыды қайталанбас антикалық мәдениет, мұнда жапонияның ежелгі құдайлар мен мифтік кейіпкерлер. Біздің аумағы, осы елдің тарихи және туристік орталығы, осында ағылады ретінде әуесқойл...

Эмбриология - бұл... Тарихы, эмбриология

Эмбриология - бұл... Тарихы, эмбриология

Ғылым биология қамтиды көптеген әр түрлі бөлімдерін, шағын, бірақ өте маңызды маманданған қандай да бір нақты проблемалар пәндер. Бұл оның соншалықты ауқымды және жаһандық маңызы бар адамзат үшін бұл оның ықпалын асыра бағалау мүм...

Қалай аталды Самара бұрын? Қазақстан Тарихы Самара

Қалай аталды Самара бұрын? Қазақстан Тарихы Самара

қалай аталды Самара бұрын, көптеген жауап береді "Куйбышев" мен дұрыс айтасыз. Алайда бұл атау алынса, қала, көптеген елді мекендерге елдің переименовывались құрметіне көрнекті партия және тазартылды, бірақ оның тарихы басталды әл...

Салыстырмалы сипаттамасы Күн жүйесі планеталарының: сипаттамасы және қызықты фактілер

Салыстырмалы сипаттамасы Күн жүйесі планеталарының: сипаттамасы және қызықты фактілер

Қиын елестету мөлшері Ғаламның. Біздің меншікті Күн жүйесі, меніңше, тым үлкен, простираясь 4 триллион миль Күн. Ал, ол - бар болғаны бір миллиард басқа да жұлдыздар құрайтын біздің тұмауына Млечный Путь.Жалпы сипаттамасы Күн жүйе...

Негізгі мәдени жетістіктері, Ежелгі Мысыр

Негізгі мәдени жетістіктері, Ежелгі Мысыр

бұл мәдени жетістіктері, Ежелгі Мысыр мен антикалық цивилизции болды базасына, соның арқасында келесі ғасырдың дами еуропалық және әлемдік ғылыми-техникалық прогресс. Көптеген революциялық ашу, жемісін біз пайдаланамыз бүгін жасал...

Культурная революция в СССР

Культурная революция в СССР

Мәдени революция КСРО аралығында бірінші және екінші бесжылдығы. Ең маңызды және ең бірінші оның міндеті болып табылады сауатсыздықты жою халық арасында. Сауатты арналған 1926 жылы тұрғындары арасында тоғыз жастан жоғары шамамен 5...