Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Recursive

840 views

Published on

Published in: Travel, Technology
  • Be the first to comment

  • Be the first to like this

Recursive

  1. 1. Ðåêóðñèâ àëãîðèòì
  2. 2. Ðåêóðñèâ àëãîðèòì ãýæ þó âý? <ul><li>Ðåêóðñèâ (äàõèí äàâòàãäàõ) àëãîðèòì ãýäýã íü íýã áóþó õýä õýäýí ðåêóðñèâ ïðîöåäóð áà ôóíêöýýñ òîãòñîí àëãîðèòì þì. </li></ul><ul><li>Õýðýâ ïðîöåäóð Ï íü íýã áóþó õýä õýäýí óäàà ïðîöåäóð Ï-ã äóóääàã áîë ýíý ïðîöåäóðûã ðåêóðñèâ ïðîöåäóð ãýíý. </li></ul>
  3. 3. Ðåêóðñèâ àëãîðèòì ãýæ þó âý? <ul><li>Õýðýâ ïðîöåäóð áîëîí ôóíêö ººðºº ººðòºº õàíääàã, ººðººð õýëáýë ººðºº ººðèé㺺 äóóäàæ àøèãëàäàã áîë ò¿¿íèéã ðåêóðñèâ ïðîöåäóð áîëîí ôóíêö ãýæ íýðëýíý. </li></ul><ul><li>Òýäãýýð äóóäàëòûã ðåêóðñèâ äóóäàëò ãýíý. </li></ul>
  4. 4. Ðåêóðñèâ àëãîðèòì ãýæ þó âý?
  5. 5. Ðåêóðñèâèéí òºðë¿¿ä <ul><li>Ýíãèéí ðåêóðñ - ðåêóðñèâ äóóäàëò íü òóõàéí äýä àëãîðèòìûíõàà äîòîð äóóäàãääàã. </li></ul><ul><li>Çýðýã ðåêóðñ - Ðåêóðñèâ äóóäàëò íü ðåêóðñèâ äýä àëãîðèòìûí äîòîðõ ººð äýä àëãîðèòìä äóóäàãääàã. </li></ul>Ï ïðîöåäóðûí äîòîð Ê ïðîöåäóð áèé. Ýíý Ê ïðîöåäóð äîòðîîñ Ï ïðîöåäóðò õàíääàã. Ï ïðîöåäóðûí äîòðîîñ Ï ïðîöåäóðò õàíääàã.
  6. 6. Þóíä õýðýãëýãääýã âý? <ul><li>Ðåêóðñèâ àðãà íü </li></ul><ul><li>- ªºð àðãààð áîäîõîä íèëýýä õ¿íä áîäëîãóóäûã áîäîõ </li></ul><ul><li>- Ðåêóðñèâýýð áîäîãäîõîîð òîäîðõîéëîãäñîí áîäëîãóóäûã áîäîõ </li></ul>
  7. 7. ßìàð áîäëîãûã áîäîõ âý? <ul><li>1.ªºðòýé íü èæèë áîëîâ÷ ò¿¿íýýñ õÿëáàð áîäëîãîîð ñîëèæ äàõèí òîäîðõîéëîõ áîëîìæòîé. </li></ul><ul><li>2.Øèéä íü øóóä ìýäýãäýæ áàéõ ýñâýë øóóä áîäîæ áîëîõ íýã þìóó õýä õýäýí ¿íäñýí òîõèîëäîë òîé. </li></ul>Øèéä íü øóóä îëäîæ áàéõ, öààø äàõèí ðåêóðñèâýýð òîäîðõîéëîõ áîëîìæã¿é òóñãàé òîõèîëäîë.
  8. 8. ßìàð áîäëîãûã áîäîõ âý? <ul><li>3.Õÿëáàð áîäëîãîîð ñîëèõ ïðîöåññûã äàâòàæ õýðýãëýõýä óã áîäëîãî ò¿¿íèé ¿íäñýí òîõèîëäîëä çààâàë õ¿ðäýã. </li></ul><ul><li>4.¯íäñýí òîõèîëäîëûí øèéäèéã àøèãëàí àíõíû áîäëîãûí øèéäèéã îëæ áîëäîã. </li></ul>
  9. 9. Ðåêóðñèâ áîäëîãûí ¿íäñýí òîõèîëäîë <ul><li>Ðåêóðñèâ áîäëîãî á¿ðò ÿäàæ íýã ¿íäñýí òîõèîëäîë áàéõ ¸ñòîé. </li></ul><ul><li>- Õÿëáàð áîäëîãîíä äàâòàí øèëæèõ ïðîöåññûã òºãñãºõ íºõöºë áîëíî. </li></ul><ul><li>- Áîäëîãûí øèéäèéã áîäîæ ãàðãàõàä àøèãëàãäàõ ¿íäñýí íýãæ áîëíî. </li></ul>Øóóä òîäîðõîéëîãäîõ ¿íäñýí òîõèîëäîë áàéõã¿é áîë ðåêóðñèâ àëãîðèòì ººðºº ººðòºº òºãñãºëã¿é õàíäàõàä õ¿ðíý.
  10. 10. Ðåêóðñèâýýð ÿàæ áîäëîãî áîäîõ âý? <ul><li>1. Òîäîðõîé òîõèîëäîëä øóóä øèéäèéã òîäîðõîéëíî. </li></ul><ul><li>2. Áîäëîãûã ò¿¿íòýé èæèë òàâèëòàé äýä áîäëîãóóäàä õóâààíà. </li></ul><ul><li>3. Äýä áîäëîãóóäûã øèéäíý. </li></ul><ul><li>4. Äýä áîäëîãóóäûí øèéäèéã àøèãëàí ¿íäñýí áîäëîãûã øèéäíý. </li></ul>¯íäñýí áà äýä áîäëîãóóäûí øèéäèéã òîäîðõîé-ëîõäîî ðåêóðñèâ àðãûã àøèãëàñàí áàéõ
  11. 11. Ðåêóðñèâ àðãûí îíöëîã <ul><li>Àëãîðèòì õèð õ¿íä, íèéëìýë áàéõ íü </li></ul><ul><li>à) õè÷íýýí ðåêóðñèâ äóóäàëò áàéõ , </li></ul><ul><li>á) òýäãýýð íü ïðîãðàììûí õààíà äóóäàãäàõ çýðãýýñ õàìààðíà. </li></ul><ul><li>Ðåêóðñèâýýð áîäëîãûã áîäîõäîî òºãñãºõ íºõöëèéã òàâèõ øààðäëàãàòàé. Ýñ òýãâýë ýíý íü ¿ë òºãñºõ ïðîãðàìì áîëíî. </li></ul>Òîäîðõîé õÿçãààðëàëò
  12. 12. Ðåêóðñèâ àðãûí ñóë òàëóóä <ul><li>Çàðèì ïðîãðàìì÷èëàëûí õýëí¿¿ä ðåêóðñ-èéã çºâøººðäºãã¿é. Æ: Ìàøèíû õýë¿¿ä. Fortran, Cobol ãýõ ìýò. </li></ul><ul><li>ªðòºã ºíäºðòýé àðãà: Ïðîãðàììûí áèåëýõ õóðä óäààí, ñàíàõ îé èõ øààðääàã. </li></ul><ul><li>Çàðèì òîõèîëäîëä ýíý àðãûã àøèãëàõ íü áîäëîãûã õýò õ¿íäð¿¿ëñýí, íèéëìýë áîëãîñîí áàéõ òàëòàé áàéäàã. </li></ul>
  13. 13. Æèøýý <ul><li>Function factorial (unsigned integer n) </li></ul><ul><li> unsigned integer f </li></ul><ul><li>if n>1 </li></ul><ul><li> f:=n*factorial (n-1) </li></ul><ul><li>else </li></ul><ul><li> f:=1 </li></ul><ul><li>return (f); </li></ul>
  14. 14. Æèøýý <ul><li>n=3 f=3*factorial (2) </li></ul><ul><li>n=2 f=2*factorial (1) </li></ul><ul><li> n=1 f=1*factorial (0) </li></ul><ul><li>n=0 </li></ul><ul><li> f=1 </li></ul><ul><li>return(1) </li></ul><ul><li>f=1*1 return(1) </li></ul><ul><li>f=2*1 return(2) </li></ul><ul><li>f=3*2 return(6) </li></ul>
  15. 15. Æèøýý <ul><li>Function fibonacci (unsigned integer n) </li></ul><ul><li> unsigned integer fib </li></ul><ul><li>if n<2 </li></ul><ul><li>fib:=n </li></ul><ul><li>else </li></ul><ul><li>fib:=fibonacci (n-1)+fibonacci (n-2) </li></ul><ul><li>return (fib); </li></ul>
  16. 16. Æèøýý <ul><ul><li>n=3 fib=fibonacci (2)+fibonacci (1) </li></ul></ul><ul><ul><li>n=2 fib=fibonacci (1)+fibonacci (0) </li></ul></ul><ul><ul><li> n=1 </li></ul></ul><ul><ul><li> fib=1 </li></ul></ul><ul><ul><li> n=0 </li></ul></ul><ul><ul><li>fib=0 </li></ul></ul><ul><ul><li> return(0) </li></ul></ul><ul><ul><li> fib=1 return(1) </li></ul></ul><ul><ul><li> fib=1+0 return(1) </li></ul></ul><ul><ul><li>fib=1+1 return(2) </li></ul></ul>
  17. 17. Æèøýý <ul><li>Function factorial (unsigned integer n) </li></ul><ul><li>i, fac: unsigned integer </li></ul><ul><li>fac:=1 </li></ul><ul><li>for i:=1 to n do fac:=fac*i </li></ul><ul><li>return (fac); </li></ul>
  18. 18. Æèøýý <ul><li>Function fibonacci ( unsigned integer n) </li></ul><ul><li>i, older, new, old, fib: unsigned integer; </li></ul><ul><li> older:=1 old:=0 new:=0 </li></ul><ul><li>for i:=1 to n do </li></ul><ul><li> begin </li></ul><ul><li>new:=old+older </li></ul><ul><li>older:=old </li></ul><ul><li>old:=new </li></ul><ul><li> end </li></ul><ul><li>fib:=new </li></ul><ul><li>return (fib); </li></ul>
  19. 19. Æèøýý:Õàíîéí öàìõàã <ul><li>19-ð çóóíä Edward Lucas àíõ ýíý áîäëîãûã äýâø¿¿ëæ áàéñàí áºãººä ¿¿íèéã ðåêóðñèâ àðãûã àøèãëàí áîääîã áºãººä ýíý íü ðåêóðñèâ àëãîðèòìûí ñîíãîäîã æèøýý áîëîí ñóäëàãääàã. ßàãààä ãýâýë ýíý áîäëîãûã ðåêóðñ àøèãëàõã¿éãýýð áîäîõîä òèéì ÷ óõààëàã áîäîëò ãàðäàãã¿é áàéíà. </li></ul>
  20. 20. Æèøýý a b c
  21. 21. Æèøýý a b c
  22. 22. Æèøýý <ul><li>Procedure Hanoi (source,dest,temp,n: integer); </li></ul><ul><li>if n:=1 then move (a,b) </li></ul><ul><li>else </li></ul><ul><li> begin </li></ul><ul><li>hanoi (a,c,b,n-1) </li></ul><ul><li>move(a,b) </li></ul><ul><li>hanoi (c,b,a,n-1) </li></ul><ul><li> end </li></ul><ul><li>end; </li></ul>
  23. 23. Æèøýý <ul><li>Ãýâ÷ ýíý áîäëîãûã ðåêóðñ àøèãëàõã¿é-ãýýð áîäîõ îðîëäëîãóóä íèëýýä ãàð÷ áàéæýý. Òóõàéëáàë 1984 îíä Kruse ýíý áîäëîãûí ðåêóðñ áèø õóâèëáàðûã äýâø¿¿ëæ, 1986 îíä Reingold & Hansen èë¿¿ íàðèéâ÷èëàí ñóäàëæ áàéæýý. </li></ul>

×