Rekursion einfach erklärt - Funktionen in Java 5
Вставка
- Опубліковано 26 сер 2024
- HOL DIR JETZT DIE SIMPLECLUB APP FÜR BESSERE NOTEN! 😎⤵️
simpleclub.com... *
(Über den Link bekommst du sogar 10% Rabatt auf simpleclub unlimited! 😇)
*Werbung für unser eigenes Produkt
📱DAS BEKOMMST DU MIT DER APP:
▸ Alle Videos (auch für Deutsch, Englisch, Französisch, etc.)
▸ Passende Übungsaufgaben (+ originale Abiturprüfungen!)
▸ Fertige Zusammenfassungen
▸ Persönliche Lernpläne für jede Klausur
▸ Wir sagen dir, wie gut du vorbereitet bist! ✅
-----------
🍿FOLGE SIMPLECLUB FÜR FETTEN CONTENT!
▸ Instagram: / simpleclub
▸ TikTok: / simpleclub
🎓 WAS IST SIMPLECLUB?
simpleclub ist die coolste und beliebteste Lernapp für Schülerinnen und Schüler in Deutschland. Wir glauben, dass neue Lernmittel wie z.B. unsere App in Zukunft das klassische Schulbuch ersetzen müssen, sodass DU alles genau so lernen kannst, wie DU es brauchst. 💪🏽
Wir haben unsere App entwickelt, um dich mit interaktiven Übungsaufgaben, Zusammenfassungen, persönlichen Playlisten und noch vielem mehr perfekt auf alle Fächer vorzubereiten! Mit simpleclub sparst du dir Stress und Angst vor JEDER Prüfung und gehst gechillt durch deine Schulzeit. 🚀
Es ist Zeit, das beste aus dir rauszuholen!
KLICKE JETZT HIER UND LEG DIREKT LOS:
➡️ simpleclub.com... ⬅️*
*Werbung für unser eigenes Produkt
📺 ALLE KANÄLE
▸ Mathe: / mathesimpleclub
▸ Biologie: / biologiesimpleclub
▸ Physik: / physiksimpleclub
▸ Chemie: / chemiesimpleclub
▸ Deutsch: / @simpleclub_deutsch
▸ Englisch: / @simpleclub_englisch
▸ Latein: / @simpleclub_latein
▸ Französisch: / @simpleclub_franzoesisch
▸ Spanisch: / @simpleclub_spanisch
▸ Geschichte: / geschichtesimpleclub
▸ Geographie: / geographiesimpleclub
▸ Politik: / @simpleclub_politik
▸ Informatik: / informatiksimpleclub
▸ Wirtschaft: / wirtschaftsimpleclub
▸ Maschinenbau: / maschinenbausimpleclub
▸ Motivations- und Lerntipps: / simpleclubdielernapp
-----------
» CREDITS
Ein Konzept von Alexander Giesecke und Nicolai Schork
Geschrieben von: Marcel Schubert
Visuelle Konzeption: Marcel Schubert
Ton: Alexander Giesecke
Schnitt: Ullrich Köhler
"Bei der Rekursion ruft sich eine Methode immer wieder selbst auf" und genau das musste ich hören.
Wenn ich grade schon mal am Kommentieren bin, wollte ich euch mal sagen, dass es echt krass ist was ihr alles geschaffen habt sogar manche Lehrer von uns zeigen eure Videos im Unterricht um es zu veranschaulichen.... Und bei viele Klausuren und Tests habt ihr mich schon oft gerettet🤗
DANKE dafür 😍💗
Gestern erst an Informatik Aufgaben verzweifelt ihr seid perfekt :)
Nice! :)
Jungs ihr seid die besten kein Dozent erklärt das ganze so gut wie ihr. Jetzt habe ich bisschen Hoffnung, die Klausur doch zu bestehen. Danke euch!!
Also prinzipiell stimmts ja, aber :
Bei 2:23 sieht es so aus als wollte ihr sagen, dass z.12 : baumfaellen(a-1) die Abbruchbedingung ist. Dabei ist es natürlich z.7 : if(a==1)!
Eine Abbruchbedingung kann ja nicht gleichzeitig der rekursive Aufruf sein.
Wie der Name schon sagt, es ist die Bedingung um abzubrechen und nicht mehr in die Rekursion zu gehen.
Wenn man nun außerdem eure Methode mit Werten kleiner 1 aufrufen würde, dann hätte man eine Endlosrekursion was in Java in einem Stackoverflow resultiert, weil die Abbruchbedingung ja dann nie erreicht wird.
if(a
Ihr rettet mir grad den Arsch Jungs.
Schöne Auffrischung des gelernten, hab lange nicht mehr selbst programmiert muss es aber jetzt jemandem erklären, danke.
danke für das Video. Ich weiß nun wo mein Problem ist, ich kenne den ganzen Theoretischen Teil bereits, aber ich muss lernen ihn Computersprachentechnisch zu programmieren
Sehr gut
Mit dem Thema haben wir vorgestern im Unterricht angefangen 💪🏼
Nice! :)
2:54 Geile Scheizä! Jetzt kann ich auch ein Minecraft programmieren!
Wie weit bist du? xD
Simpleclub Informatik Channel so underrated
Danke Leute ihr habt mein Leben gerettet hab eine GSL über Rekursionen und bis jetzt hab ich viel danach gegoogelt aber keiner kanns so gut erklären wie ihr XD Ihr seid die besten :))
Und so schnell ist der Klassenname klein geschrieben :P Super Videos !
Haut mal ein Video zu Vererbung in Java raus, wäre echt korrekt! :D :)
welches Programm benutzt ihr eigentlich, um eure Videos auf diese simple Art und Weise zu visualisieren?
Ist bei 2:24 nicht if(a==1) der Abbruchsfall? Weil wenn a nach einer gewissen anzahl von Rekursionen = 1 ist und die Rekursion aufhört?
2:23 Hier wurde doch auf den Rekursionsschritt gezeigt, die Abbruchbedingung ist doch oben das if(a==1) oder?
ja
Schon wieder ein Klassenname, der mit einem Kleinbuchstaben beginnt :(
Sowas gehört verboten :D
fuckt ab oder? :D
ne spaß in Java mach ich das auch manchmal xD
Wer Namensconventions nicht einhält hat ekelhaften Code! Du hast wohl nicht so viel erfahrung in Programmierung oder?
Daniel Däschle doch eigentlich schon nur in Java hab ich mir das irgendwie so angewöhnt in anderen Sprachen zB C# schreibe ich Methoden auch groß. Java war meine erste Sprache und da hab ich nie drauf geachtet aber weils funktioniert hat ist mir das irgendwie egal geworden
Hmm, grad in Java und so gehört das groß! :D
Rekursion ist so, als würde man sagen: Rekursion ist Rekursion. Die Definition für Rekursion ist nämlich rekursiv, das bedeutet: Wer Rekursion verstehen will, muss vorher Rekursion verstehen. Verständlicherweise muss man daher, um die Rekursion zu verstehen, nicht nur erst die Rekursion verstehen, sondern auch zuerst die Rekursion verstehen.
Wieso springt denn bei der Rekursion das Programm zurück zum Beginn von der ifAnweisung? Da kommt ja kein Befehl der dafür sorgt. Könnte mir das bitte jemand erklären?
einfach toll ...... ^_^ ....danke euch
Hey ich hab son bisschen ein Problem JUnit Tests zu schreiben. Könnt ihr dazu auch mal ein Video machen?
Ist notiert :)
Wieso kommt bei 4:20 nicht 1 raus? Ihr decrementiert doch einfach a bis es 1 ist und gebt dann den Wert 1 zurück. Wieso sollten die return-Werte aus dem else Block überhaupt berücksichtigt werden?
Die Methode wird insgesamt drei mal aufgerufen; der zweite Aufruf geschieht während des ersten Aufrufes, und der dritte Aufruf während des zweiten. Wenn also im dritten Aufruf die 1 zurückgegeben wird, landen wir im zweiten Aufruf, in dem jetzt als Rückgabewert "2 * " steht, also "2 * 1": das ganze wird dann in den ersten Aufruf zurückgegeben, wo dann "3 * " steht, also "3 * ´2 * 1´", womit dann insgesamt 6 zurückgegeben wird.
Habe jetzt sehr oft die Wörter Aufruf und Rückgabe verwendet, aber darum geht es halt...
E: oh.. vor 3 Monaten, naja vielleicht hat ja irgendwann jemand nochmal die gleiche Frage
Das hat mir zum verstehen noch gefehlt! Vielen Dank!!!
würde mich über die ackermann funktion freuen
Dieser Moment du hast Informatik in der Oberstufe nur gewählt weil du in allem anderen Fächern noch schlechter warst du in 7 Stunden Klausur schreibst aber komplett unvorbereitet bist weil du erst um 12 uhr abends angefangen hast zu lernen
Und dann liest du all diese Informatiker Witze
Me
Hatte keine Lust auf Bio und kann Chemie und Französisch nicht (Physik Englisch LK), hab deswegen Info. War n Fehler. :)
Kannst du bitte mir erklären warum du im Parameter (int a) gegeben hast du könntest einfach unten es deklarieren
Ein antwort bitte was über Haupt Parameter sind und wann man was reinschreiben kann
Das heißt die Funktion zwischenspeichert den Wert mit jeder Iteration?
Wenn man der Methode *rechneFakultaet* den wert 2 übergibt, kommt dann nicht 1 raus?
Das Beispiel mit der Omma ist aber eigentlich keines für eine Rekursion, sondern für eine Schleife, was ihr ja auch erwähnt habt. In solch einem Fall hat es überhaupt keinen Sinn, das Ganze rekursiv zu lösen, das belastet nur den Arbeitsspeicher, da der Stack der Methodenaufrufe vollläuft. In einer rekursiven Methoden ist i.d.R. ein return-Statement, das einen Wert zurückgibt, der von einem weiteren Aufruf der Methode kommt... Das Beispiel mit der Fakultät ist da eher sinnvoll.
Ah, und Code Conventions... bitte
Welches Semester bist du den ?
Auf das wäre ich jetzt nicht gekommen xD
x4v33r **hust** 10. Klasse **hust** ^^
Also letzte Klasse Gymnasium ?
x4v33r Naja, die Oberstufe hab ich noch vor mir
Geil! Danke für das Video!
Warum sind rekursive Mehtoden immer static ?
Stark!
Ja das mit der Omma, ist echt eher ne Schleife.
Naja, eher beides.
nice Video! Könnt ihr dasselbe für C++ machen ?
Thx Boyzzz
Hab grade mal Rekursion gegooglet
und gemerkt dass das "Meintest du: Rekursion " nur eine verarsche ist.. :D
Manchmal ist Google einfach best!
Ich liebe euch
Kann mir jemand sagen, wann es Sinn macht welche Schleife zu benutzen? Ich weiß nie so richtig ob ich ne while, if, do-while oder ne recursion benutzen soll. Wär cool, wenn mir einer ein bisschen helfen könnte. Für nen link oder literaturvorschlag, wo das verständlich erklärt ist, wär auch sehr dankbar.
do-while: Die Operation wird mindestens einmal, maximal so oft, wie oft die Schleifenbedingung erfüllt ist, ausgeführt.
while: Die Operation wird "mindestens 0-mal" (ist also optional), maximal so oft, wie oft die Schleifenbedingung erfüllt ist, ausgeführt.
if: Die Operation wird einmal oder keinmal ausgeführt.
Rekursion ist zwar cool, aber nach einer bestimmten Anzahl (die kleiner ist als man denken würde!) ist sie recht uneffizient (im Vergleich zu einer richtig geschriebenen iterativen Methode).
Was soll das bedeuten? Die 100.000.000-ste Fibonacci-Zahl wirst du wohl nicht mit Rekursion berechnen wollen, weil du gleich nach dem Starten schlafen gehen kannst und schaust dann am nächsten Tag, was die Zahl ist (ok das ist übertrieben, aber wenn du so einen PC hast, dann kann das schon passieren).
Iterativ ist die Sache mit einem Methodenaufruf und insbesondere mit einer einzigen Rechnung erledigt.
Besser als ne Stunde Vorlesung wo man am ende eh nix versteht xD
würde mich auch über Merge sort und Aufwandsbetrachtungen freuen
Ist notiert :)
Danke 😍 und könntet ihr auch noch Themen von Kommunikations- und Ortungstechnik , Betriebssysteme (C Programmierung) machen.. bald sind dir Klausuren und der Lehrer ist so schlecht 😣
Ich finde die 7 tage Testversion nicht würde echt gerne testen :/
Bitte hilfe
Die App an sich ist kostenlos und die ersten Cheats kannst du dir auch holen :)
Könnt ihr ein Video über ECM machen
Ist notiert :)
berichtigt mich wenn ich falsch liege aber sollte das programm in diesem fall nicht nur 4 mal hacken ausgeben und dann baum fällt? bei a == 0 würde es 5 mal hacken ausgeben.. so ist es zu mindest in meinem programm und ich habs 1:1 so geschrieben wie the simple club in dem video.. bin verwirrt
Ja hast schon recht, aber in dem Video steht auch 5 x hacken
int a = 5
hacken
a ungleich 1 --> baumfällen (4) -->
hacken
a ungleich 1 --> baumfällen (3) -->
hacken
a ungleich 1 --> baumfällen (2) -->
hacken
a ungleich 1 --> baumfällen(1) -->
hacken
a gleich 1 --> baum fällt
also 5 * hacken und ein Baum fällt...
Was heißt return 3 * rechneFakultaet (3-1)
Hilfeeee
😊
Leute, morgen werd ich gerupft 😂🪦
könnt ihr Mal Assembler erklären
download dir ein x86 assembler ebook
mehr informatik videos
bitte
auch was fürs abi
Wir sind dran 💪
1:53 Und wie würde das in C++ ausshene? ://
Habs jetzt nicht ausprobiert und bin auch kein C++ Profi, aber das sollte laufen:
void baumfaellen(int a)
{
cout
@@eggerslayer yooo, danke!!
Wenn meine Oma mehr als 100000 mal hackt bekomme ich in der Konsole eine Fehlermeldung.Der Baum fällt nicht.
Exception in thread "main" java.lang.StackOverflowError......etc.
Du kannst die Oma halt nicht so oft hacken lassen, sonst wird die Rekursion so groß vom Speicherverbrauch, dass du einen Fehler bekommst.
Das liegt daran, dass ab 500 hacken die Rekusion abkackt xD. Dann muss man eigentlich auch Iterativ wechseln
Das ist alles super erklärt und im Detail gezeigt, Daumen hoch dazu! :D
Aber Rekursion benutzt man doch eig lieber mit Algorithmen die man nicht iterierin (gibt's das Verb?) kann wie ua die Ackermann Funktion, oder irre ich mich da total ? Oo
(siehe Computerphile "Recursion" und "Ackermann")
Ich dachte eigentlich, dass es zu jedem rekursiven Algorithmus einen iterativen gibt.
Der Hauptanwendungszweck von Rekursionen ist aber meines Wissens, sobald es ums Backtracking (Damenproblem, Springerproblem etc.), eventuell auch beim dynamischen Programmieren, bei Tiefensuche, bli, bla, blub,...
Nein zur jedem rekursivem Algo gibt es keine Iterative (wie Ackermann zB). Ackermann geht dabei so:
A(0,m) = m+1;
A(n,0) = A(n - 1, 1);
A(n,m) = A(n - 1, A(n, m - 1).
Mit dem Lambda Kalkül kann man auch eine iterative Ackermannfunktion implementieren:
ack ≡ λn. n (λf.λm. m f (f 1)) succ
Der Typ Genau! Alles was ne Turing Maschine kann, sollte auch das Lambda-Kalkül können. Und wenn ich das richtig begriffen habe, gibt es dann Probleme, die man nicht mit Algorithmen lösen kann..
Immer wieder erstaunlich wie ihr die einzigen zu sein scheint die wissen, was beim erklären von Algorithmen wichtig ist.
Würde das ganze nicht auch über eine While Schleife funktonieren ?
Klar, geht auch
Hallo,
weiß jemand welche Präsentationssoftware die Jungs benutzen?
Würde mich über eine Antwort freuen und bedanke mich im Voraus 🙂
Prezi evtl?
BaumFällen method.....Das war sehr lustig....
0:00 Wenn man mehr kennen würde, würden einem die Videos nicht mehr gefallen :D
Versucht mal den Quicksort Iterativ. Wer es schafft und es mir zeigt kriegt 2€ ^^
Viel geiler, wenn ich eure Webseite aufrufen will, sperrt mein Virenprogramm diese Webseite.
Beim Verbinden mit simpleclub.com trat ein Fehler auf. SSL hat einen Eintrag erhalten, der die maximal erlaubte Länge überschritten hat. Fehlercode: SSL_ERROR_RX_RECORD_TOO_LONG
in den Einstellungen kannst du es abändern, dass unsere Seite erlaubt ist :)
Sonst einfach die App runterladen :)
Ich kann nicht mehr :[
1.
Weniger labern, mehr fakten. Die coole Musik und die hippen Soundeffekts kann man schon machen, stört aber eher mMn
hat echt keiner die Aufgabe gemacht, den Rekursionsteil in die if-Abfrage zu legen? Die Jugend von heute... tztztzz
euer Code funktioniert halt in der Realität nicht mal 👎🏿👎🏿👎🏿