Vad är en rekursion?
Inom datavetenskap kräver många problem en splittring och erövringsstrategi. Rekursionstekniken använder denna strategi. I sin enklaste form är rekursion en funktion som delar upp ett problem i mindre problem tills slutprodukten kan bestämmas. Datavetenskap grundades på en plattform för matematik och logik. Rekursion har varit en del av detta större ramverk i många decennier och det finns på de flesta datorprogrammeringsspråk idag.
Dynamisk programmering är en implementering av rekursion, som delar upp ett problem i komponenter. Denna process möjliggör häckning av problem inom större problem där varje delproblem kräver resultatet från det tidigare problemet. Denna typ av funktionell rekursion är typisk inom arraymanipulation.
Den här programmeringsstilen är fördelaktig eftersom den förenklar ett problem till hanterbara komponenter. Det har också fördelen med modulär mjukvaruutveckling. Detta modulära tillvägagångssätt möjliggör skapandet av återanvändbara komponenter i en datorapplikation.
Rekursion fungerar bra när du skapar säkerhetsfunktioner i datorprogram. Varje skärm i en applikation kan kräva specifika affärsregler som avgör om fält ska vara synliga. Skicka snarare en individuell säkerhetskod på varje skärm, en rekursiv funktion kan skapas för att läsa alla skärmar innan data lämnas till användaren och tillämpa nödvändiga synbarhetsbegränsningar.
Grafisk design är ett annat område som passar bra för ett rekursivt problem. Föreställ dig ett program som designades för att skapa en kvadrat inom en kvadrat. Den mindre fyrkanten skulle ha samma funktionskrav som den större fyrkanten, med den enda förändringen som dimensionen för de två rutorna.
En sorteringsalgoritm är ett logiskt problem där en lista med objekt måste sorteras i en specifik ordning. Denna typ av problemlösning kräver konstant blandning av en lista till en ny lista tills den slutliga listan beställs efter önskemål. En bra metod för att lösa detta problem är att skapa en rekursiv slinga som fortsätter att blanda listan tills den sorteras i den slutliga listan.
Kraften i programvaruautomation gör att rekursion verkar trivial för de flesta systemägare. Det förväntas vanligtvis att säkerhetsfunktioner och sortering av kolumner kräver ett enkelt musklick eller ett tangentbordslag. Under omslaget till denna enkla handling ligger rekursionens komplexitet och elegans i praktiken.