Hauptinhalt
Informationstechnik
Kurs: Informationstechnik > Lerneinheit 1
Lektion 6: Rekursive Algorithmen- Rekursion
- Die Fakultät
- Challenge: Iterative Fakultät
- Rekursive Fakultät
- Challenge: Rekursive Fakultät
- Eigenschaften von rekursiven Algorithmen
- Verwende Rekursion zum bestimmen ob ein Wort ein Palindrom ist
- Challenge: Ist ein String ein Palindrome?
- Die Potenzen einer Zahl berechnen
- Challenge: Rekursive Potenzen
- Mehrere Rekursionen mit dem Sierpinski-Dreieck
- Die Effizienz von rekursiven Funktionen verbessern
- Projekt: Rekursive Kunst
© 2023 Khan AcademyNutzungsbedingungenDatenschutzerklärungCookie-Meldung
Rekursive Fakultät
Für positive Werte von n, bedeutet n, !, wie bereits gesehen, ein Produkt von Zahlen von n bis 1: Also n, ! = n, dot, left parenthesis, n, minus, 1, right parenthesis, \@cdots, 2, dot, 1. . Dabei ist left parenthesis, n, minus, 1, right parenthesis, \@cdots, 2, dot, 1 eine andere Schreibweise für left parenthesis, n, minus, 1, right parenthesis, !, Und so können wir sehen, dass n, !, equals, n, dot, left parenthesis, n, minus, 1, right parenthesis, ! ist. Hast du gemerkt, was wir gerade gemacht haben? Wir haben n geschrieben als ein Produkt, in dem einer der Faktoren left parenthesis, n, minus, 1, right parenthesis, ! ist. _Du kannst n, ! berechnen indem du left parenthesis, n, minus, 1, right parenthesis, ! berechnest und dann das Ergebnis von left parenthesis, n, minus, 1, right parenthesis, ! mit n multiplizierst.Du kannst die Fakultät von n berechnen, indem du zuerst die Fakultät von n, minus, 1 berechnest. Wir sagen, dass die Berechnung von left parenthesis, n, minus, 1, right parenthesis, ! ein Subproblem ist, das wir lösen müssen, um n zu berechnen!
Als Beispiel berechnen wir 5!.
- Du kann 5! durch 5, dot, 4, ! berechnen.
- Jetzt müssen wir das Unterproblem der Berechnung von 4! lösen, indem wir 4, dot, 3, ! berechnen.
- Dafür müssen wir das Unterproblem von 3 ! lösen, was 3, dot, 2, ! ist.
- Jetzt ist 2! dran, das ist 2, dot, 1, !.
- Jetzt müssen wir 1! berechnen. Man kann sagen, dass 1! gleich 1 ist, weil es das Produkt aller ganzen Zahlen von 1 bis 1 ist. Oder du kannst die Formel anwenden, nach der 1, !, equals, 1, dot, 0, ! ist. Lass es uns tun, indem wir die Formel anwenden.
- Wir definieren 0!=1.
- Jetzt können wir 1, !, equals, 1, dot, 0, !, equals, 1 berechnen .
- Nachdem wir 1, !, equals, 1 berechnet habe, kannst du 2, !, equals, 2, dot, 1, !, equals, 2. bestimmen
- Nach 2, !, equals, 2, kommt 3, !, equals, 3, dot, 2, !, equals, 6.
- Nach 3, !, equals, 6, bestimmen wir 4, !, equals, 4, dot, 3, !, equals, 24.
- Schlussendlich, nach 4, !, equals, 24, können wir 5, !, equals, 5, dot, 4, !, equals, 120 berechnen.
So jetzt haben wir einen anderen Weg gefunden, den Wert von n, !, für alle natürlichen Zahlen n zu bestimmen:
- Wenn n, equals, 0 ist, dann deklarieren wir, dass n, !, equals, 1 ist.
- Andernfalls muss n positiv sein. Löse das Unterproblem der Berechnung von left parenthesis, n, minus, 1, right parenthesis, ! und multipliziere dieses Ergebnis mit n und deklariere n, ! gleich dem Ergebnis dieses Produktes.
Wenn wir n, ! auf diese Weise berechnen nennen wir den ersten Fall, wo wir sofort die Antwort kennen, den Basisfall , und den zweiten Fall, wo wir die gleiche Funktion mit einem anderen Wert berechnen müssen, den rekursiven Fall .
Dieses Tutorial ist in Zusammenarbeit zwischen den Professoren Thomas Cormen und Devin Bock von Dartmouth Computer Sience und dem Khan Academy Computing Curiculum-Team entstanden und wurde von der KA Deutsch Community übersetzt. Das Tutorial ist unter der Lizenz CC-BY-NC-SA lizenziert.
Willst du an der Diskussion teilnehmen?
Noch keine Beiträge.