پاورپوینت اهمیت ساخت الگوریتمهای کارآمد (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