The Three Laws of Recursion

Recursion ကို အသံုးျပဳမယ္ ဆိုရင္ လိုက္နာရမည့္ နည္း ဥပေဒသ ၃ ခု ရွိပါတယ္။

၁။ recursive function ထဲကေန ျပန္လည္ထြက္ခြာ ရမည့္ အေျခအေန ရွိရမည္။ ၂။ recursive algorithm ဟာ အခု အေျခအေနကေန ေနာက္ထပ္ အေျခအေန တစ္ခုကို ေျပာင္းလဲ သြားၿပီးေတာ့ recursive function ကေန ထြက္မယ့္ အေျခအေနထိ ေရာက္ဖို႔လိုတယ္။ ၃။ recursive function ဟာ တူညီသည့္ function ကို ပဲ ထပ္ခါထပ္ခါ ေခၚေနဖို႔လိုတယ္။

ဒီအတိုင္း ေရးျပရင္ေတာ့ သေဘာေပါက္မွာမဟုတ္ဘူး။ Fibonacci sequence က code ေလးနဲ႔ ၾကည့္ရေအာင္။

def fib(n): if n < 2: return n else: return fib(n-1) + fib(n-2) print(fib(10))

ပထမဆံုး ဥပေဒသ ၁ အရ function ထဲကေန ထြက္ခြာဖို႔ အေျခအေန ရွိဖို႔ လိုပါတယ္။

if n < 2:
    return n

ဒါေၾကာင့္ အထက္ပါ code ေလးက ဒီ function ကို ထပ္မေခၚေတာ့ပဲ recursive ကို အဆံုး သတ္ခဲ့ပါတယ္။

ဒုတိယ ဥပေဒသ အရ recursive function ကေန ထြက္ခြာသြားရမယ့္ အေျခအေနကို ကူးေပါင္းရမယ္။

return fib(n-1) + fib(n-2)

ဒီမွာ ဆိုရင္ fib(n) ကေန ထပ္ၿပီး n-1 ႏွင့္ n-2 ကို ေရးထားတာေတြ႕ႏိုင္ပါတယ္။ n < 2 အထိ ေရာက္သြားႏိုင္သည့္ အေျခ အေနပါ။

အထက္ပါ code အတိုင္း႔ ဥပေဒသ ၃ အရ ဒီ function ကိုပဲ ထပ္ခါ ထပ္ခါ ေခၚထားတာကို ေရးထားတာေတြ႕ႏိုင္ပါတယ္။

Recursive ဟာ စေလ့လာကစလူေတြ အေနနဲ႔ အနည္းငယ္ ရႈပ္ေထြးေစႏိုင္တယ္။ သို႔ေပမယ့္ တကယ္လက္ေတြ႕ လုပ္ငန္းခြင္မွာ အသံုးျပဳသည့္ အခါမွာ code ေတြကို နည္းသြားၿပီး က်စ္လစ္ ရွင္းလင္းေအာင္ အေထာက္အကူျပဳေပးတယ္။ သို႔ေပမယ့္ အျခားတစ္ေယာက္ အေနနဲ႔ အခ်ိန္ အနည္းငယ္ေပးၿပီး နားလည္ သေဘာေပါက္ေအာင္ေတာ့ code ေတြ ျပန္ဖတ္ဖို႔ လိုပါလိမ့္မယ္။

results matching ""

    No results matching ""