Czy można się obyć bez rekursji?
Ostatnio zmodyfikowano 2014-10-20 19:06
wilkoo13 Temat założony przez niniejszego użytkownika |
Czy można się obyć bez rekursji? » 2014-10-17 19:58:57 Czy nie używając rekursji można program napisać w taki sposób aby działał w taki sam sposób jak z nią. Czy są pewne rzeczy których nie da się rozwiązać bez używania rekursji? |
|
pekfos |
» 2014-10-17 20:00:16 Wszystko się da, ale często nie ma to sensu. |
|
1aam2am1 |
» 2014-10-17 20:04:39 Wskaźniki Edit. Źle przeczytałem.
|
|
SocrateZ |
» 2014-10-17 21:59:49 Masz na mysli rekurencje? Tak - dowodem na to są PĘTLE (while, for, do-while). Do zastąpienia rekurencji możesz użyć do-while - wiesz że wykona się przynajmniej raz. Wszystko się da, ale często nie ma to sensu. |
Owszem, ale rekurencje są wolniejsze niż ich odpowiedniki. Skąd ty tu wskaźniki wytrzasnąłeś? |
|
Memento96 |
» 2014-10-18 12:42:35 Jemu nie chodzi o rekurencję a o rekursję Rekursja pośrednia to taka rekursja, w której jednocześnie jest definiowanych kilka (tzn. więcej niż jeden) obiektów, które nawzajem "z siebie korzystają". |
|
|
Rashmistrz |
» 2014-10-18 15:44:37 Czy można się obyć bez rekursji? |
Zawsze jakiś sposób jest... http://pl.wikipedia.org/wiki/Algorytm_iteracyjnyPrzykładowo silnia: int silnia( int n ) { if( n == 0 || n == 1 ) return 1; int tmp = n; while( n > 1 ) tmp *=( --n ); return tmp < 2 ? 0: tmp; } jak i przykładowo ciąg Ciąg Fibonacciego: int fib( int n ) { bool ujemna = n < 0 ? true: false; n < 0 ? n =- n: n =+ n; if( n < 3 ) return n == 0 ? 0 :( ujemna ? - 1 : 1 ); int fib1, fib2, tmp, tmp2; fib1 = 1, fib2 = 1; for( int i = 3; i <= n; i++ ) tmp = fib1 + fib2, fib1 = fib2, fib2 = tmp; return ujemna ? fib2 =- fib2: fib2 =+ fib2; } Oczywiste są problemy przy tych algorytmach, gdy wywołujemy element ciągu o dużym indeksie... a przy "20!" już zaczynają się problemy z powodu ograniczeń liczbowych komputera. :F Jemu nie chodzi o rekurencję a o rekursję |
To to samo, tylko że rekursja to nie poprawna kalka z angielskiego. Ktoś sobie napisał wpis na blogu o tej rekurencji pośredniej i innych: http://sesjawpigulce.cba.pl/?notatka=rekurencja-koncowa-nie-koncowa-posrednia-zagniezdzona |
|
SocrateZ |
» 2014-10-18 21:56:20 |
|
Rashmistrz |
» 2014-10-19 13:13:11 Czy są pewne rzeczy których nie da się rozwiązać bez używania rekurencji? |
Tak dobre pytanie, że aż trudno mi na nie odpowiedzieć. Po prostu nic nie wiem na ten temat. Brak danych. O_o |
|
« 1 » 2 3 |