Tip:
Highlight text to annotate it
X
ما أريد القيام به في هذا الفيديو
هو التأكد من أننا نفهم حقاً ما يدور
عندما ندعو وظائف فيبوناتشي التكرارية
حتى وأنا ذاهب لنفترض أن شخص ما يسمونها مع
متغير من وأنها تعطي تمرير 5 كمتغير
انا لا أريد أن اختار عدد كبير جداً
لانه خلاف ذلك أنا سوف أفسر ذلك إلى الأبد
لذا دعونا نحاول fibonacci(5)
حتى في هذه الحالة، في سياق هذه الدالة
المعامل n هنا سيكون يساوي 5
لذا في هذا المرور الأول، المعامل n يساوي 5
الطريقه الذي كتبناهـا
قلنا اذا كانت n أقل من 2 نرجع n
5 بالتأكيد ليست أقل من 2
لذلك نحن ذاهبون إلى ا الجزء الآخر من عبارة if
أو شرط آخر، ويقول نرجع
فيبوناتشي (n-1) بالإضافة إلى فيبوناتشي (ن-2))
لذا عند مناداة هذه في النهاية تنقص إلى
إذا كنت ترغب في التفكير في الأمر بهذه الطريقة، أو المبسطة
أنها ستعود، ما هو على وشك أن الشيء نفسه فيبوناتشي من
أتذكر n كانت 5
حيث n-1 هو 4
بالإضافة إلى ذلك فيبوناتشي من n-2، التي عندما ركضنا ن وظيفة كان 5
حتى 5-2 هو 3
حسنا هذه أكثر عدلاً من استدعاءات دالة
حتى الآن نحن ذاهبون إلى الذهاب مرة أخرى
n ليس 5، لكن 4 و 3
فليجرب هذا
حتى هنا n يساوي 4
n يساوي 4
لذا مرة أخرى 4 ليست أقل من 2،
لذا نحن لا نفعل هذا الجزء
نذهب إلى آخر
ثم نعود fibbonacci(4-1) وهو 3
لذا هذا هو الذهاب إلى تبسيط إلى،
أو انهيار ينبغي أن أقول
فيبوناكسي 4-1 وهو 3
بالإضافة إلى فيبوناكسي 4-2
وهو فيبوناكسي 2
حتى هذا الحق أكثر من هنا سوف اسينيتالي عودة هذا
وهذا هنا على فيبوناتشي الصحيح من 3
واسمحوا لي أن رسم، لأن هذه هي الذهاب إلى الحصول على مشوش قريبا
وبهذا يقوم بإرجاع هذه الأشياء في أرجواني
وسوف تعود هذه الأشياء لقد أكدت باللون الأخضر
n هو الآن 3؛ 3 ليس أقل من 2
لذا يمكنك الذهاب هنا
وسوف يعود فيبوناتشي من 3-1 وفيبوناكسي (2)
و بالإضافة إلى فيبوناتشي من 3-2، الذي هو فيبوناتشي (1)
ومن ثم نحن في طريقنا للذهاب أكثر من هنا
ونحن في طريقنا إلى حساب كل من هذه الأشياء
وهذه هي مجرد المزيد من المكالمات إلى فيبوناتشي
و fibonacci(3)، حيث يمكنك أن ترى كيف هذا هو حد التورط الآن
أنا ذاهب لبدء كتابة فيبوناتشي قصيرة للتعزيز
حيث أن أنا لا تنفد من العقارات
(3) عندما كنت أسميها فيبوناتشي
n 3 ليست أقل من 2
وهذا يقلل إلى فيبوناتشي (3-1)
أنا فقط اكتب التعزيز. قصيرة فيبوناتشي
فيبوناتشي 2 بالإضافة إلى فيبوناكسي (3-2)
بالإضافة إلى فيبوناتشي 1
حتى أنه يقلل من ذلك أو ينهار لأن
وفيبوناتشي هنا أكثر من 2
2 ليست أقل من 2،
لذا نحن ذاهبون إلى العودة فيبوناتشي من 1-2
فيبوناتشي 1 بالإضافة إلى فيبوناتشي 2-2
ذلك بالإضافة إلى فيبوناتشي 0
حتى ينهار بتلك المكالمات اثنين إلى فيبوناتشي
وعبر fibonacci(2) هنا نفس الشيء.
ونحن بإجراء مكالمة إلى fibonacci(2)
التي سوف تنهار مثلما فعل ذلك fibonacci(2)
سوف تنهار على مكالمة
إلى من فيبوناكسي 1 و fibonacci(0)
ثم لدينا فيبوناتشي 1
حيث أن هذا مثير للاهتمام.
لأنه عندما يكون n تساوي 1
فجأة يصبح هذا الشرط هنا ذات الصلة
لأن n هو أقل من 2 وتقول ن العودة
حتى يحدث هذا، هذا الحق هنا لتبسيط
هذا المصطلح أكثر من هنا هو الذهاب إلى تبسيط إلى 1
هو الذهاب إلى تقييم إلى 1
وثم ننظر إلى كل هذه أكثر من هنا
فيبوناتشي (2)؛ ونحن نعلم أن fibonacci(2) ينتج عن fib(1) + fib(0)
لذا اسمحوا لي أن الكتابة التي هنا
حتى هنا هو fibbonacci(1) بالإضافة إلى fibbonacci(0)
فب اختصار لفيبوناتشي
ومن ثم يمكننا معرفة فيبوناكسي 1
1 هو أقل من 2، وحتى العودة n
لذلك ستكون هذه العودة 1
فقط إرجاع فيبوناتشي 1 1
فيبوناتشي 0
وهو أقل من 2 0، وتقوم بإرجاع 0
حتى fibonacci(0) فقط بإرجاع 0
فيبوناتشي لإرجاع 0 0
إرجاع فيبوناتشي 1 1
فيبوناتشي لإرجاع 0 0
ثم إرجاع فيبوناتشي 1 1
فيبوناتشي لإرجاع 0 0
لذلك ندعو طوال الوقت المترجم هو معالجة هذه الدالة العودية
أنها كيندا لنتذكر جميعا من السابق، وكيف أنها حصلت هناك
لمرة واحدة أنه في نهاية المطاف يحصل إلى أسفل إلى القضايا الأساسية،
بمجرد أن يحصل إلى أسفل إلى n = 1 أو 0
أنها في الواقع يحصل استجابة رقمية
ثم أنها لبناء على أنها استجابة السابقة
fibbonacci(2) ذلك الحق أكثر من هنا
هو 1 + 0
of(2) فيبوناكسي هو الذهاب إلى تبسيط إلى 1
هذا fibonacci(3) هو fibonacci(2) + fibbonacci(1)
الحصول على تبسيط تلك إلى 1
وبهذا سوف تكون 1 + 1
وبهذا ستكون 2
نذهب أكثر من هنا of(2) فيبوناكسي
fibbonacci(1) + fibbonacci(0) = 1
fibbonacci(2)
0 1++ هو 1
نذهب إلى فيبوناتشي 1، وهذا هو 1
والآن نذهب إلى هذا المستوى
نحن نوع من الخلف ريتروكتورينج حتى ونحن نعود إلى استدعاء الدالة الأصلية
ولن انتقل إيتو التفاصيل
كيف المترجم هو فعلا القيام بذلك
لأن هذا هو acutally نقاش رائعة
ولكن عليك فقط التفكير في كيف نحن نفكر في ما يحدث
أثناء في استدعاء دالة ثيسريكورسيفي، ولماذا، لماذا هو يعمل
لماذا جفينج لنا الحق الرد
ومن ثم نذهب هنا fibonacci(4)
جيدا fibonacci(4)، مصطلح فيبوناتشي الرابعة
وهي مجموع المدى فيبوناتشي الثاني والثالث
وقد سبق احسب
هم اثنان وواحد، يمكنك فقط تأخذ بها المبلغ والحصول على 3
مصطلح فيبوناتشي الثالثة، بتعريف تسلسل فيبوناتشي
وهي مجموع الأول والثاني مصطلح
تلك هي كل واحد
مجموع واحد زائد واحد اثنين
المصطلح الخامس، رقم فيبوناتشي الخامس
خامسة مدتها فيبوناتشي
وهي مجموع الرابع والثالث شروط
تلك ثلاثة واثنين
لذا ثلاثة زائد اثنين خمسة
حتى هذا الحق الأمور هنا هو الذهاب إلى تقييم إلى 5
لذا نأمل أن توضح قليلاً
حول كيف يعمل هذا البرنامج ريكوسيفي فعلا
ما هو أنيق حول هذا الموضوع
أن ذلك لن يجدي نفعاً إذا لم تذهب إلى أسفل وتعريف
قاعدة حالات fibonacci(1) و fibonacci(0)
سوف تبقى فقط تطلق على نفسها إلى الأبد، ولن تحصل في أي مكان
وما هي مفتاح مع العودية أنه يمكن استدعاء نفسها
وما دامت كل الوقت تدعو نفسها
هو جعل طريقها وصولاً إلى القضايا الأساسية
ذلك في بعض نقطة
إذا فإنه يبقى تطلق على نفسها، فإنه يبقى تطلق على نفسها اسم
في نهاية المطاف أنها قادرة على إعادة بناء تلك المكالمات
نعود إلى القضايا الأساسية
ومن ثم كان ريكونتروكت ما هي القيمة الأصلية من أن
وهذا هو السبب في العمل
صيغة أبسط من كل دعوة إلى فيبوناتشي
لقد ن أدنى
وفي نهاية المطاف ذاهبون بي ن للوصول إلى القضايا الأساسية
التي سوف تعطي لي فعلا القيم الفعلية
التي يمكن أن ثم ريكونتروكت لنداءاتنا الأصلي
نأمل أن يساعد بعض الشيء
الإعادة يمكن أن يكون مربكاً
ولكن في نفس الوقت
يمكن أيضا أن تكون أنيقة وجميلة في الطريق نفسه