Kaj je rekurzija?

V računalništvu veliko težav zahteva strategijo deli in obvladuj. Tehnika rekurzije uporablja to strategijo. V svoji najpreprostejši obliki je rekurzija funkcija, ki problem razdeli na manjše probleme, dokler ni mogoče določiti končnega produkta. Računalništvo je bilo ustanovljeno na platformi matematike in logike. Rekurzija je bila del tega večjega okvira že več desetletij in jo je mogoče najti v večini računalniških programskih jezikov danes.

Dinamično programiranje je izvedba rekurzije, ki problem razdeli na komponente. Ta postopek omogoča ugnezdenje težav v večjih problemih, kjer vsaka podproblema zahteva rezultat prejšnjega problema. Ta vrsta funkcionalne rekurzije je tipična za manipulacijo z nizi.

Ta slog programiranja je koristen, ker poenostavi problem v obvladljive komponente. Prednost ima tudi modularni razvoj programske opreme. Ta modularni pristop omogoča ustvarjanje komponent za večkratno uporabo v celotni računalniški aplikaciji.

Rekurzija dobro deluje pri ustvarjanju varnostnih funkcij v računalniških aplikacijah. Vsak zaslon aplikacije lahko zahteva posebna poslovna pravila, ki določajo, ali morajo biti polja vidna. Namesto tega, da napišete posamezno varnostno kodo na vsak zaslon, je mogoče ustvariti rekurzivno funkcijo za branje vseh zaslonov, preden se podatki upodabljajo uporabniku in uporabijo potrebne omejitve vidnosti.

Grafično oblikovanje je še eno področje, ki se dobro prilega rekurzivnemu problemu. Predstavljajte si program, ki je bil zasnovan za ustvarjanje kvadrata znotraj kvadrata. Manjši kvadrat bi imel enake funkcionalne zahteve kot večji kvadrat, edina sprememba pa bi bile dimenzije obeh kvadratov.

Algoritem razvrščanja je logična težava, kjer je treba seznam elementov razvrstiti v določenem vrstnem redu. Ta vrsta reševanja težav zahteva stalno premeščanje seznama v nov seznam, dokler ni končni seznam razvrščen po želji. Dober pristop k reševanju tega problema je ustvariti rekurzivno zanko, ki nadaljuje s premeščanjem seznama, dokler ni razvrščen na končni seznam.
Zaradi moči avtomatizacije programske opreme se večina lastnikov sistemov zdi uporaba rekurzije trivialna. Običajno se pričakuje, da varnostne funkcije in razvrščanje stolpcev zahtevajo preprost klik z miško ali premik tipkovnice. Pod pokrovom tega preprostega dejanja se skrivata kompleksnost in eleganca rekurzije v praksi.