Programmēšanā programmas modulis vai apakšprogramma, kas izsauc sevi, lai veiktu iteratīvu darbību; citiem vārdiem sakot, tīra izteiksme atkārtojas, lai panāktu daudz sarežģītāku darbību.
Rekursijas principu ilustrē Fibonači skaitļi, skaitļu sērija, kurā pirmie divi vārdi ir 1; Secīgie termini tiek doti, summējot divus iepriekšējos terminus (1,1, 2, 3, 5, 8,13, 21, 34, 55, 89, 144 utt.). Fibonači skaitļus var ģenerēt ar šādu vienādojumu, ja vien n ir lielāks par 2: Fibonači («) = Fibonači (« – 1) + Fibonači (n – 2).
Technipages izskaidro rekursiju
Rekursija ir programmēšanas problēmu risināšanas metode, kurā problēma tiek sadalīta mazākās uzdevumu vienībās un atrisināta atsevišķi. Tātad pirmais risinājums ir atkarīgs no mazākiem risinājumiem, kas iegūti, jo vairāk sīku problēmu. Rekursijas palīdz problēmu risināšanā, jo jautājums tiek atrisināts atbilstoši tā noteikumiem.
Vislabāk to ilustrē krievu matrjoškas, kas ir leļļu komplekts, kas ielikts lielākā lellē; katrs lelles gabals ir tieša nākamās vai iepriekšējās lelles kopija, izņemot mazāku. Tātad katra lelle ir otras maza vai nozīmīgāka versija. Rekursīvās programmēšanas pamatā ir šis princips, saskaņā ar kuru problēma tiek risināta, sadalot to mazākās problēmās.
Rekursiju var izsekot līdz 1958. gadam, Džons Makartijs bija pirmais, kurš programmēšanā izmantoja rekursijas principu, un to var atrast viņa darbā pie LISP. LISP bija pirmā programmēšanas valoda, kurā bija rekursīvas funkcijas, kādas mums ir šodien. Makartija darbu iedvesmoja Alonzo baznīcas darbi, kas tapuši pirms divām desmitgadēm. Ievērojamus pieminējumus, kas saistīti ar rekursiju, var datēt arī ar Dedekinda darbu par dabiskajiem skaitļiem 1888. gadā. Rozsa Pētera uzstājās par rekursīvajām funkcijām 1932. gadā Starptautiskajā matemātiķu kongresā Cīrihē 1932. gadā.
Izplatītākie rekursijas lietojumi
- Rekursija palīdz risināt problēmas, jo tā risina problēmu atbilstoši tās noteikumiem, sākot no problēmas novēršanas līdz mazākām problēmām
- Labāks veids, kā risināt problēmas, būtu caur Rekursija jo tas paplašina skatījumu uz šo problēmu
- In Rekursija, jaunais problēmu kopums ir viena otras kopijas, un katra problēma tiek atrisināta atsevišķi.
Bieža rekursijas ļaunprātīga izmantošana
- Rekursija nerisina problēmas, lai gan problēma ir sadalīta, lai risinātu mazākā mērogā
- Rekursija tikai vienkāršo problēmu un neatbild uz to.