پاورپوینت اهمیت ساخت الگوریتمهای کارآمد (pptx) 14 اسلاید
دسته بندی : پاورپوینت
نوع فایل : PowerPoint (.pptx) ( قابل ویرایش و آماده پرینت )
تعداد اسلاید: 14 اسلاید
قسمتی از متن PowerPoint (.pptx) :
اهداف درس این جلسه
اهمیت ساخت الگوریتمهای کارآمد
مثالی از دو مساله که با هرکدام با دو روش متفاوت میتوانند حل شوند ولی زمانهای اجرای متفاوتی دارند.
آشنایی با چگونگی کدنویسی در Matlab
الف) جستجوی ترتیبی در مقایسه با جستجوی دودویی
الگوریتم 1) جستجوی ترتیبی
function [location] = SeqSearch(A,x)
len=length(A);
location=0;
for i=1:len
if A(i)==x
location=i;
break;
end
end
end
الگوریتم 1) جستجوی ترتیبی ...
برای آزمون کد،
در بخش Command، آرایهای مثلا به صورت
MyArray=[1 4 5 7 9 10 11]; ایجاد میکنیم و
با اجرای SeqSearch(MyArray,5) الگوریتم را خط به خط اجرا میکنیم
الف) جستجوی ترتیبی در مقایسه با جستجوی دودویی
الگوریتم 2) جستجوی دودویی
الف) جستجوی ترتیبی در مقایسه با جستجوی دودویی
function [ location ] = BinarySearch( A,x )
len=length(A);
low=1; high=len; location=0;
while (low <= high && location==0)
mid=fix((low+high)/2);
if (A(mid)==x)
location=mid;
else
if A(mid)>x
high=mid-1;
else
low=mid+1;
end
end
end
end
الف) جستجوی ترتیبی در مقایسه با جستجوی دودویی
چگونه پیچیدگی محاسباتی دو الگوریتم را با هم مقایسه کنیم؟
میتوان یکی از دستورالعملهایی که در هر دو الگوریتم وجود دارد را مبنای کار قرارداد ...
انتخاب این دستورالعمل باید به گونهای باشد که معیار مناسبی برای مقایسه پیچیدگی محاسباتی باشد. سپس ...
تعداد اجراهای آن را در هر دو الگوریتم شمارش میکنیم.
مثلا در دو الگوریتم جستجوی ترتیبی و جستجوی دودویی دستورالعملی که المانهای آرایه را با x مقایسه میکند میتواند در هر دو الگوریتم شمارش شود.
چراکه دستورالعملی است که تعداد اجرایش معیار مناسبی برای پیچیدگی هر دو الگوریتم میباشد.
الف) جستجوی ترتیبی در مقایسه با جستجوی دودویی
ب) دنباله فیبوناجی بازگشتی در مقایسه با روش غیر بازگشتی
function [ result ] = Fib(n)
if n<=1
result=n;
else
result=Fib(n-1)+Fib(n-2);
end
end
ب) دنباله فیبوناجی بازگشتی در مقایسه با روش غیر بازگشتی
function [ result ] = Fib(n)
if n<=2
result=1;
else
result=Fib(n-1)+Fib(n-2);
end
end