Programmieren Lernen #23 - Rekursion

preview_player
Показать описание
In diesem Tutorial schauen wir uns an, was Rekursion ist.

* *Meine Website mit allen anderen Kanälen und Newsletter* *:

_Discord:_

_Unterstützt mich - Danke!:_
Рекомендации по теме
Комментарии
Автор

Vielen Dank für deine sehr anschauliche Erklärung.
Mir hat sehr gefallen, dass du die Zwischenschritte nicht nur erwähnt hast sondern auch aufgeschrieben hast.
Mach weiter so👍

daniel-qufr
Автор

nach 6 videos endlich verstanden, danke!

cyrilo
Автор

So super erkärt. Und das sogar nur innerhalb weniger Minuten. Einsame Spitze 👍👍👍 Es wäre noch toll, wenn du den Call Stack irgendwie erklären könntest. Irgendwie schmeißts mich noch bei den 0 returns raus.

alexf
Автор

Kleine Anmerkung:
0! = 1 (per Definition)

Ansonsten wie immer ein cooles Video (y)

Lairendil
Автор

Hallo 🌞, möchte mich als Erstes einmal für die tollen Tuts bedanken. Habe bis jetzt nur in Javascript & PHP Code geschrieben & finde deshalb die ganzen Hintergrund Infos super interessant.
Habe ich das richtig verstanden:
Eine Rekursion ist es dann, wenn sich eine Funktion, nachdem sie aufgerufen wurde, immer wieder selbst aufruft & dabei die Werte der Parameter bei jedem Aufruf geändert werden & sofern ich keine Abbruchbedingung einbaue, hätte ich eigentlich eine Endlosschleife?

Offoffful
Автор

Hallo Morpheus,
ich bin gerade dabei, deine Übungsaufgabe zu machen. also eine Rekursion zu der Fibonacci Folge zu basteln. Leider habe ich einige Schwierigkeiten damit und hoffe, du (oder jmd anders) kann mir mal kurz weiterhelfen.
Zuerst überlegte ich, ob die Funktion mir nur eine Zahl, also die n-te Zahl der Folge ausspucken soll, oder alle Zahlen bis zur n-ten Zahl ausgeben soll. Ich hab mich zunächst an erstem versucht.
(Ich bin absoluter Anfänger, also bitte nicht lachen)

1 int function fib(int i)
2 if (i<=0) {
3 return 0
4 }
5 else if (i==1) {
6 return 1
7 }
8 else return fib(int i-2) + fib(int i-1)
9 int i = 3

So, bei dem einfachsten Beispiel von i=3 wird also 3 ((3-2)+(3-1)) ausgegeben. Mein Problem ist nun, dass diese 3 ja nicht die dritte Zahl der Folge ist, sondern eigentlich die fünfte... (0, 1, 1, 2, 3, ...). Wo habe ich denn meinen Denkfehler?

julianf
Автор

Hey Morpheus oder wer auch sonst mir gerne helfen möchte,
ich weiß, das Video ist jetzt schon drei Jahre alt, naja probieren kann man es ja mal (:

Ich hab mich an die Fibonacci-Aufgabe gemacht, muss jedoch gleich mal vorneweg sagen, dass ich mich heute zum ersten Mal überhaupt mit Programmierung auseinandergesetzt habe (und bis zum 23. Video von dir gekommen bin, also Respekt an dich und vielen Dank für deine Art, Wissen zu vermitteln)
Ich hab mir überlegt, dass ich die n-te Zahl der Folge berechnen möchte und mir dafür folgendes überlegt:

int function fibo(int n){
if(n<=1){
return n
}
return fibo(n-1)+fibo(n-2)
}


Würde das funktionieren? Vor allem das mit return n oder kommt es da zu einer Endlosschleife?
Und (eine ganz doofe Frage): Mit welcher Anwendung könnte ich das selbst ausprobieren? :D

Freue mich sehr über eine Antwort (:

lucyinthesky
Автор

Ich verstehe nicht wieso da dann zb. 5*4*3*2*1 steht weil ich dachte man muss eine schleife machen. So würde es doch nur 5*4 ausgeben

ichbleibeanonym-d
Автор

Ich weiß nicht wieso man für fakultät überall jeder rekursion verwendet. Ich hab das zB in Python implementiert und da hat es für den Wert 1000 einen Fehler gegeben. Ich hab das mal so umgesetzt wie ich es gemacht hätte und das klappt sogar noch schneller und mit größeren Werten wie 100.100 in innerhalb 26 sekunden:

def fak1(n):
res = n

while n > 1:
n -= 1
res *= n
return res

charlesbabbage
Автор

Welche Sprache ist das ?

Ich habe c++ in der Uni.

alen
Автор

blöde frage aber wieso macht mann das nicht zb in ne vorschleife und zieht dann immer 1 ab bis 2 eben das kommt doch auf selbe raus oder nicht xD

Karmorak
Автор

Ich find Rekursion so unglaublich hässlich, unverständlich und ineffizient. Ich muss immer gefühlt ne halbe Stunde auf 10 Zeilen Code gucken um im Ansatz zu raffen was da gemacht wird, wenn Rekursion angewandt wurde.
Gibt es eigentlich Dinge, die man nur rekursiv programmieren kann und nicht iterativ?

ysdfdfk
Автор

Omg das hätte ich mir einfach vor dem python Video ansehen sollen bevor ich ewig damit verbringe mit das selbst beizubringen... war der deutlich schmerzhaftere Weg. Aber super erklärt.

tostupidforname
Автор

OMG meine Gehirnzellen haben keine kapazität für fakul
:C

qoph
Автор

programmier mal eine 2d virtuelle onlinewelt mit eingebautem chatt

letsplayerbjorn
Автор

die ersten Zahlen der Fibonacci Folge sind 1, 1 nicht 0, 1

johanna
Автор

??? Was ist eine Fakultät von irgendwas??? Häääää?

annoying_something
Автор

Gefällt mir nicht:
Ich mag die Worte "scheiß egal" und "nicht so geil" nicht, wenn mir jemand etwas erklärt.
Und 0! = 1

StratoSoar
welcome to shbcf.ru