Hva er en rekursjon?
I informatikk krever mange problemer en splittelse og erobre strategi. Rekursjonsteknikken bruker denne strategien. I sin enkleste form er rekursjon en funksjon som deler et problem i mindre problemer inntil det endelige produktet kan bestemmes. Informatikk ble grunnlagt på en plattform for matematikk og logikk. Rekursjon har vært en del av dette større rammeverket i mange tiår, og det finnes i de fleste dataprogrammeringsspråk i dag.
Dynamisk programmering er en implementering av rekursjon, som deler et problem inn i komponenter. Denne prosessen muliggjør hekkingen av problemer innenfor større problemer der hvert underproblem krever resultatet fra det tidligere problemet. Denne typen funksjonell rekursjon er typisk innen arraymanipulering.
Denne programmeringsstilen er fordelaktig fordi den forenkler et problem til håndterbare komponenter. Det har også fordelen med modulær programvareutvikling. Denne modulære tilnærmingen muliggjør opprettelse av gjenbrukbare komponenter i et dataprogram.
Rekursjon fungerer bra når du oppretter sikkerhetsfunksjoner i dataprogrammer. Hver skjerm i en applikasjon kan kreve spesifikke forretningsregler som avgjør om felt skal være synlige. Skriv heller individuell sikkerhetskode på hver skjerm, og det kan opprettes en rekursiv funksjon for å lese alle skjermbilder før du overfører dataene til brukeren og bruker de nødvendige synskravene.
Grafikkdesign er et annet område som passer godt for et rekursivt problem. Se for deg et program som ble designet for å lage et torg innenfor et torg. Det mindre kvadratet vil ha de samme funksjonelle kravene til det større kvadratet, mens den eneste endringen er dimensjonene til de to rutene.
En sorteringsalgoritme er et logisk problem der en liste over elementer må sorteres i en bestemt rekkefølge. Denne typen problemløsning krever kontinuerlig stokking av en liste til en ny liste, til den endelige listen er bestilt etter ønske. En god tilnærming til å løse dette problemet er å lage en rekursiv løkke som fortsetter å blande listen til den er sortert i den endelige listen.
Kraften i programvareautomatisering gjør at bruken av rekursjon virker triviell for de fleste systemeiere. Det forventes vanligvis at sikkerhetsfunksjoner og sortering av kolonner krever et enkelt museklikk eller et tastetrykk. Under dekslene til denne enkle handlingen ligger rekursjonens kompleksitet og eleganse i praksis.