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

Rekurencja ogonowa

Aruba Cloud VPS - 50% taniej przez 3 miesiące!
+2 głosów
300 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 (278,710 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 (156,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,191 wizyt
pytanie zadane 18 marca 2017 w Inne języki przez aborolabis Nowicjusz (120 p.)
+1 głos
1 odpowiedź 203 wizyt
+1 głos
1 odpowiedź 268 wizyt

93,187 zapytań

142,202 odpowiedzi

322,013 komentarzy

62,513 pasjonatów

Advent of Code 2024

Top 15 użytkowników

  1. 2365p. - dia-Chann
  2. 2326p. - Łukasz Piwowar
  3. 2315p. - Łukasz Eckert
  4. 2301p. - CC PL
  5. 2269p. - Tomasz Bielak
  6. 2235p. - Łukasz Siedlecki
  7. 2232p. - rucin93
  8. 2006p. - Michal Drewniak
  9. 1946p. - Adrian Wieprzkowicz
  10. 1901p. - Mikbac
  11. 1744p. - rafalszastok
  12. 1734p. - Anonim 3619784
  13. 1733p. - Marcin Putra
  14. 1586p. - Dawid128
  15. 1480p. - ssynowiec
Szczegóły i pełne wyniki

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

Wprowadzenie do ITsec, tom 1 Wprowadzenie do ITsec, tom 2

Można już zamawiać dwa tomy książek o ITsec pt. "Wprowadzenie do bezpieczeństwa IT" - mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy aż 15% zniżki! Dziękujemy ekipie Sekuraka za fajny rabat dla naszej Społeczności!

...