Hvad er rekursion? definition og betydning

click fraud protection

I programmering, et programmodul eller en subrutine, der kalder sig selv til at udføre en iterativ operation; med andre ord, et rent udtryk gentager sig selv for at opnå en meget mere kompleks operation.

Rekursionsprincippet er illustreret ved Fibonacci-tal, en talrække, hvor de to første led er 1; på hinanden følgende led er givet ved at summere de to foregående led (1,1, 2, 3, 5, 8,13, 21, 34, 55, 89, 144 osv.). Fibonacci-tal kan genereres af følgende ligning, så længe n er større end 2: Fibonacci («) = Fibonacci (« – 1) + Fibonacci (n – 2).

Technipages forklarer rekursion

Rekursion er en metode til at løse problemer i programmering, hvor et problem opdeles i mindre enheder af problemer og løses individuelt. Så den første løsning er afhængig af de mindre løsninger man får, jo mere mindre problemer. Rekursioner hjælper med problemløsning, da et spørgsmål løses på dets præmisser.

Det er bedst illustreret med de russiske Matryoshka-dukker, som er et sæt dukker indkapslet i en større dukke; hvert stykke dukke er en direkte kopi af den efterfølgende eller foregående dukke undtagen mindre. Så hver dukke er en lille eller mere betydningsfuld version af den anden. Rekursiv programmering er baseret på dette princip, hvor et problem tackles ved at opdele det i mere mindre problemer.

Rekursion kan spores tilbage til 1958, John McCarthy var den første til at udnytte princippet om rekursion i programmering, og dette kan findes på hans arbejde med LISP. LISP var det første programmeringssprog med rekursive funktioner, som vi har dem i dag. McCarthys arbejde var inspireret af Alonzo Church's værker, som var to årtier tidligere. Bemærkelsesværdige omtaler forbundet med rekursion kan også dateres tilbage til Dedekinds arbejde med naturlige tal i 1888. Rozsa Peter præsenterede rekursive funktioner i 1932 ved International Congress of Mathematicians i Zürich i 1932.

Almindelig brug af rekursion

  • Rekursion hjælper med at tackle problemer, da det løser et problem på dets præmisser fra at bryde problemet ned til mindre problemer
  • En bedre måde at tackle problemer på ville være igennem Rekursion fordi det udvider ens perspektiv på det aktuelle problem
  • I Rekursion, det nye sæt af problemer er kopier af hinanden, og problemerne løses hver for sig.

Almindelig misbrug af rekursion

  • Rekursion tackler ikke problemer, selvom problemet er nedbrudt til tacklet i mindre skala
  • Rekursion forenkler kun et problem, og det besvarer det ikke.