Linki:
Łacina,
0 (liczba),
1 (liczba),
Algorytm Euklidesa,
Ciąg Fibonacciego,
Definicja,
Derekursywacja,
Dziel i zwyciężaj,
Efekt Droste,
Funkcja,
Język angielski,
Logika,
Matematyka,
Największy wspólny dzielnik,
Programowanie,
Programowanie dynamiczne,
Programowanie funkcyjne,
Równanie rekurencyjne,
Rekursja ogonowa,
Rekursja pośrednia,
Silnia,
Symbol Newtona,
Trójkąt Sierpińskiego,
Twierdzenie o rekurencji uniwersalnej,
Wielomiany Hermite'a,
Wielomiany Legendre'a,
Złożoność obliczeniowa,
Rekurencja albo rekursja (
ang. recursion, z
łac. recurrere, przybiec z powrotem) to w
logice,
programowaniu i w
matematyce odwoływanie się np.
funkcji lub
definicji do samej siebie. Wbrew próbom rozróżnienia terminów [
potrzebne źródło] rekursja i rekurencja w rzeczywistości słowa te mają identyczne znaczenie[
potrzebne źródło].
Rekurencja, zwana także rekursją (
ang. recursion, z
łac. recurrere, przybiec z powrotem) to w
logice,
programowaniu i w
matematyce odwoływanie się np.
funkcji lub
definicji do samej siebie.
Rekursja ogonowa (albo rekurencja prawostronna) to
rekursja, po której nie następuje już powrót do
funkcji. Stosując taką rekursję można w ogóle nie używać stosu - jest równie wydajna jak
imperatywna pętla.
Rekursja pośrednia to taka
rekursja, w której jednocześnie jest definiowanych kilka (tzn. więcej niż jeden) obiektów, które nawzajem "z siebie korzystają".
Rachunek lambda z pozoru nie ma żadnego mechanizmu, który umożliwiałby
rekurencję - nie można odwoływać się w definicji do samej funkcji. A jednak - rekurencję można osiągnąć poprzez
operator paradoksalny Y.
Rekurencja ogonowa, zwana też prawostronną jest rodzajem
rekurencji, w której ostatnia operacja wykonywana przez
funkcję to rekurencyjne wywołanie samej siebie lub zwrócenie końcowego wyniku. Taka funkcja może zostać łatwo zamieniona na iterację, zarówno ręcznie, jak i automatycznie, co redukuje wielkość
stosu oraz zwiększa wydajność. Ta technika iteracyjnego wykonywania obliczeń jest powszechna w
programowaniu funkcyjnym promującym używanie rekurencji, która w przeciwnym wypadku zajęłaby cały dostępny stos.
Rachunek lambda to
system formalny używany do badania zagadnień związanych z podstawami
matematyki jak
rekurencja, definiowalność funkcji, obliczalność, podstawy matematyki np.
definicja liczb naturalnych, wartości logicznych, itd. Rachunek lambda został wprowadzony przez
Alonzo Churcha i
Stephen Cole Kleene w
1930 roku.
Twierdzenie o rekurencji uniwersalnej jest twierdzeniem matematycznym pozwalającym w łatwy sposób znajdować
ograniczenie asymptotyczne pewnej klasy
funkcji zdefiniowanych
rekurencyjnie.
Dywan
Sierpińskiego to
fraktal otrzymany z kwadratu za pomocą podzielenia go na dziewięć (3x3) mniejszych kwadratów, usunięcia środkowego kwadratu i ponownego
rekurencyjnego zastosowania tej samej procedury do każdego z pozostałych ośmiu kwadratów.
Programowanie funkcyjne (lub programowanie funkcjonalne) – filozofia i metodyka
programowania będąca odmianą
programowania deklaratywnego, w której funkcje należą do wartości podstawowych, a nacisk kładzie się na
wartościowanie (często
rekurencyjnych) funkcji, a nie na wykonywanie poleceń.
Krugle -
wyszukiwarka kodów źródłowych zaprojektowana specjalnie dla
programistów. Pozwala ona na przeszukiwanie kodów źródłowych, komentarzy, definicji/wywołań
funkcji oraz definicji klas w jednym lub wszystkich
językach programowania.
Programowanie funkcyjne (lub programowanie funkcjonalne) - filozofia
programowania będąca odmianą
programowania deklaratywnego, w której funkcje należą do wartości podstawowych, a nacisk kładzie się na
wartościowanie (często
rekurencyjnych) funkcji, a nie na wykonywanie poleceń.
Programowanie funkcyjne (lub programowanie funkcjonalne) – filozofia i metodologia
programowania będąca odmianą
programowania deklaratywnego, w której funkcje należą do wartości podstawowych, a nacisk kładzie się na
wartościowanie (często
rekurencyjnych) funkcji, a nie na wykonywanie poleceń.
Programowanie funkcyjne (lub programowanie funkcjonalne) – filozofia i metodyka
programowania będąca odmianą
programowania deklaratywnego, w której funkcje należą do wartości podstawowych, a nacisk kładzie się na
wartościowanie (często
rekurencyjnych) funkcji, a nie na wykonywanie poleceń.
Parser LL to
parser czytający tekst od lewej do prawej i produkujący lewostronne wyprowadzenie metodą zstępującą. Popularne rodzaje parserów LL to parsery sterowane
tablicą i
rekurencyjne.
Reference counting (
ang. - zliczanie
referencji) w programowaniu jest najprostszą metodą zautomatyzowanego zwalniania zasobów
pamięci zajmowanej przez
dane, które przestały być potrzebne (tzw.
garbage collection). W metodzie tej, wraz z każdym
zaalokowanym w pamięci
obiektem, przechowuje się licznik odwołań. Za każdym razem, kiedy do obiektu tworzy się nowe odwołanie (referencję), licznik ten jest
zwiększany o 1, natomiast kiedy odwołanie znika, licznik jest
zmniejszany o 1. Kiedy licznik osiągnie zero, obiekt jest kasowany – zajmowane przez niego zasoby pamięci są uwalniane i mogą zostać wykorzystane ponownie. Jeśli przed skasowaniem ów obiekt sam używał referencji do innych obiektów, to liczniki odwołań tych obiektów są przy tym zmniejszane o jeden; mogą zatem również osiągnąć wartość zero, co spowoduje
rekursywne skasowanie kolejnych obiektów.
Derekursywacja - przemiana algorytmów
rekurencyjnych (rekursyjnych) na
iteracyjne. Stosuje się ją w celu zwiększenia szybkości działania aplikacji (korzystającej z
algorytmów rekurencyjnych) oraz zmniejszenia jej zajętości pamięciowej.
Algorytm iteracyjny -
algorytm, który uzyskuje wynik przez powtarzanie danej operacji określoną ilość razy. Niektóre problemy można rozwiązać zarówno za pomocą algorytmu iteracyjnego, jak i
rekurencyjnego, jak np. problem
wież Hanoi.
Średnią arytmetyczno-geometryczną dwóch
liczb rzeczywistych dodatnich a i b, oznaczaną często w nomenklaturze anglojęzycznej przez AGM(a,b) lub M(a,b), nazywamy wspólną
granicę następujących
ciągów określonych
rekurencyjnie: