Czym jest rekursja? Rekurencja w programowaniu (przykłady)
Rekursje to same ciekawe wydarzenia.same w sobie, ale w programowaniu mają one szczególne znaczenie w indywidualnych przypadkach. Po raz pierwszy zetknięcia się z nimi, dość znaczna liczba osób ma problemy z ich zrozumieniem. Wynika to z ogromnego pola potencjalnego zastosowania samego terminu, w zależności od kontekstu, w którym stosowana jest "rekursja". Ale można mieć nadzieję, że ten artykuł pomoże uniknąć możliwego nieporozumienia lub nieporozumień.
Czym jest ogólnie "rekursja"?
Co masz na myśli przez rekurencję w programowaniu?
Rekursja może być skończona lub nieskończona. Aby te pierwsze przestały się nazywać, muszą również istnieć warunki do rozwiązania. Może to być zmniejszenie wartości zmiennej, a po osiągnięciu określonej wartości wywołanie stop i zakończenie programu / przejście do kolejnego kodu, w zależności od potrzeb osiągnięcia określonych celów. Przez nieskończoną rekursję oznacza to, że zostanie wywołana, gdy uruchomiony jest komputer lub program, w którym działa.
Możliwe jest również zorganizowanie złożonej rekurencji zużywając dwóch funkcji. Powiedzmy, że są A i B. Funkcja ma wywołanie w swoim kodzie B, a B z kolei mówi komputerowi, aby wykonał A. Złożone rekursje stanowią wyjście z wielu złożonych sytuacji logicznych dla logiki komputerowej.
Jeśli czytelnik zapoznał się z tymi liniami oprogramowaniacyklach, prawdopodobnie już zauważył podobieństwo między nimi a rekurencją. Zasadniczo mogą one wykonywać podobne lub identyczne zadania. Przy pomocy rekursji wygodnie jest imitować cykl pracy. Jest to szczególnie przydatne, gdy same cykle nie są zbyt wygodne w użyciu. Schemat implementacji oprogramowania nie różni się zbytnio w różnych językach programowania wysokiego poziomu. Niemniej jednak rekurencja w "Pascal" i rekurencja w C lub innym języku ma swoje cechy. Można go z powodzeniem wdrożyć w językach niskiego poziomu, takich jak "Assembler", ale jest to bardziej problematyczne i czasochłonne.
Drzewa rekursji
- Ma początkowy specjalny węzeł, który jest nazywany korzeniem całego drzewa.
- Pozostałe węzły są w liczbie innej niż zero, parami rozłączne podzestawy, gdy są one również drzewem. Wszystkie takie formy organizacji są nazywane poddrzewami głównego drzewa.
Innymi słowy: drzewa zawierają poddrzew, które zawierają więcej drzew, ale w mniejszych ilościach niż poprzednie drzewo. To trwa tak długo, aż jeden z węzłów pozostanie z możliwością pójścia dalej, a to oznaczy koniec rekursji. Jest jeszcze jeden niuans na schemacie: zwykłe drzewa rosną od dołu do góry, a podczas programowania są rysowane na odwrót. Węzły, które nie mają kontynuacji, nazywane są węzłami końcowymi. Dla wygody wyznaczania i dla wygody używa się terminologii genealogicznej (przodkowie, dzieci).
Dlaczego jest używany w programowaniu?
Różnice rekursji w różnych językach programowania
Pomimo ogólnego schematu wdrożenia i specyfikizastosowanie w każdym przypadku, rekursja w programowaniu ma swoją własną charakterystykę. Może to prowadzić do trudności w znalezieniu odpowiedniego materiału. Ale powinieneś zawsze pamiętać: jeśli język programowania wywołuje funkcje lub procedury, to wywołanie rekurencji jest możliwe. Ale najbardziej znaczące różnice pojawiają się podczas używania języków programowania niskiego i wysokiego. Dotyczy to zwłaszcza możliwości implementacji oprogramowania. Wykonanie zależy ostatecznie od tego, jakie zadanie zostanie ustawione, rekurencja zostanie zapisana zgodnie z nim. Funkcje i procedury są różne, ale ich cel jest zawsze ten sam - aby sprawić, że będą się nazywać.