پاورپوینت تحلیل الگوریتم ها(تحلیل در زبان متلب) (pptx) 41 اسلاید
دسته بندی : پاورپوینت
نوع فایل : PowerPoint (.pptx) ( قابل ویرایش و آماده پرینت )
تعداد اسلاید: 41 اسلاید
قسمتی از متن PowerPoint (.pptx) :
تحلیل الگوریتم ها(تحلیل در زبان متلب)
مثالی از یک الگوریتم در متلب
الگوریتم جستجوی ترتیبی
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) پیچیدگی زمانی الگوریتم در حالت معمول
مانند ضرب ماتریس: Cm×k=Am×n×Bn×k
T(m,n,k)=m×n×k
و یا برای سادگی میگوییم: T(n)=n3
تحلیل پیچیدگی زمانی الگوریتمها
2) پیچیدگی زمانی الگوریتم در بدترین حالت
مانند جستجوی ترتیبی
W(n)=n
3) پیچیدگی زمانی الگوریتم در بهترین حالت
مانند جستجوی ترتیبی
B(n)=1
تحلیل پیچیدگی زمانی الگوریتمها
4) پیچیدگی زمانی الگوریتم در حالت میانگین
توجه: یک مقدار میانگین را فقط زمانی میتوان معمولی خواند که حالتهای واقعی از میانگین انحراف زیادی نداشته باشد.
مثال: جستجوی ترتیبی
حالت 1: x همواره در آرایه هست
تحلیل پیچیدگی زمانی الگوریتمها
حالت 2: x ممکن است در آرایه نباشد. احتمال وجود x را در آرایه p درنظر میگیریم.
تحلیل پیچیدگی زمانی الگوریتمها
در تحلیل پیچیدگی الگوریتمها، پیچیدگی حافظه نیز قابل بحث است
مرتبه الگوریتم
در بسیاری از موارد نیاز است تا دو الگوریتم را با هم مقایسه کنیم ...
تابع پیچیدگی آنها را (زمانی/حافظه) را بدست میآوریم ولی ....
از آنجاییکه داشتن درک صحیحی از مقایسه دو تابع پیچیدگی در بسیاری از موارد مشکل است، ...
نیاز است تا توابع پیچیدگی را به شکلهای سادهتری بیان کنیم.
از این رو است که بیان پیچیدگی الگوریتمها با مرتبه پیچیدگی که شکل سادهای از توابع پیچیدگی است، کار مقایسه دو الگوریم را
آسان میکند.
همچنین ...