Ohjelmoinnissa ohjelmamoduuli tai aliohjelma, joka kutsuu itseään suorittamaan iteratiivisen toiminnon; toisin sanoen puhdas lauseke toistaa itseään saavuttaakseen paljon monimutkaisemman toiminnon.
Rekursion periaatetta kuvaavat Fibonacci-luvut, lukusarjat, joissa kaksi ensimmäistä termiä ovat 1; Peräkkäiset termit saadaan summaamalla kaksi edellistä termiä (1,1, 2, 3, 5, 8,13, 21, 34, 55, 89, 144 jne.). Fibonacci-luvut voidaan muodostaa seuraavalla yhtälöllä, kunhan n on suurempi kuin 2: Fibonacci («) = Fibonacci (« – 1) + Fibonacci (n – 2).
Technipages selittää rekursion
Rekursio on ohjelmoinnin ongelmien ratkaisumenetelmä, jossa tehtävä jaetaan pienempiin tehtäväyksiköihin ja ratkaistaan yksitellen. Joten ensimmäinen ratkaisu riippuu siitä, mistä pienemmistä ratkaisuista on saatu, sitä pienemmistä ongelmista. Rekursiot auttavat ongelmanratkaisussa, koska kysymys ratkaistaan sen ehdoilla.
Parhaiten sitä havainnollistavat venäläiset Matryoshka-nuket, jotka ovat nukkesarja isomman nuken sisällä; jokainen nuken pala on suora kopio seuraavasta tai edellisestä nukkesta, paitsi pienempi. Joten jokainen nukke on pieni tai merkittävämpi versio toisesta. Rekursiivinen ohjelmointi perustuu tähän periaatteeseen, jossa ongelma ratkaistaan jakamalla se pienempiin ongelmiin.
Recursion voidaan jäljittää vuoteen 1958 asti, John McCarthy käytti ensimmäisenä rekursion periaatetta ohjelmoinnissa, ja tämä löytyy hänen LISP-työstään. LISP oli ensimmäinen ohjelmointikieli, jossa oli rekursiivisia toimintoja sellaisina kuin ne ovat nykyään. McCarthyn työ sai inspiraationsa Alonzo Churchin teoksista, jotka olivat kaksi vuosikymmentä aikaisempia. Merkittäviä rekursioon liittyviä mainintoja voidaan myös ajoittaa Dedekindin luonnollisia lukuja käsittelevään työhön vuonna 1888. Rozsa Peter esitteli rekursiiviset funktiot vuonna 1932 kansainvälisessä matemaatikoiden kongressissa Zürichissä vuonna 1932.
Rekursion yleiset käyttötavat
- Rekursio auttaa ongelmien ratkaisemisessa, koska se ratkaisee ongelman sen ehdoilla ongelman purkamisesta pienempiin ongelmiin
- Parempi tapa ratkaista ongelmia olisi läpi Rekursio koska se laajentaa näkökulmaa käsillä olevaan ongelmaan
- Sisään Rekursio, uudet ongelmat ovat toistensa jäljennöksiä, ja ongelmat ratkaistaan kukin yksinään.
Rekursion yleiset väärinkäytökset
- Rekursio ei ratkaise ongelmia, vaikka ongelma on jaettu pienemmässä mittakaavassa käsiteltäväksi
- Rekursio vain yksinkertaistaa ongelmaa, eikä se vastaa siihen.