matematykaszkolna.pl
Trivial Mariusz: Co się z nim stało ? Nie wchodzi już na forum Chodzi mi o ten wpis Pozbywanie sie rekurencji ogonowej jest bardzo proste. Wystarczy ustawić argumenty i zrobić goto na początek funkcji, np.: int tailrec(int x) { something(x); if (x < 5) { return tailrec(x+10); } else { return x; } } Zamieniamy na int tailrec(int x) { start: something(x); if (x < 5) { x = x + 10; goto start; } else { return x; } } Dlaczego dał tutaj instrukcję skoku zamiast instrukcji iteracyjnej potocznie zwanej pętlą Czy rekurencję występującą w procedurze przywracającej własność kopca u Cormena można nazwać ogonową ?
24 mar 23:37
Dziadek Mróz: goto to stara metoda dla skoku w kodzie. Nie zaleca się jej użycia bo kod wygląda wtedy paskudnie (Spaghetti code). Trivial pewnie o tym nie wiedział i tak oto mamy dinozaura w kodzie
25 mar 12:35
Dziadek Mróz: https://xkcd.com/292/
25 mar 12:37
Mariusz: Temat był o zapisywaniu algorytmów rekurencyjnych w sposób iteracyjny (konkretnie o rekurencji użytej przez Cormena w procedurze przywracającej własność kopca) Jak zapisywać algorytmy rekurencyjne w sposób iteracyjny np wieże Hanoi Procedura przywracająca własność kopca u Cormena Procedura sortująca przez scalanie (tutaj już jc podał przykładowy kod) Procedura sortująca przez podział (tzw sortowanie szybkie)
25 mar 17:56
Metis: Ostatnio używałem goto w programie skryptowym(batch), który bardzo ułatwia mi pracę, więc się przydaje
27 mar 20:38