• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Rekurencja ogonowa

Object Storage Arubacloud
+2 głosów
226 wizyt
pytanie zadane 10 maja 2022 w Rozwój zawodowy, nauka, praca przez maxkolanko1998 Gaduła (3,230 p.)
Tak w prostych przystępnych słowach co to jest ta cała rekurencja ogonowa. Wiem że jest wykorzystywana jakaś dodatkowa zmienna, która powoduje że stos wywołań pozostaje taki sam. Ale jak to dokładnie działa?

1 odpowiedź

+1 głos
odpowiedź 10 maja 2022 przez Wiciorny Ekspert (269,590 p.)
wybrane 11 maja 2022 przez maxkolanko1998
 
Najlepsza

ja sie czasami zastanawiam, na co ktoś wymyśla takie głupoty...  w sensie autorzy artykułów, czy postów nawet, czasami albo "zamierzenie" dobierają taie słowa, aby zaciekawić, coś wymyśleć- aby opisując WAŁKOWANY wszędzie temat, jakoś się zaprezentować (* co to ja nie wiem), a w rzeczywistości :D powodują zmieszanie i zakłopotanie.


https://pl.wikipedia.org/wiki/Rekurencja_ogonowa
 w której ostatnia operacja wykonywana przez funkcję to rekurencyjne wywołanie samej siebie lub zwrócenie końcowego wyniku

Co to oznacza? 
Ze funkcja NIE JEST REKURENCYJNA CALA i do wyniku nie wywoluje samej siebie, jedynie JEJ OSTATNI ETAP wywołanie ( które kończy jej prace działanie, jest rekurencyjnym wywołaniem niej samej). W trakcie poszczególnych kroków mogą być inne operacje nie rekurencyjne lub sama w sobie realizuje coś nie wywołując siebie wielokrotnie krok po kroku 

2
komentarz 11 maja 2022 przez mokrowski Mędrzec (155,460 p.)
Uważaj... tłumaczysz rekurencję. A żeby ją rozumieć, trzeba najpierw zrozumieć rekurencję :)

A poważniej...

Dodał bym tylko że w przypadku języków kompilowanych, w wyniku assemblera przy wystąpieniu rekurencji ogonowej, zostanie wstawiona instrukcja jmp a nie call. Będzie to wiązało się z małą konsumpcją stosu wywołań. Takie biblijne "po owocach ją poznacie".

W C i C++ konieczność stosowania optymalizacji rekurencji ogonowej, nie jest obecna w standardzie. Ogólnie temat rekurencji w produkcyjnym programowaniu, jest .. kontrowersyjny.
komentarz 11 maja 2022 przez maxkolanko1998 Gaduła (3,230 p.)
przeniesione 11 maja 2022 przez ScriptyChris
Ok dzięki za pomoc

Podobne pytania

0 głosów
0 odpowiedzi 1,047 wizyt
pytanie zadane 18 marca 2017 w Inne języki przez aborolabis Nowicjusz (120 p.)
+1 głos
1 odpowiedź 165 wizyt
+1 głos
1 odpowiedź 235 wizyt

92,536 zapytań

141,377 odpowiedzi

319,452 komentarzy

61,922 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...