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

КОМЕНТАРІ • 127

  • @RobAChurch
    @RobAChurch 3 роки тому +30

    "Bei der Rekursion ruft sich eine Methode immer wieder selbst auf" und genau das musste ich hören.

  • @denisesmile8252
    @denisesmile8252 7 років тому +16

    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 😍💗

  • @lissyn8039
    @lissyn8039 7 років тому +18

    Gestern erst an Informatik Aufgaben verzweifelt ihr seid perfekt :)

  • @cositarica8050
    @cositarica8050 2 роки тому +6

    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!!

  • @Anaximander29A
    @Anaximander29A 4 роки тому +6

    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

  • @behindertenheim4741
    @behindertenheim4741 6 років тому +40

    Ihr rettet mir grad den Arsch Jungs.

  • @stormnr2
    @stormnr2 4 роки тому +1

    Schöne Auffrischung des gelernten, hab lange nicht mehr selbst programmiert muss es aber jetzt jemandem erklären, danke.

  • @Evi19Black
    @Evi19Black 2 роки тому +1

    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

  • @Bialyz
    @Bialyz 7 років тому +5

    Sehr gut
    Mit dem Thema haben wir vorgestern im Unterricht angefangen 💪🏼

  • @Guterzogenbistdunich
    @Guterzogenbistdunich 7 років тому +7

    2:54 Geile Scheizä! Jetzt kann ich auch ein Minecraft programmieren!

    • @stormnr2
      @stormnr2 4 роки тому +2

      Wie weit bist du? xD

  • @kesilchen
    @kesilchen 3 роки тому +1

    Simpleclub Informatik Channel so underrated

  • @armando-valentingheorghe9209
    @armando-valentingheorghe9209 6 років тому

    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 :))

  • @r.d.6676
    @r.d.6676 10 місяців тому

    Und so schnell ist der Klassenname klein geschrieben :P Super Videos !

  • @nikitam857
    @nikitam857 7 років тому +2

    Haut mal ein Video zu Vererbung in Java raus, wäre echt korrekt! :D :)

  • @nicaden5812
    @nicaden5812 7 років тому +2

    welches Programm benutzt ihr eigentlich, um eure Videos auf diese simple Art und Weise zu visualisieren?

  • @elisabetht.3647
    @elisabetht.3647 4 роки тому +1

    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?

  • @tarikeld11
    @tarikeld11 3 роки тому +3

    2:23 Hier wurde doch auf den Rekursionsschritt gezeigt, die Abbruchbedingung ist doch oben das if(a==1) oder?

  • @user-vg3sr2bf1l
    @user-vg3sr2bf1l 7 років тому +162

    Schon wieder ein Klassenname, der mit einem Kleinbuchstaben beginnt :(

    • @danieldaschle
      @danieldaschle 7 років тому +16

      Sowas gehört verboten :D

    • @hackandcode1337
      @hackandcode1337 7 років тому

      fuckt ab oder? :D
      ne spaß in Java mach ich das auch manchmal xD

    • @danieldaschle
      @danieldaschle 7 років тому +8

      Wer Namensconventions nicht einhält hat ekelhaften Code! Du hast wohl nicht so viel erfahrung in Programmierung oder?

    • @hackandcode1337
      @hackandcode1337 7 років тому

      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

    • @danieldaschle
      @danieldaschle 7 років тому +3

      Hmm, grad in Java und so gehört das groß! :D

  • @vestabeats6007
    @vestabeats6007 4 роки тому +3

    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.

  • @sirumbra366
    @sirumbra366 6 років тому +1

    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?

  • @jamalmonawer1964
    @jamalmonawer1964 5 років тому +1

    einfach toll ...... ^_^ ....danke euch

  • @richardtang11
    @richardtang11 7 років тому +3

    Hey ich hab son bisschen ein Problem JUnit Tests zu schreiben. Könnt ihr dazu auch mal ein Video machen?

  • @raver8056
    @raver8056 6 років тому +4

    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?

    • @johjoh1571
      @johjoh1571 6 років тому +9

      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

    • @Matrixmaker90
      @Matrixmaker90 6 років тому +2

      Das hat mir zum verstehen noch gefehlt! Vielen Dank!!!

  • @inahenkel5343
    @inahenkel5343 3 роки тому

    würde mich über die ackermann funktion freuen

  • @TheSaverLP
    @TheSaverLP 5 років тому +1

    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

    • @KommentierKanal
      @KommentierKanal 4 роки тому

      Me
      Hatte keine Lust auf Bio und kann Chemie und Französisch nicht (Physik Englisch LK), hab deswegen Info. War n Fehler. :)

  • @khaledm5227
    @khaledm5227 3 роки тому

    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

  • @Salamaleikum80
    @Salamaleikum80 5 років тому

    Das heißt die Funktion zwischenspeichert den Wert mit jeder Iteration?

  • @nunjabizness
    @nunjabizness 6 років тому

    Wenn man der Methode *rechneFakultaet* den wert 2 übergibt, kommt dann nicht 1 raus?

  • @0xTim
    @0xTim 7 років тому +26

    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.

    • @0xTim
      @0xTim 7 років тому +7

      Ah, und Code Conventions... bitte

    • @x4v33r
      @x4v33r 7 років тому +1

      Welches Semester bist du den ?
      Auf das wäre ich jetzt nicht gekommen xD

    • @0xTim
      @0xTim 7 років тому

      x4v33r **hust** 10. Klasse **hust** ^^

    • @x4v33r
      @x4v33r 7 років тому

      Also letzte Klasse Gymnasium ?

    • @0xTim
      @0xTim 7 років тому +1

      x4v33r Naja, die Oberstufe hab ich noch vor mir

  • @pocketrocket6604
    @pocketrocket6604 4 роки тому

    Geil! Danke für das Video!

  • @lip9499
    @lip9499 5 років тому

    Warum sind rekursive Mehtoden immer static ?

  • @KevClayt0n
    @KevClayt0n 6 років тому

    Stark!

  • @LukasvandeHaag
    @LukasvandeHaag 7 років тому +15

    Ja das mit der Omma, ist echt eher ne Schleife.

  • @amirusmusic
    @amirusmusic 6 років тому

    nice Video! Könnt ihr dasselbe für C++ machen ?
    Thx Boyzzz

  • @johnwest8624
    @johnwest8624 6 років тому +3

    Hab grade mal Rekursion gegooglet
    und gemerkt dass das "Meintest du: Rekursion " nur eine verarsche ist.. :D

    • @techniktab
      @techniktab 4 роки тому

      Manchmal ist Google einfach best!

  • @Sunny-bc1re
    @Sunny-bc1re 3 роки тому

    Ich liebe euch

  • @isown8131
    @isown8131 7 років тому

    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.

    • @czucziandras1406
      @czucziandras1406 7 років тому +1

      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.

  • @samuelverkoul4267
    @samuelverkoul4267 3 роки тому +1

    Besser als ne Stunde Vorlesung wo man am ende eh nix versteht xD

  • @denisesmile8252
    @denisesmile8252 7 років тому

    würde mich auch über Merge sort und Aufwandsbetrachtungen freuen

    • @simpleclub_informatik
      @simpleclub_informatik  7 років тому +1

      Ist notiert :)

    • @denisesmile8252
      @denisesmile8252 7 років тому

      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 😣

  • @privatprivat6629
    @privatprivat6629 5 років тому +1

    Ich finde die 7 tage Testversion nicht würde echt gerne testen :/
    Bitte hilfe

    • @simpleclub_informatik
      @simpleclub_informatik  5 років тому

      Die App an sich ist kostenlos und die ersten Cheats kannst du dir auch holen :)

  • @arifertugrul6146
    @arifertugrul6146 7 років тому

    Könnt ihr ein Video über ECM machen

  • @justthings4044
    @justthings4044 6 років тому

    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

    • @nilsnickname4455
      @nilsnickname4455 Рік тому

      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...

  • @heisenberg6388
    @heisenberg6388 5 років тому

    Was heißt return 3 * rechneFakultaet (3-1)
    Hilfeeee

  • @beneyt
    @beneyt 7 років тому +1

    😊

  • @dominikn19
    @dominikn19 Рік тому

    Leute, morgen werd ich gerupft 😂🪦

  • @str.haysam
    @str.haysam 7 років тому +3

    könnt ihr Mal Assembler erklären

    • @BioBarry
      @BioBarry 7 років тому

      download dir ein x86 assembler ebook

  • @michihd8336
    @michihd8336 7 років тому

    mehr informatik videos
    bitte
    auch was fürs abi

  • @venturesomescout634
    @venturesomescout634 3 роки тому

    1:53 Und wie würde das in C++ ausshene? ://

    • @eggerslayer
      @eggerslayer 3 роки тому +1

      Habs jetzt nicht ausprobiert und bin auch kein C++ Profi, aber das sollte laufen:
      void baumfaellen(int a)
      {
      cout

    • @venturesomescout634
      @venturesomescout634 3 роки тому

      @@eggerslayer yooo, danke!!

  • @HallivanGalli
    @HallivanGalli 7 років тому

    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.

    • @Panicfly_streams
      @Panicfly_streams 6 років тому

      Du kannst die Oma halt nicht so oft hacken lassen, sonst wird die Rekursion so groß vom Speicherverbrauch, dass du einen Fehler bekommst.

    • @fantamagier
      @fantamagier 5 років тому

      Das liegt daran, dass ab 500 hacken die Rekusion abkackt xD. Dann muss man eigentlich auch Iterativ wechseln

  • @syvisaur7735
    @syvisaur7735 7 років тому

    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")

    • @dertyp6833
      @dertyp6833 7 років тому +1

      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,...

    • @syvisaur7735
      @syvisaur7735 7 років тому

      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).

    • @dertyp6833
      @dertyp6833 7 років тому +1

      Mit dem Lambda Kalkül kann man auch eine iterative Ackermannfunktion implementieren:
      ack ≡ λn. n (λf.λm. m f (f 1)) succ

    • @syvisaur7735
      @syvisaur7735 7 років тому

      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..

  • @florianlankes1335
    @florianlankes1335 2 роки тому

    Immer wieder erstaunlich wie ihr die einzigen zu sein scheint die wissen, was beim erklären von Algorithmen wichtig ist.

  • @easycodingdereinfachwegcod3612
    @easycodingdereinfachwegcod3612 6 років тому

    Würde das ganze nicht auch über eine While Schleife funktonieren ?

  • @franzosevonweihnachten9975
    @franzosevonweihnachten9975 7 років тому

    Hallo,
    weiß jemand welche Präsentationssoftware die Jungs benutzen?
    Würde mich über eine Antwort freuen und bedanke mich im Voraus 🙂

    • @0xTim
      @0xTim 7 років тому

      Prezi evtl?

  • @ariomahn2893
    @ariomahn2893 3 роки тому

    BaumFällen method.....Das war sehr lustig....

  • @SumriseHD
    @SumriseHD 4 роки тому

    0:00 Wenn man mehr kennen würde, würden einem die Videos nicht mehr gefallen :D

  • @zweiyoutubenutzer1762
    @zweiyoutubenutzer1762 5 років тому

    Versucht mal den Quicksort Iterativ. Wer es schafft und es mir zeigt kriegt 2€ ^^

  • @Timo-F93
    @Timo-F93 5 років тому

    Viel geiler, wenn ich eure Webseite aufrufen will, sperrt mein Virenprogramm diese Webseite.

    • @Timo-F93
      @Timo-F93 5 років тому

      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

    • @simpleclub_informatik
      @simpleclub_informatik  5 років тому

      in den Einstellungen kannst du es abändern, dass unsere Seite erlaubt ist :)
      Sonst einfach die App runterladen :)

  • @trouler44lp55
    @trouler44lp55 Рік тому

    Ich kann nicht mehr :[

  • @basti7848
    @basti7848 7 років тому

    1.

  • @HUMPLDUMPL
    @HUMPLDUMPL 7 років тому +6

    Weniger labern, mehr fakten. Die coole Musik und die hippen Soundeffekts kann man schon machen, stört aber eher mMn

  • @nilsnickname4455
    @nilsnickname4455 Рік тому

    hat echt keiner die Aufgabe gemacht, den Rekursionsteil in die if-Abfrage zu legen? Die Jugend von heute... tztztzz

  • @nikolajschon8896
    @nikolajschon8896 3 роки тому

    euer Code funktioniert halt in der Realität nicht mal 👎🏿👎🏿👎🏿