More Related Content
PDF
PDF
PPS
Давталттай алгоритмын бодлогууд PDF
u.cs101 "Алгоритм ба програмчлал" Лекц №4 PPTX
U.cs101 алгоритм программчлал-5 zasvar badral(1) PPTX
U.cs101 алгоритм программчлал-10 PPTX
PPTX
U.cs101 алгоритм программчлал-9 What's hot
PPTX
U.cs101 алгоритм программчлал-2 PDF
Ogogdliin sangiin zohion baiguulalt lekts PPTX
U.cs101 алгоритм программчлал-12 PDF
PDF
PPTX
PDF
Эрэмбэлэлт хайлтын аргууд PDF
Java programchlal s.uuganbayr PPSX
PDF
PPTX
U.cs101 алгоритм программчлал-3 PPT
PPTX
U.cs101 алгоритм программчлал-7 PPTX
PPT
PDF
u.cs101 "Алгоритм ба програмчлал" Лекц №7 PDF
PDF
PPTX
PPTX
Viewers also liked
PPTX
PPTX
PPT
PPTX
PPT
PPTX
PPT
PPT
PPT
2.2 determining trust relationships PPT
PPT
PPT
PPTX
PPT
DOC
PDF
PDF
PDF
Similar to Lecture 2
PPT
PDF
DOC
DOCX
PPT
Lecture3 aлгоритм түүний_шинжчанар PPTX
U.cs101 алгоритм программчлал-5 PDF
PPTX
PPTX
IOI 2016 "Молекул" бодлогын бодолт PPTX
PPSX
ODP
ODP
DOC
DOCX
PPTX
U.cs101 алгоритм программчлал-15 PPTX
PPTX
U.cs101 алгоритм программчлал-1(1) DOCX
DOC
More from Muuluu
PDF
PPT
PPT
PPT
DOC
PPT
PPT
PDF
PPT
PPTX
PPTX
PDF
PPTX
PPTX
PDF
PDF
PDF
DOCX
PPTX
PPT
Lecture 2
- 1.
- 2.
Тодорхойлолт: Өөрөөөөртөө ханддаг дэд алгоритмыг
рекурсив дэд алгорим гэнэ. Өөрөөр хэлбэл рекурсив
алгоритм нь өөрөө өөрийгөө дуудаж ажиллуулдаг. Өөрөө
өөрийгөө дууддаг дэд алгоритмыг шууд рекурсив алгоритм
гэнэ. Харин 2 дэд алгоритм нэг нэгийгээ дуудсан байж
болно. Үүнийг шууд бус рекурсив алгоритм гэнэ.
- 3.
Рекурсив алгоритмаар шийдэгдэхаливаа бодлого нь:
1. Уг бодлогыг, түүнтэй ижил боловч түүнээс маш хялбар
бодлогоор сольж дахин тодорхойлох боломжтой байх
2. Шийд нь шууд мэдэгдэж байх эсвэл түүнийг шууд бодож
болох нэг юмуу хэд хэдэн тохиолдол байх. (энэ тохиолдлыг
тухайн бодлогын үндсэн тохиолдол гэнэ.)
3. Хялбар бодлогоор солих үйл ажиллагааг давтаж
хэрэглэхэд уг бодлого түүний үндсэн тохиолдолд заавал хүрдэг
байх.
4. Үндсэн тохиолдлын шийдийг ашиглан анхны
тохиолдлын шийдийг олж болдог байх.
гэсэн 4-н онцлог шинжтэй байна.
- 4.
Рекурсив аргаар бодогдохбодлогын үндсэн тохиолдол нь шийд
буюу үр дүнг нь шууд мэдэж байгаа болохоор цаашаа
рекурсивээр дахин тодорхойлох шаардлага, боломжгүй тусгай
тохиолдол юм.
Рекурсив тодорхойлолтонд ядаж нэг үндсэн тохиолдол байх
ёстой ба тэр нь дараах хоёр үүрэгтэй байна. Үүнд:
1. Хялбар бодлогод давтан шилжих процессийг төгсгөх нөхцөл
болно. Ер нь бол шууд тодорхойлогдсон үндсэн тохиолдол
байхгүй бол рекурсив алгоритм нь өөрөө өөртөө төгсгөлгүй
ханданахад хүрнэ.
2. Үндсэн тохиолдлын утга нь анхны бодлогын шийдийг
бодож гаргахад ашиглагдах үндсэн нэгж болно.
- 5.
Фиббоначийн дараалал болбүхэл тоон дараалал. Фиббоначийн
дараалалын элемент бүр нь өмнөх 2 элементийн нийлбэртэй тэнцүү. Энэ
бол Фиббоначийн дараалал: 0,1,1,2,3,5,8,13,21,34..........................
Фиббоначийн функц Fib(n) нь Fib(n-1) ба Fib(n2) 2 функцээр
тодорхойлогдоно.
Үүнийг ерөнхий тохиолдолд бичвэл
Хэрвээ n=0 буюу n=1 тохиолдолд Fib(n)=n
Хэрвээ n>=2 тохиолдолд Fib(n)= Fib(n-1)+ Fib(n-2)
Жишээлбэл (0+1=1, 1+1=2, 1+2=3, 2+3=5……………………………………………)
•
Эхлээд рекурс ашиглалгүйгээр Фиббоначийн дараалалаас тухайн n тоог
олох алгоритм зохиоё.
- 6.
#include<conio.h>
#include<stdio.h>
Int Fib(int n);
intn,fib;
main()
{ clrscr();
printf("input any value="); scanf("%d",&n);
printf("result is = %d",fib(n)); } int Fib(int n)
{ int lofib,hifib,fib,x,i;
if (n<=1) return(n);
else lofib=0;
hifib=1;
for (i=2; i<=n; i++)
{ x=lofib;
Lofib=hifib;
Hifib=x+lofib;}
Fib=hifib;
return(fib);
}
- 7.
Одоо рекурс ашигланФиббоначийн дараалалаас тухайн n тоог олох алгоритм зохиоё.
#include<stdio.h>
#include<conio.h>
int n,m;
int fib_rec(int n);
main()
{ clrscr();
printf("input yny value="); scanf("%d",&n);
printf("result is = %d",fib_rec(n));
return(0);
}
int fib_rec(int n)
{ int x,y,fib;
if (n<=1) return(n);
else {x=fib_rec(n-1);
y=fib_rec(n-2);
fib=x+y; fib=x+y;
return(fib); } }