Kas yra Rekursija? apibrėžimas ir prasmė

Programuojant – programos modulis arba paprogramė, kuri išsikviečia save atlikti kartotinę operaciją; kitaip tariant, gryna išraiška kartojasi, kad būtų pasiekta daug sudėtingesnė operacija.

Rekursijos principą iliustruoja Fibonačio skaičiai, skaičių serija, kurioje pirmieji du terminai yra 1; Iš eilės einantys terminai pateikiami sudedant du ankstesnius terminus (1,1, 2, 3, 5, 8,13, 21, 34, 55, 89, 144 ir kt.). Fibonačio skaičius gali būti generuojamas pagal šią lygtį, jei n yra didesnis nei 2: Fibonačio («) = Fibonačio (« – 1) + Fibonačio (n – 2).

Technipages paaiškina rekursiją

Rekursija – tai programavimo problemų sprendimo būdas, kai problema suskaidoma į mažesnius uždavinių vienetus ir sprendžiama individualiai. Taigi pirmasis sprendimas priklauso nuo mažesnių sprendimų, iš kurių daugiau yra smulkių problemų. Rekursijos padeda spręsti problemas, nes klausimas išsprendžiamas jo sąlygomis.

Ją geriausiai iliustruoja rusiškos lėlės Matryoshka – lėlių rinkinys, įdėtas į didesnę lėlę; kiekviena lėlės dalis yra tiesioginė sekančios arba ankstesnės lėlės kopija, išskyrus mažesnę. Taigi kiekviena lėlė yra maža ar reikšmingesnė kitos versija. Rekursyvus programavimas remiasi šiuo principu, kai problema sprendžiama ją suskaidant į smulkesnes problemas.

Rekursiją galima atsekti iki 1958 m., John McCarthy buvo pirmasis, kuris panaudojo rekursijos principą programuodamas, ir tai galima rasti jo darbuose su LISP. LISP buvo pirmoji programavimo kalba, turinti tokias rekursines funkcijas, kokias turime šiandien. McCarthy kūrybą įkvėpė Alonzo bažnyčios darbai, sukurti prieš du dešimtmečius. Įspūdingi paminėjimai, susiję su rekursija, taip pat gali būti datuojami Dedekindo darbu apie natūraliuosius skaičius 1888 m. Rozsa Peter pristatė rekursines funkcijas 1932 m. Tarptautiniame matematikų kongrese Ciuriche 1932 m.

Dažni rekursijos naudojimo būdai

  • Rekursija padeda spręsti problemas, nes sprendžia problemą pagal savo sąlygas – nuo ​​problemos sprendimo iki mažesnių problemų
  • Geresnis būdas spręsti problemas būtų per Rekursija nes tai praplečia požiūrį į nagrinėjamą problemą
  • Į Rekursija, naujas problemų rinkinys yra viena kitos kopijos ir kiekviena iš jų išsprendžiama atskirai.

Dažnas piktnaudžiavimas rekursija

  • Rekursija nesprendžia problemų, net jei problema yra išskaidyta, kad būtų sprendžiama mažesniu mastu
  • Rekursija tik supaprastina problemą ir į ją neatsako.