Ce este o recursiune?

În informatică, multe probleme necesită o strategie de împărțire și cucerire. Tehnica recursiunii folosește această strategie. În forma sa cea mai simplă, recursiunea este o funcție care împarte o problemă în probleme mai mici până când produsul final poate fi determinat. Informatica a fost fondata pe o platforma de matematica si logica. Recursiunea a făcut parte din acest cadru mai larg de multe decenii și poate fi găsită în majoritatea limbajelor de programare pentru computere de astăzi.

Programarea dinamică este o implementare a recursiunii, care descompune o problemă în componente. Acest proces permite imbricarea problemelor în cadrul unor probleme mai mari, unde fiecare subproblemă necesită rezultatul problemei anterioare. Acest tip de recursivitate funcțională este tipic în cadrul manipulării matricei.

Acest stil de programare este benefic deoarece simplifică o problemă în componente gestionabile. De asemenea, are avantajul dezvoltării software modulare. Această abordare modulară permite crearea de componente reutilizabile în cadrul unei aplicații computerizate.

Recursiunea funcționează bine atunci când se creează caracteristici de securitate în cadrul aplicațiilor computerizate. Fiecare ecran al unei aplicații poate necesita reguli de afaceri specifice care determină dacă câmpurile ar trebui să fie vizibile. Mai degrabă scrie codul de securitate individual pe fiecare ecran, se poate crea o funcție recursivă pentru a citi toate ecranele înainte de a reda datele utilizatorului și de a aplica restricțiile necesare de vizibilitate.

Designul grafic este un alt domeniu care se potrivește bine pentru o problemă recursivă. Imaginați-vă un program care a fost conceput pentru a crea un pătrat într-un pătrat. Pătratul mai mic ar avea aceleași cerințe funcționale ale pătratului mai mare, singura modificare fiind dimensiunile celor două pătrate.

Un algoritm de sortare este o problemă logică în care o listă de articole trebuie sortată într-o anumită ordine. Acest tip de rezolvare a problemelor necesită amestecarea constantă a unei liste într-o listă nouă, până când lista finală este ordonată după cum se dorește. O abordare bună pentru rezolvarea acestei probleme este de a crea o buclă recursivă care continuă să amestece lista până când este sortată în lista finală.
Puterea automatizării software face ca utilizarea recursiunii să pară banală pentru majoritatea proprietarilor de sisteme. De obicei, este de așteptat ca funcțiile de securitate și sortarea coloanelor să necesite un simplu clic al mouse-ului sau o lovitură de tastatură. Sub acoperirea acestei acțiuni simple se află complexitatea și eleganța recursiunii în practică.