/ / Co to jest rekurencja? Rekurencja w programowaniu (przykłady)

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"?

rekurencja jest
Słowo "rekursja" ma cały zakres znaczeń,które zależą od obszaru, w którym są stosowane. Uniwersalna notacja jest taka: rekursje to definicje, obrazy, opisy obiektów lub procesów w samych obiektach. Są one możliwe tylko w tych przypadkach, gdy obiekt jest częścią samej siebie. Na swój sposób matematyka, fizyka, programowanie i wiele innych dyscyplin naukowych określają rekurencję. Praktyczne zastosowanie znalazła w pracy systemów informatycznych i eksperymentów fizycznych.

Co masz na myśli przez rekurencję w programowaniu?

rekursja w paśmie
Sytuacje rekurencyjne lub rekurencja wprogramowanie, nazywane są momentami, w których procedura lub funkcja programu wywołuje samą siebie. Choć może wydawać się to dziwne dla tych, którzy zaczęli uczyć się programowania, nie brzmi to dziwnie. Pamiętaj, że rekurencja nie jest trudna, aw niektórych przypadkach zastępują cykle. Jeśli komputer poprawnie przydzieli procedurę lub wywołanie funkcji, po prostu zaczyna ją wykonywać.

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

rekurencja w programowaniu
Co to jest "drzewo" w programowaniu? Jest to skończony zestaw składający się z co najmniej jednego węzła, który:

  1. Ma początkowy specjalny węzeł, który jest nazywany korzeniem całego drzewa.
  2. 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?

rekursja funkcji
Znaleziono zastosowanie rekursji w programowaniuw rozwiązywaniu wielu złożonych zadań. Jeśli chcesz wykonać tylko jedno połączenie, łatwiej jest użyć cyklu integracji, ale z dwoma lub więcej powtórzeń, aby uniknąć budowania łańcucha i sprawić, by działały jak drzewo, a stosowane są sytuacje rekurencyjne. W przypadku szerokiej klasy zadań organizacja procesu obliczeniowego w ten sposób jest najbardziej optymalna z punktu widzenia zużycia zasobów. Zatem rekursja w języku Pascal lub dowolnym innym języku programowania wysokiego poziomu jest wywołaniem funkcji lub procedury, dopóki warunki nie zostaną spełnione, niezależnie od liczby wywołań zewnętrznych. Innymi słowy, w programie może być tylko jedno wywołanie podprogramu, ale nastąpi ono do z góry określonego momentu. Pod pewnymi względami jest to analogia cyklu o jego własnym specyficznym zastosowaniu.

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ć.

Rekursja jest łatwa. Jak zapamiętać treść artykułu?

przykłady rekurencji
Początkujący mogą to zrozumieć, może na początkutrudne, dlatego potrzebują przykładów rekursji lub przynajmniej jednego. Dlatego powinieneś dać mały przykład z życia codziennego, który pomoże zrozumieć istotę tego mechanizmu dla osiągnięcia celów w programowaniu. Weź dwa lub więcej lusterek, umieść je tak, aby wszystkie pozostałe były wyświetlane w jednym. Możesz zobaczyć, że lustra wyświetlają się wielokrotnie, tworząc efekt nieskończoności. Tutaj rekurencje są, w przenośni, odbiciami (będzie ich wiele). Jak widać, łatwo jest zrozumieć, że byłoby pożądanie. Studiując materiały na temat programowania, możesz zrozumieć, że rekursja to także bardzo łatwe zadanie.

Czytaj więcej: