recursivexcvxc

23
Ðåêóðñèâ àëãîðèòì Ðåêóðñèâ àëãîðèòì Á.Ò¿ìýíäýëãýð

Upload: munkhchimeg

Post on 20-Jul-2015

175 views

Category:

Travel


2 download

TRANSCRIPT

Ðåêóðñèâ àëãîðèòìÐåêóðñèâ àëãîðèòì

Á.Ò¿ìýíäýëãýð

Ðåęóðńèâ àëãîðèòì ãýć þó âý?Ðåęóðńèâ àëãîðèòì ãýć þó âý?

•Ðåęóðńèâ (äàõèí äàâòàãäàõ) àëãîðèòìãýäýã íü íýã áóþó õýä õýäýí ðåêóðñèâ ïðîöåäóð áà ôóíêöýýñ òîãòñîí àëãîðèòì þì.

•Õýðýâ ïðîöåäóð Ï íü íýã áóþó õýä õýäýí óäàà ïðîöåäóð Ï-ã äóóääàã áîë ýíý ïðîöåäóðûã ðåęóðńèâ ïðîöåäóð ãýíý.

Ðåęóðńèâ àëãîðèòì ãýć þó âý?Ðåęóðńèâ àëãîðèòì ãýć þó âý?

•Õýðýâ ïðîöåäóð áîëîí ôóíêö ººðºº ººðòºº õàíääàã, ººðººð õýëáýë ººðºº ººðèé㺺 äóóäàæ àøèãëàäàã áîë ò¿¿íèéã ðåêóðñèâ ïðîöåäóð áîëîí ôóíêö ãýæ íýðëýíý.

•Òýäãýýð äóóäàëòûã ðåęóðńèâ äóóäàëòãýíý.

Ðåęóðńèâ àëãîðèòì ãýć þó âý?Ðåęóðńèâ àëãîðèòì ãýć þó âý?

ð å ê ó ð ñ è â ä ó ó ä à ë ò ð å ê ó ð ñ è â ä ó ó ä à ë ò ð å ê ó ð ñ è â ä ó ó ä à ë ò

Ð å ê ó ð ñ è â ï ð î ö å ä ó ð á à ô ó í ê ö

Ð å ê ó ð ñ è â ï ð î ö å ä ó ð á à ô ó í ê ö

Ð å ê ó ð ñ è â ï ð î ö å ä ó ð á à ô ó í ê ö

Ð å ê ó ð ñ è â à ë ã î ð è ò ì

Ï ïðîöåäóðûí äîòîð Ê ïðîöåäóð áèé. Ýíý Ê ïðîöåäóð äîòðîîñ Ï ïðîöåäóðò õàíääàã.

Ðåęóðńèâèéí ò ºðëżżäÐåęóðńèâèéí ò ºðëżżä

•Ýíãèéí ðåęóðń - ðåêóðñèâ äóóäàëò íü òóõàéí äýä àëãîðèòìûíõàà äîòîð äóóäàãääàã.

•Çýðýã ðåęóðń - Ðåêóðñèâ äóóäàëò íü ðåêóðñèâ äýä àëãîðèòìûí äîòîðõ ººð äýä àëãîðèòìä äóóäàãääàã.

Ï ïðîöåäóðûí äîòðîîñ Ï ïðîöåäóðò õàíääàã.

Þóíä õýðýãëýãääýã âý?Þóíä õýðýãëýãääýã âý?

Ðåêóðñèâ àðãà íü

- ªºð àðãààð áîäîõîä íèëýýä õ¿íä áîäëîãóóäûã áîäîõ

- Ðåêóðñèâýýð áîäîãäîõîîð òîäîðõîéëîãäñîí áîäëîãóóäûã áîäîõ

ßìàð áîäëîãûã áîäîõ âý?ßìàð áîäëîãûã áîäîõ âý?

1.ªºðòýé íü èæèë áîëîâ÷ ò¿¿íýýñ õÿëáàð áîäëîãîîð ñîëèæ äàõèí òîäîðõîéëîõ áîëîìæòîé.

2.Øèéä íü øóóä ìýäýãäýæ áàéõ ýñâýë øóóä áîäîæ áîëîõ íýã þìóó õýä õýäýí żíäńýí òîõèîëäîëòîé.

Øèéä íü øóóä îëäîæ áàéõ, öààø äàõèí ðåêóðñèâýýð òîäîðõîéëîõ áîëîìæã¿é òóñãàé òîõèîëäîë.

ßìàð áîäëîãûã áîäîõ âý?ßìàð áîäëîãûã áîäîõ âý?

3.Õÿëáàð áîäëîãîîð ñîëèõ ïðîöåññûã äàâòàæ õýðýãëýõýä óã áîäëîãî ò¿¿íèé ¿íäñýí òîõèîëäîëä çààâàë õ¿ðäýã.

4.̄ íäñýí òîõèîëäîëûí øèéäèéã àøèãëàí àíõíû áîäëîãûí øèéäèéã îëæ áîëäîã.

Ðåęóðńèâ áîäëîãûí żíäńýí Ðåęóðńèâ áîäëîãûí żíäńýí òîõèîëäîëòîõèîëäîë

Ðåêóðñèâ áîäëîãî á¿ðò ÿäàæ íýã ¿íäñýí òîõèîëäîë áàéõ ̧ ñòîé.

- Õÿëáàð áîäëîãîíä äàâòàí øèëæèõ ïðîöåññûã òºãñãºõ íºõöºë áîëíî.

- Áîäëîãûí øèéäèéã áîäîæ ãàðãàõàä àøèãëàãäàõ ¿íäñýí íýãæ áîëíî.

Øóóä òîäîðõîéëîãäîõ ¿íäñýí òîõèîëäîë áàéõã¿é áîë ðåêóðñèâ àëãîðèòì ººðºº ººðòºº òºãñãºëã¿é õàíäàõàä õ¿ðíý.

Ðåęóðńèâýýð ÿàć áîäëîãî áîäîõ Ðåęóðńèâýýð ÿàć áîäëîãî áîäîõ âý?âý?1. Òîäîðõîé òîõèîëäîëä øóóä øèéäèéã

òîäîðõîéëíî.2. Áîäëîãûã ò¿¿íòýé èæèë òàâèëòàé äýä

áîäëîãóóäàä õóâààíà.3. Äýä áîäëîãóóäûã øèéäíý.4. Äýä áîäëîãóóäûí øèéäèéã àøèãëàí ¿íäñýí

áîäëîãûã øèéäíý.¯íäñýí áà äýä áîäëîãóóäûí øèéäèéã òîäîðõîé-ëîõäîî ðåêóðñèâ àðãûã àøèãëàñàí áàéõ

Ðåęóðńèâ àðãûí îíöëîãÐåęóðńèâ àðãûí îíöëîã

•Àëãîðèòì õèð õ¿íä, íèéëìýë áàéõ íü à) õè÷íýýí ðåêóðñèâ äóóäàëò áàéõ,á) òýäãýýð íü ïðîãðàììûí õààíà äóóäàãäàõ çýðãýýñ õàìààðíà.

•Ðåêóðñèâýýð áîäëîãûã áîäîõäîî òºãñãºõíºõöëèéã òàâèõ øààðäëàãàòàé. Ýñ òýãâýë ýíý íü ¿ë òºãñºõ ïðîãðàìì áîëíî.

Òîäîðõîé õÿçãààðëàëò

Ðåęóðńèâ àðãûí ńóë òàëóóäÐåęóðńèâ àðãûí ńóë òàëóóä

•Çàðèì ïðîãðàìì÷èëàëûí õýëí¿¿ä ðåêóðñ-èéã çºâøººðäºãã¿é. Æ: Ìàøèíû õýë¿¿ä. Fortran, Cobol ãýõ ìýò.

•ªðòºã ºíäºðòýé àðãà: Ïðîãðàììûí áèåëýõ õóðä óäààí, ñàíàõ îé èõ øààðääàã.

•Çàðèì òîõèîëäîëä ýíý àðãûã àøèãëàõ íü áîäëîãûã õýò õ¿íäð¿¿ëñýí, íèéëìýë áîëãîñîí áàéõ òàëòàé áàéäàã.

ÆèøýýÆèøýý

Function factorial (unsigned integer n) unsigned integer fif n>1 f:=n*factorial (n-1)

else

f:=1 ( );return f

ÆèøýýÆèøýý

n=3 f=3*factorial (2)n=2 f=2*factorial (1)

n=1 f=1*factorial (0)n=0

f=1return(1)

f=1*1 return(1)f=2*1 return(2)

f=3*2 return(6)

ÆèøýýÆèøýý

Function fibonacci (unsigned integer n)

unsigned integer fibif n<2

fib:=n

else

fib:=fibonacci (n-1)+fibonacci (n-2)

return (fib);

ÆèøýýÆèøýýn=3 fib=fibonacci (2)+fibonacci (1)

n=2 fib=fibonacci (1)+fibonacci (0)

n=1 fib=1

n=0fib=0

return(0) fib=1 return(1)

fib=1+0 return(1)fib=1+1 return(2)

ÆèøýýÆèøýý

Function factorial (unsigned integer n)

i, fac: unsigned integer

fac:=1

for i:=1 to n do fac:=fac*i

return (fac);

ÆèøýýÆèøýýFunction fibonacci (unsigned integer n)

i, older, new, old, fib: unsigned integer; older:=1 old:=0 new:=0for i:=1 to n do begin

new:=old+olderolder:=oldold:=new

endfib:=new

return (fib);

Æèøýý:Õàíîéí öàìõàãÆèøýý:Õàíîéí öàìõàã

19-ð çóóíä Edward Lucas àíõ ýíý áîäëîãûã äýâø¿¿ëæ áàéñàí áºãººä ¿¿íèéã ðåêóðñèâ àðãûã àøèãëàí áîääîã áºãººä ýíý íü ðåêóðñèâ àëãîðèòìûí ñîíãîäîã æèøýý áîëîí ñóäëàãääàã. ßàãààä ãýâýë ýíý áîäëîãûã ðåêóðñ àøèãëàõã¿éãýýð áîäîõîä òèéì ÷ óõààëàã áîäîëò ãàðäàãã¿é áàéíà.

ÆèøýýÆèøýý

a b c

ÆèøýýÆèøýý

a b c

ÆèøýýÆèøýý

Procedure Hanoi (source,dest,temp,n: integer);

if n:=1 then move (a,b)

else

begin

hanoi (a,c,b,n-1)

move(a,b)

hanoi (c,b,a,n-1)

end

end;

ÆèøýýÆèøýý

Ãýâ÷ ýíý áîäëîãûã ðåêóðñ àøèãëàõã¿é-ãýýð áîäîõ îðîëäëîãóóä íèëýýä ãàð÷ áàéæýý. Òóõàéëáàë 1984 îíä Kruse ýíý áîäëîãûí ðåêóðñ áèø õóâèëáàðûã äýâø¿¿ëæ, 1986 îíä Reingold & Hansen èë¿¿ íàðèéâ÷èëàí ñóäàëæ áàéæýý.