Ðåêóðñèâ àëãîðèòì
Ðåêóðñèâ àëãîðèòì ãýæ þó âý? <ul><li>Ðåêóðñèâ  (äàõèí äàâòàãäàõ)  àëãîðèòì  ãýäýã íü íýã áóþó õýä õýäýí ðåêóðñèâ ïðîöåäóð ...
Ðåêóðñèâ àëãîðèòì ãýæ þó âý? <ul><li>Õýðýâ  ïðîöåäóð áîëîí ôóíêö ººðºº ººðòºº õàíääàã, ººðººð õýëáýë ººðºº  ººðèé㺺 äóóäà...
Ðåêóðñèâ àëãîðèòì ãýæ þó âý?
Ðåêóðñèâèéí òºðë¿¿ä <ul><li>Ýíãèéí ðåêóðñ - ðåêóðñèâ äóóäàëò íü òóõàéí äýä àëãîðèòìûíõàà äîòîð äóóäàãääàã.  </li></ul><ul>...
Þóíä õýðýãëýãääýã âý? <ul><li>Ðåêóðñèâ àðãà íü   </li></ul><ul><li>- ªºð àðãààð áîäîõîä íèëýýä õ¿íä áîäëîãóóäûã áîäîõ </li...
ßìàð áîäëîãûã áîäîõ âý? <ul><li>1.ªºðòýé íü èæèë áîëîâ÷ ò¿¿íýýñ õÿëáàð áîäëîãîîð ñîëèæ äàõèí òîäîðõîéëîõ áîëîìæòîé. </li><...
ßìàð áîäëîãûã áîäîõ âý? <ul><li>3.Õÿëáàð áîäëîãîîð ñîëèõ ïðîöåññûã äàâòàæ õýðýãëýõýä óã áîäëîãî ò¿¿íèé ¿íäñýí òîõèîëäîëä ç...
Ðåêóðñèâ áîäëîãûí ¿íäñýí òîõèîëäîë <ul><li>Ðåêóðñèâ áîäëîãî á¿ðò  ÿäàæ íýã ¿íäñýí òîõèîëäîë  áàéõ ¸ñòîé.  </li></ul><ul><l...
Ðåêóðñèâýýð ÿàæ áîäëîãî áîäîõ âý? <ul><li>1. Òîäîðõîé òîõèîëäîëä øóóä øèéäèéã òîäîðõîéëíî. </li></ul><ul><li>2. Áîäëîãûã ò...
Ðåêóðñèâ àðãûí îíöëîã <ul><li>Àëãîðèòì  õèð õ¿íä, íèéëìýë áàéõ íü   </li></ul><ul><li>à) õè÷íýýí  ðåêóðñèâ äóóäàëò áàéõ , ...
Ðåêóðñèâ àðãûí ñóë òàëóóä <ul><li>Çàðèì ïðîãðàìì÷èëàëûí õýëí¿¿ä ðåêóðñ-èéã çºâøººðäºãã¿é. Æ: Ìàøèíû õýë¿¿ä. Fortran, Cobol...
Æèøýý <ul><li>Function   factorial (unsigned integer n) </li></ul><ul><li>  unsigned integer f </li></ul><ul><li>if  n>1 <...
Æèøýý <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) <...
Æèøýý <ul><li>Function   fibonacci (unsigned integer n) </li></ul><ul><li>  unsigned integer fib </li></ul><ul><li>if  n<2...
Æèøýý <ul><ul><li>n=3   fib=fibonacci (2)+fibonacci (1)  </li></ul></ul><ul><ul><li>n=2  fib=fibonacci (1)+fibonacci (0) <...
Æèøýý <ul><li>Function   factorial (unsigned integer n) </li></ul><ul><li>i, fac: unsigned integer </li></ul><ul><li>fac:=...
Æèøýý <ul><li>Function   fibonacci ( unsigned integer  n) </li></ul><ul><li>i, older, new, old, fib:  unsigned  integer; <...
Æèøýý:Õàíîéí öàìõàã <ul><li>19-ð çóóíä Edward Lucas àíõ ýíý áîäëîãûã äýâø¿¿ëæ áàéñàí áºãººä ¿¿íèéã ðåêóðñèâ àðãûã àøèãëàí ...
Æèøýý a b c
Æèøýý a b c
Æèøýý <ul><li>Procedure   Hanoi (source,dest,temp,n: integer); </li></ul><ul><li>if n:=1 then move (a,b) </li></ul><ul><li...
Æèøýý <ul><li>Ãýâ÷ ýíý áîäëîãûã ðåêóðñ àøèãëàõã¿é-ãýýð áîäîõ îðîëäëîãóóä íèëýýä ãàð÷ áàéæýý. Òóõàéëáàë 1984 îíä Kruse ýíý ...
Upcoming SlideShare
Loading in …5
×

Recursive

427 views
378 views

Published on

Published in: Travel, Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
427
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

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>

×