Table of Contents
Rekursio on peruskäsitteen tietokonetieteessä, joka perustuu matemaattisiin periaatteisiin. Siihen kuuluu ongelman määrittely sinänsä, jolloin ratkaisuja voidaan rakentaa toistuvalla soveltamalla sääntöä. Rekursion matemaattisten perustusten ymmärtäminen auttaa suunnittelemaan tehokkaita algoritmeja ja kirjoittamaan tehokasta koodia Javan kaltaisilla kielillä.
Matemaattinen perusta recursion
Rekursio perustuu ajatukseen itse-viittauksesta, jossa toiminto kutsuu itseään muutettuja parametreja. Tämä käsite voidaan muotoilla käyttämällä matemaattinen induktio, joka tarjoaa keinon todistaa ominaisuuksia rekursiivisia toimintoja. Perustapaus pysäyttää rekursio, kun taas rekursiivinen tapaus pienentää ongelman kokoa, varmistaa lopulta päättyy.
Rekursiivifunktioiden poistaminen
Saada rekursiivinen toiminto, tunnistaa pienin subongelma, joka voidaan ratkaista suoraan. Sitten, ilmaista ratkaisu suurempi ongelma kannalta ratkaisu pienempi subproblem. Tämä prosessi edellyttää määrittely perustapauksen ja rekursiivinen askel selvästi.
Soveltaminen Rekursive Functions Java
Javassa rekursiotoiminnot toteutetaan määrittämällä menetelmä, joka kutsuu itseään. Oikea perustapaukset estävät äärettömän rekursio. Esimerkiksi laskutekijän tai Fibonacci numerot voidaan saavuttaa yksinkertaisilla rekursiivisilla menetelmillä.
Esimerkki rekursiivinen faktoriaalinen toiminto Java:
julkinen tekijä
] jos (n = 0) palautus 1;
paluu n * factorial(n - 1]
[KUVA:] [[KUVA:]]