KompiuteriaiProgramavimas

Rekursija - kas tai? Rekursija programavimas (pavyzdžiai)

Rekursija yra įdomūs įvykiai patys, tačiau jie yra programavimo ypatingą svarbą tam tikrais atvejais. Pirmą kartą susidūrė su jais, gana daug žmonių turi savo supratimą apie šią problemą. Tai yra dėl to, didžiulis srityje galimos naudojimo laikotarpiu, priklausomai nuo konteksto, kuriame "rekursija" yra naudojamas. Tačiau tikimasi, kad šis straipsnis padės išvengti galimų nesusipratimų ir painiavos.

Kas yra "rekursija" apskritai?

Žodis "rekursija" turi vertybes, kurios priklauso nuo regiono, kuriame jis taikomas asortimentą. Universalus paskirtis yra tokia: rekursija - tai raiškos nuotraukas, aprašymus objektų ar procesų pačių objektų. jie yra galimas tik tais atvejais, kai objektas yra pats dalis. Savaip jis apibrėžia rekursinių matematika, fizika, programavimas, ir kitų mokslo disciplinų skaičių. Praktinis taikymas yra rasti informacinių sistemų ir fizinių eksperimentų.

Ką reiškia rekursijos programavimo?

Rekursinės situacijos ar rekursija į programavimą, vadinamas akimirkas, kai procedūra arba programa funkcija save vadina. Kaip keista tiems, kurie pradėjo mokytis programavimo, nes tai gali skambėti, nėra nieko keista apie tai. Turėkite omenyje, kad rekursija - tai nėra sunku, o kai kuriais atvejais jie pakeisti ciklų. Jei jūsų kompiuteris teisingai nustatyti skambinti procedūrą ar funkciją, jis tiesiog pradeda vykdyti ją.

Rekursija gali būti ribotas arba begalinis. Pirmiausia sustojo pati priežastis, ji taip pat turėtų būti sąlygos nutraukiant. Ši vertės sumažėjimas gali būti kintamos, ir kai jis pasiekia tam tikrą vertę, ir sustabdyti skambučių užbaigimo programinės įrangos / perėjimą į vėlesnį kodas, priklausomai nuo poreikių, siekiant tam tikrų tikslų. Iki begalybės rekursija reiškia, kad jis bus vadinamas, dirbs tol, kol kompiuterio ar programos, kurioje ji veikia.

Taip pat yra galimybė organizacija sunku rekursija naudojant dvi funkcijas. Tarkime, kad yra A ir B. A turi funkciją jūsų kodo skambučio B, ir B, savo ruožtu, atkreipia dėmesį į dėl kompiuterio reikia atlikti sudėtingą A. rekursija - išeitį iš sudėtingų serijos loginių situacijose kompiuterio logika.

Jeigu šių eilučių skaitytojas mokėsi programavimo ciklų, tai turbūt jau pastebėjote, tarp jų ir rekursijos panašumų. Apskritai, jie gali iš tikrųjų atlikti panašias ar identiškas užduotis. Su rekursijos pagalba patogu daryti modeliavimas darbo ciklą. Tai ypač naudinga, kai ciklai patys naudojimas nėra labai patogu. Vairavimo programinė realizacija nėra labai skirtingi įvairiose aukšto lygio programavimo kalbų. Dar rekursija į "Pascal" ir rekursijos C ar kita kalba turi savo charakteristikas. Ji gali būti sėkmingai įgyvendinta žemo lygio kalbų, tokių kaip "montuotojo", bet jis yra daugiau problemų ir daug laiko.

medžiai rekursija

Kas yra "medis" programavimo? Tai yra baigtinių rinkinys, sudarytas iš ne mažiau kaip vieno mazgo, kuris yra:

  1. Turi pradinį specialų mazgą, vadinamas visos medžio šaknis.
  2. Likusios mazgai yra suma, kuri skiriasi nuo nulio, išskirstyti pogrupiuose, tuo pačiu metu jie taip pat yra medis. Visi tokie organizavimo formų vadinama pagrindinio medžio subtrees.

Kitaip tariant: medžiai yra subtrees, kuriuose yra daugiau medžių, bet mažesnių skaičių nei ankstesniais medį. Tai tęsiasi tol, kol vienas iš mazgų bus galima judėti į priekį, ir tai reikš, kad rekursijos pabaigą. Yra dar vienas niuansas apie diagramų: paprasti medžiai auga iš apačios į viršų, ir jie kreipiasi į programavimo atvirkščiai. Sklypai, kurie neturi tęstinumą, vadinami galiniai mazgai. Patogumui žymėjimo ir naudojimo paprastumas Genealoginis terminiją (protėviai, vaikams).

Kodėl jis naudojamas programavimo?

Jo naudojimas rekursijos programavimo rasti sudėtingų užduočių spektrą. Jei norite padaryti tik vieną skambutį, tuo lengviau yra integracijos ciklo naudojimo, bet kai du ar daugiau pakartojimų, kad būtų išvengta Grupavimo ir padaryti jų įgyvendinimą medžio forma ir taikyti Rekurentiniai situacijos. Dėl plataus klasės problemų dėl skaičiavimo procesą tokiu būdu organizacija yra geriausias, kalbant apie išteklių vartojimo. Taigi, į "Pascal" arba bet kuri kita aukšto lygio programavimo kalba rekursija yra funkcija arba procedūra skambučių į sąlygas, nepriklausomai nuo išorinių skambučių skaičių. Kitaip tariant, ši programa gali būti tik vienas skambutis į paprogramės, bet tai bus iki tam tikro iš anksto numatytos sukimo momentą. Tam tikrais būdais ji yra analoginis kilpa su jos naudojimo charakteristikas.

Skirtumai rekursija įvairių programavimo kalbų

Nepaisant bendro diagrama yra įgyvendinimo ir ypač taikymo kiekvienu konkrečiu atveju, rekursija programavimo turi savo charakteristikas. Tai gali sukelti sunkumų ieškant reikiamos medžiagos. Bet visada turėkite omenyje: jei programavimo kalba yra funkcija arba procedūra, todėl, skambutis rekursija - tai įmanoma. Tačiau jos svarbiausi skirtumai atsiranda, kai naudojant žemo ir aukšto programavimo kalbas. Tai ypač aktualu galimybių programos įgyvendinimui. Vykdymo galiausiai priklausys nuo to, ar uždavinys yra nustatyti, pagal jį ir raštu rekursijos. Funkcijos ir naudojamos procedūros yra skirtingos, tačiau jų tikslas yra visada tas pats - padaryti save vadina.

Rekursija - tai paprasta. Kaip lengva prisiminti straipsnio turinį?

Pradedantiesiems suprasti gali būti sunku per pirmąjį, todėl jūs turite pavyzdžių rekursijos, arba bent jau vienas. Todėl turėtumėte mažas pavyzdys iš kasdienybės, kuri padės suprasti šio mechanizmo esmę pasiekti į programavimo tikslų. Paimkite du ar daugiau veidrodžiai, įdėkite juos taip, kad į vieną ekrano visa kita. Tai gali būti vertinama, kad veidrodžiai atspindi save pakartotinai, kuriant begalybės poveikį. Čia rekursija - yra, vaizdžiai kalbant, atspindžiai (kuris yra daug). Kaip matote, lengva suprasti, jis norėtų. A programavimo medžiagų tyrimas, tada mes galime matyti, kad rekursija - tai taip pat labai lengvai padaroma užduotis.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 lt.birmiss.com. Theme powered by WordPress.