ریاضیعلوم پایه

روش تقسیم و حل (Divide and Conquer)

صفحه 1:

صفحه 2:
روش تقسیم و حل (3130 ‎Divide‏ ‎(Conquer‏

صفحه 3:
(Divide and Conquer) J> 5 pits, شيوه حل در اين روش به اين صورت است که: به صورت بازگشتی ... مساله به دو یا بیشتر زير مساله از نوع همان مساله (يا مساله‌ای که در حل مساله اصلی مرتبط است) تقسیم (011۷1016) می‌شود و ... اینکار (شکستن و تقسیم‌کردن) تا آنجایی ادامه می‌یابد که ... مساله به اندازه‌ای ساده شود که بتواند مستقیما حل شود ‎cCONquUer)‏ سيس ... ياسخهاى زيرمسالدها با هم تركيب مىشوند تا ياسخى براى مساله اصلى فراهم سازند.

صفحه 4:
(Divide and Conquer) J> 5 pits, فهم و طراحی الگوریتم‌های ‎Slee DEC‏ پیچیده‌ای است که نیازمند فهم خوب از ماهیت مساله دارد.

صفحه 5:
(Divide and Conquer) J> 5 pits, ‏توجه:‎ *به هنگام نوشتن الگوریتم‌های بازگشتی در سطح مسئله فکر می‌کنیم 5 "می‌گذاريم تا جزئیات را زبان برنامه نویسی با استفاده از ‎٩13016‏ بر عهده كيرد *هنگام طراحی الگوریتم‌های تفسیم و حل معمولا همین گونه فکر می‌کنيم و آن را به صورت یک روال بازگشتی می‌نویسیم

صفحه 6:
روش تقسيم و حل (0110[11©1© ‎(Divide and‏ برخی از مولفین می‌گویند که عنوان روش تقسيم و حل حتما می‌بایست به روش‌هایی تعلق گیرد که مساله را به دو يا بیشتر زیرمساله تقسیم می‌کند و ... چنانچه مساله به تنها یک زیرمساله دیگر شکسته شود به آن روشء کاهش و ‎(Decrease and Conquer) J>‏ می‌گویند.

صفحه 7:
کوئیز از جلسه قبل) ‎ai Bie |) ob a‏ ‎oti if n is even‏ نشان فهید کف ‎ifnis odd‏ 1 ‎not in o(n).‏ جوز( ‎but that‏ 6 610۵00 00 )ب( )الف(

صفحه 8:
روش تقسیم و حل سابقه تاریخی علت نام گذاری این روش: در سال ۰۱۸۰۵ ارتشی از سربازان روسی و اتریشی با بیش از ۱۵ هزار نفر به جنگ با ناپلئون آمدند. ناپلئون با حمله به قلب سپاه آنها و تقسیم نیروهای دشمن به دو بخش بر آنها پیروز شد. در واقع ناپلئون با تقسیم (01۷106]) سپاه بزرگ به دو سپاه کوچکتر و پیروز شدن بر تک‌تک آنها موفق شد بر آن سپاه بزرگ ‎(Conquer) at a‏

صفحه 9:
الف) جستجوی دودویی a (2 ۳ 47. أكرا»ز يرابر عبصر :مياق آراله يود جستجو امام أسث ودر قيزاين صورة م آرایه را به دو زیر آرایه تقسیم کن که هریک حدودا نصف آرایه اولیهاند. اگر 26 کوچکتر از عنصر میانی بود کار را در زیرآرایه چپی و اگر 26 بزرگتر از عنصو ميان بود«.کار را در ژیز آرایهراستی انامه مي‌ذهيم حل مسئله را از حل مسئله زیر آرایه به دست آور 10 12 13 14 18 20 25 27 30 35 40 45 1 Middle item

صفحه 10:
الف) جستجوی دودویی 10 12 13 14 18 20 25 27 30 35 40 45 47 x=18 Choose left subarray ite: because x < 25. Compare x with 25.

صفحه 11:
الف) جستجوی دودویی function position=recbinsearch(x,low,high) global A; توجه: ‎mid=floor((low+high)/2); 5 ۲ =‏ ‎lp‏ تعریف متغیر به صورت عمومی به ۱ ‎iF ad‏ ۴ 5 9 شده ‎position=mid;‏ ‏كوندايكه در تمامی تبع‌ها قابل دسترسی باشد. ‎ae‏ ‏ابتدا آن را عمومی تعریف می‌کنیم: ‎if x<A(mid)‏ ‎newlow=low; newhigh=midt; global A;‏ ‎else‏ newhigh=high; newlow=mid+1; ‏سپس مقداردهی می‌کنیم:‎ end A=[10 12 13 14 18 20 25 27 30 if (newhigh>=newlow) high=newhigh; low=newlow, 35 40 45 47]; postion=recbinsearch(slow.highhiay 5 jl eolizel jl Jad Galt 7 ‏در‎ ; else position=0; ‏آن استفاده می‌کنیم:‎ sie end global A; end end

صفحه 12:
الف) جستجوی دودویی پیچیدگی در بدترین حالت: سوال) بدترین زمان کی رخ می‌دهد؟ الف) المان مورد جستجو در لیست نباشد؟ ب #پی مورد جستجو از تمامی المان‌های لیست بزرگتر باشد؟ ‎mid=floor((low+high)/2); ....‏ مثلا در لیست [۱ ۲ ۳ ۴ ۵] چنانچه دنبال ۶ بگردیم چند جستجو نیاز است؟ دنبال ‎٠‏ بكرديم چند جستجو نیاز است؟

صفحه 13:
الف) جستجوی دودویی تحلیل پیچیدگی در بدترین حالت: 11 ]| ۷ ‎W(n)= (5) + J‏ Comparisons in Comparison at recursive call top level W(1)=1

صفحه 14:
الف) جستجوی دودویی اثبات پیچیدگی در بدترین حالت با استقرا: ۲ 5 ]اه هر ما دسا واه فرمول روبرو را درنظر بگیرید: | ‎fot Power F2‏ برای تعدادی از ‎N‏ ها 00 را می‌توانيم محاسبه کنیم: te =te +1=t)+1=14+1=2 testy tl=t+1=2+1=3 ty = tea tl=tyt1=3+1 ‏و6 1+ ورورا < مرا‎ + 1 < 4+1 5 به نظر می‌رسد که رابطه زیر برقرار باشد: 1۰ + 109 ع< با

صفحه 15:
ty =tnat1 — forn> 1, 1a power of 2 الف) جستجوی دودویی ‎tid‏ ‏اثبات پیچیدگی در بدترین حالت: ب استقرا نشان مىدهيم كه اين رابطه صحبح است. 1۰ + 1810 < «1 پایه استقرا: (برای 1<-0) t) =1=lg1+1. فرض استقرا: فرض می‌کنیم پرای 0< دلخواهی که توانی از ۲ است رابطه زیر پرقرارباشد: 1۰+ 161 < «ر

صفحه 16:
الف) جستجوی دودویی گام استقر: به دلیل آنکه فرمول بازگشتی که به دنبال اثبات آن هستیم تنها برای اعدادی که توانی از ۲ هستند مصداق دارد بنابراین ..- عدد بعدى كه بعد از ‎1١‏ درنظر م ىكيريم بايد ... 0 باشد بنابراین باید نشان دهیم که : .1+ ‎ton = Ig (2n)‏ چنانچه 20 را در رابطه بازگشتی قرار دهیم ... 1 وزرا مب tan = tanyj2atl=ty+l=iIgn+1+4+1 < ۱ +۱2 +1 < ‏و[‎ )2( + 1

صفحه 17:
الف) جستجوی دودویی تحلیل پیچیدگی در بدترین حالت: ‎W (3) + 1‏ - 17 ~ كيه ‎Comparisons in Comparison at‏ ‎recursive call top level‏ 1 > (1) 1۳ با استقرا نشان دادیم که رابطه زیر برای زمانیکه ۰۱ توانی از ۲ باشد برقرار است: W (n) =Ign+1. ‏در حالت کلی چنانچه این شرط محدودکننده را برداریم رابطه زیر اثبات خواهد شد که:‎ W (n) = [Ign] +1€ O (Ign),

صفحه 18:
ب) مرتب‌سازی ادغامی (50۲0 0۸۵۳۵6 8 8 1 ۲ 7 ‏لقا‎ ‎Toy ‎| ‏لبي‎ ‎3 ‎Po] ‎=) KE 8 8 8 1 0 aL]

صفحه 19:
ب) مرتب‌سازی ادغامی ‎(Merge Sort)‏ function fey if ia>lena result=merge(A,B) lena=max(size(A));lenb=max(size(B)); result(k:lena+lenb)=B(ib:len result=zeros(1,lena+lenb); 0) ia=1ii 1; else while(ia<=lena && ib<=lenb) if A(ia)<B(ib) 1 result(k)=A(ia); result(k:lena+lenb)=A(ia:len ia=iat1; a); else end result(k)=B(ib); ib=ib+1; end end kek+1; end

صفحه 20:
(Merge Sort) ‏ب) مرتب‌سازی ادغامی‎ function [result]=mergeSort(A) len=length(A); mid=round(len/2); if (len==1) result=A; else L=mergeSort(A(1:mid)); R=mergeSort(A(mid+1:len)); result=merge(L,R); end end

صفحه 21:
روش تقسیم و حل کوئیز از جلسه قبل) با استقرا نشان دهید که پیچیدگی زمانی در الگوربتم جستجوی دودویی در بدترین حالت با روش تقسیم و حل برابر است با ‎W(n)=logn+1‏ (اثبات را برای زمانیکه ۲0ها توانی از ۲ هستند انجام دهید) توجه: مراحل در شیوه اثبات استقرایی را با دقت بیان کنید.

صفحه 22:
ب) مرتب‌سازی ادغامی ‎(Merge Sort)‏ پیچیدگی زمانی در بدترین حالت: بدترین زمان مربوط به حالتی است که ... حلقه ۷۷۱16 در تابع 6 06۲9] به اتمام برسد در حالیکه ... پکی از ایند کس‌ها مانند 13 به مقدار 1 + 16108 برسد در حالیکه ایندکس دیگری مانند 0 برابر با 16108 باشد. چراکه عملیات اصلی (مقایسه المانها با هم) بیشترین تکرار را خواهد داشت

صفحه 23:
ب) مرتب‌سازی ادغامی ‎(Merge Sort)‏ پیچیدگی زمانی در بدترین حالت: 3 0 3 S Resut) 1 0722027 19152225 10 2 10122027 13 162228 10 12 3 10722027 19152225 wee 4 0122027 13152225 10121316 5 10722027 1918225 1012191520 6 40122027 43162225 40 12 19 16 2022 7 100027 13182225 10 12 13 16 20 22 26 = 10122027 13.15 2225 [to 12 19 16 20 20 26 27 — Final values tome compared ao in boldface. Rams just exchanged appoar in squaioe Tnalyais of Worse Case Time Complexity (erga)

صفحه 24:
ب) مرتب‌سازی ادغامی ‎(Merge Sort)‏ پیچیدگی زمانی در بدترین حالت: ‎W(n)=W(5)+W(F)+n‏ ‎+n‏ )3( ۲ < W(1)=0

صفحه 25:
ب) مرتب‌سازی ادغامی ‎(Merge Sort)‏ تابع ييجيدكى (1)11 كه بصورت افزایشی است و شرایط زیر را درد را درنظر بگیرید: T(n)=aT (7) +en* form > 1, na power of b 20-4 که 2 < و 0 < 6 ثابت‌های صحیحی هستند و ۲ .2 و 6 ثابت‌هایی هستند که 0 <6 ,0 < 2و0 < 0 آزکام ‎Q(n*) 1] 6 > ۴‏ ۴ عم از ‎T(n)€¢ O(n*ign)‏ ‎O(n! +) if a > ۴‏

صفحه 26:
ب) مرتب‌سازی ادغامی ‎(Merge Sort)‏ در قضیه گفته شده داشتیم: ‎0۴٩‏ 000 ۵ 1,0 < 070 غم + () که - (7 20-0 O(nk) > 1) ٩ ۵) ‏ه 6 («ع۱‎ #۴ (nl) if a > *. همچنین چنانچه رابطه بازگشتی به دوصورت زیر تغییر کند: T(n) > aT (7) +enk or T(n) > a0 (F) ten, در این صورت نتایج با ‎“big O"‏ يا ؟ به جاى © تغيير خواهد کرد.

صفحه 27:
ب) مرتب‌سازی ادغامی ‎(Merge Sort)‏ پیچیدگی زمانی در بدترین حالت: ‎n‏ ‎W (n= 2 (5) +n‏ 177 T(n)=aP (F) tent for n> 1, na power of} 1)1( 2 > معز مه ۴ 1 («و۱ )9 ‎6٩1‏ (12 ‎ifa > UA,‏ (مصم) و W (n) € O(nign).

صفحه 28:
ج) مرتب‌سازی سريع 50۳0 > ‎Partition L‏ ‎Exchange Sort‏ فرض کنید آرایه زیر شامل لیستی از اعداد به صورت زیر باشد: ‎Pivot item‏ 1 25 20 10 12 27 13 22 15 آرايه را به گونه‌ای پارتیشن‌بندی می‌کنیم که تمامی المان‌های که کوچکتر از المان محوری هستند در سمت چپ آن و المان‌های بزرکتر از آن در سمت راستش قرار بگیرند Pivot item 1 1013 19 15 22_27 20 25 All smaller All larger ‏هرکدام از زیرآرایه‌ها را مرتب مى كنيم:‎ Pivot item 1 10713 12 15 20 22 25 27 Sorted Sorted

صفحه 29:
)© ‏ج) مر تب‌سازی سربع ©5016 عاء أن‎ function [A,ppoint]=partition(A) len=length(A); pitem=A(1); ppoint=1,; for i=2:len if A(i)<pitem ppoint=ppoint+1; temp=A(ppoint);A(ppoint)=A(i);A(i)=temp; end end temp=A(1);A(1)=A(ppoint);A(ppoint)=temp; end

صفحه 30:
)© ‏ج) مر تب‌سازی سربع ©5016 عاء أن‎ function S=quickSort(A) len=length(A); if (len>1) [A, ppoint]=partition(A); S(1:ppoint-1)=quickSort(A(1:ppoint-1)); S(ppoint)=A(ppoint); S(ppoint+1:len)=quickSort(A(ppoint+1:len)); else S=A; end end

صفحه 31:
ج) مرتب‌سازی سریع 50۳6 ‎Quick‏ ‏تحلیل پیچیدگی زمانی در بدترین حالت: Tin)= 20 + ‏لمع + روج‎ Time to sort ‘Time to sort borg left subarray right subarray penis T(n)=T(n-1)+n-1 — forn>0 T(0)=0 ‏۳ج‎ as 2

صفحه 32:
ج) مرتب‌سازی سریع 5070 0:6۷ تحلیل پیچیدگی زمانی در حالت میانگین: ‎Probability‏ pivotpoint is p 1 A(n) => 1 ]40-۱(+ ۸ -(( + 1 p= ۲ “— Time to Average time to a sort subarrays when partition pivotpoint is p

صفحه 33:
ج) مرتب‌سازی سریع 5070 0:6۷ تحلیل پیچیدگی زمانی در حالت میانگین: « 21 (1 + ) نم () ۸ یکی از ویژگی‌های توابع لگاربتمی: ‎log, (2)‏ _ ‎log, (6)‏ = (n+ 1) 2(In2) (Ig n) = 1.38(n+1)lg n € O(nlg n) log, (x)

صفحه 34:
ج) مرتب‌سازی سریع کوئیز از جلسه قبل) لطفا برای لیست [4 8 9 3 2 07 6 1 ۸<۶]5: الگوریتم مرتب‌سازی سریع را اجرا كنيد و ليست مرتب شده را بدست آورید. برای این منظور گام‌های شکل‌گیری تقسیم و حل را بر اساس دو الگوریتم 0016160۲ و 0۵۲1101 به صورت درخت ترسیم نمایید. توجه: نیازی به نشان دادن گام‌های الگوریتم 03۲1110۳ نمی‌باشد. بلکه در هر بخش از درخت تقسیم و حل نتیجه آن را بیاورید.

صفحه 35:
Strassen's Matrix) ‏ضري مانرسوقاي استراسن‎ )5 (Multiplication فرض کنید که می‌خواهیم ماتریس :) که حاصلضرب دو ماتریس ۲۶۲ ۸۸ و 9 است را بدست آوریم. ‎bir bia‏ | پ | عده ره | ب زعت نت ‎C21 ۵ 021 2 boi boo ‏استراسن فرمول‌هایی به صورت زیر ارائه کده‌است که با بهرهگیری از آنها م‌توان ماتریس 2 را محاسبه نمود. ‎m, = (an +22) (1: +2) ned that if we let‏ ‎(a1 +22) br‏ ‎mg = a1 (biz ~ bea)‏ ‎bir)‏ ~ روا ويه = ‎ma‏ ‎ms = (a1 + 12) bee‏ ‎me = (a21 ~ 411) (bir + bia)‏ ‎(ba + bez),‏ (ووه - ‎‘mr = (a32‏ ‎ ‎ ‎oo 171 + 14 - 75 + mz 173 ۲ 5 ‏و171‎ ۰۴ ۵4 m, + ‏و۲ - و۷۷‎ + ۵ ‎ ‎

صفحه 36:
د) ضرب ماتریس‌های استراسن * این روش برای ماتریس‌های ۲۶۲ چندان جالب نیست فرمول‌های استراسن به گونه‌ای هستند که می‌توائیم ماتریس‌های بزرگتر رل به صورت افراز ۴ ماتریس کوچکتر در نظر كرفت 611 ۵2 ‏مه‎ | ۸ = (Aji + Aza) (Bu + Baz), 021 ۵ Au = “Ci = Mi + My — Ms + Mz اف

صفحه 37:
د) ضرب ماتریس‌های استراسن 2 1 9 8 3456 7891] 2345 Rolas

صفحه 38:
د) ضرب ماتریس‌های استراسن 1 = (an +n) (br + 0 ‏ما او | رن‎ mg = ani (bra — baa) ‏و1۲1‎ ۳ ۵ 7 ٩ ‏و1‎ - ۵ + ۵ amg = an (bas — b11) mg = (a1 + ‏و زمره‎ me = (a21 ~a11) (bx + Pra) mr = (012 ~ ax) (bar + bea), M, = (Ani + Agz) x (Bir + B22) ~([ee]+ Eee) (4-1) Lie) [75]

صفحه 39:
د) ضرب ماتریس‌های استراسن Mi=sterasen(A11+A22,B11+B22); M2=sterasen(A21+A22,B11); M3=sterasen(A11,B12-B22); M4=sterasen(A22,B21-B11, M5= 16 M7 C11=M1+M4-M5+M7; 62 62 622 C(1:n/2,1:n/2)=C11; C(1:n/2,n/2+1:n) C1: C(n/2+1:n, C(n/2+1:n,n/2+1:n)=C22; end end function C=sterasen(A,B) max(size(A)); if ( A21=A(n/2+1:n,1:n/2); A22=A(n/2+1:n,n/2+1: B11=B(1:n/2,1:n/2); B12=B(1:n/2,n/2+1:n); B21=B(n/2+1:n,1:n/2); B22=B(n/2+1:n,n/2+1:n);

صفحه 40:
د) ضرب ماتریس‌های استراسن تحلیل پیچیدگی زمانی تعداد جمع‌ها و تفریق‌ها در حالت معمول اين روش برای ضرب دو ماتریس ۲:۲, به ۷ عمل ضرب و ۱۸ عمل جمع و تفریق نیاز دارد T(r) =77 (2)+18(2)° form > 1, na power of 2 T(Q)=0 با توجه به قضیه خواهیم داشت: T (n) =€ Q (n?*')

صفحه 41:
کوئیز از جلسه قبل) اگر فرمول‌های استراسن برای ضرب دو ماتریس ۲۸۲ به صورت زیر باشد. تابعی با نام 0 بنویسید که دو ماتریس ۸۵ و 8 را از ورودی بگیرد و حاصلضرب آن دو را در با شیوه تقسیم‌وحل برگرداند. 611 612 | _ | 611 2 x bir bia C21 C22 421 2 bai bea my = (an + 22) (Dus + baa) ma = (aa1 +429) br my = a1 (biz ~ bea) mg = ana (bay — bit) ms = (ani + a2) baa mg = (aan — 411) (Dir + ba) mz = (a12 — a2) (boi + boa), cau | mt ma—ms + mz ms + ms my +g my +m — mz +m

صفحه 42:
۰) اعمال محاسباتی روی اعداد صحیح بزرگ انجام اعمال محاسباتی روی اعداد صحیحی که بزرگتر از حدی هستند که سخت‌افزار کامپیوتر مى تواند آنها را نمايش دهد. ماقي وى ولس يمني هقد بخ ‎Sy’‏ لاه زثاه لاه [قا5 [قاى نوشتن الگوریتمی با زمان خطى كه جمع و تفريق اعدادى صحيح با جنين ساختارى را انجام دهند مشکل نمی‌باشد. نمی:

صفحه 43:
اعمال محاسباتی روی اعداد صحیح بزرگ ضرب اعداد صحیح بزرگ: ‎O87, x 103+ 832‏ 567,832 ‎digits 3 digits 3 digits‏ 223 + ههور ؤقدة _ 9,423,723 Tdigits 4 digits Sle = 6 y n u Ww x 10"+ ‏د‎ m=(=|. ndigits [n/2] digits [n/2) digits 2

صفحه 44:
۰) اعمال محاسباتی روی اعداد صحیح بزرگ بنابراین چنانچه دو عدد با 1۱ رقم به صورت زیر داشته باشیم: + 10 2۲ ع به ‎٩4 2,‏ 10۳ < نا عدن در اين صورت ضرب آنها ,| به صورت زير مي توا ‎uv = («x 10" +y) 5 x ‏ول‎ +2) = aw x 10?" + (xz + wy) x 10™ + yz. ‏به عنوان مثال دو عدد زیر را در نظر بگیرید: ‎567,832 x 9, 423,723 = (567 x 10° + 832) (9423 x 10° + 723) = 567 x 9423 x 10° + (567 x 723 + 9423 x 832) x 10% + 832 x 723 ‎ ‎

صفحه 45:
ه) اعمال محاسباتی روی اعداد صحیح بزرگ function R=largeintProd(U,V) uy = (x x 10” + y) (w x 10" + 2) nulengtn(Uinv=tengen(rin=maxtlOu = ay x 10 4 (xe + wy) x 10 + ye ‏,2عو‎ %The value of threshold if (n<=s) result=U'V; else m=floor(n/2); [x y]=devision(U,m); [w,z]=devision(V,m); R=largeintSum( largelntsum( shift(largetntProd(x,w),2*m), shift(largeintSum(largeintProd(x,2),largeintProd(w,y)),m) » largeintProd(y.2) i end end

صفحه 46:
۰) اعمال محاسباتی روی اعداد صحیح بزرگ تحلیل پیچیدگی زمانی در بدترین حالت: زمانی اتفاق می‌افتد که هیچکدام از دو عدد صحیح هیچ رقمی برابر صفر نداشته باشند. W(n)=4W(T)+or — forn > s, na power of 2 W(s)=0 T(n)=ar (F) en form > 1, na power of 5 20-0 ‏بر اساس قضیه بیان شده:‎ ‎O(n) >‏ “زا عم عز («ما ام 9 ( 2 ۰ <ه از (عصطم) و ‎W (n) ‏ع‎ 6 (n'84) = O(n’). ‎ ‎

صفحه 47:
۰ اعمال محاسباتی روی اعداد صحیح بزرگ بهبود: در تبع ۵۲961۳۱۳۲0۵0 که نوشته شد. می‌بایست سه مقدار زیر را محاسبه می‌کردیم .. ‎and yz‏ بلالا + ند ‎rw,‏ ‏كه عملا اين تابع به صورت بازگشتی می‌بایست چهار بار صدا زده می‌شد: ‎rw, 22 yw, and yz,‏ چنانچه تفییر متغیری به صورت زیر انجام دهیم ... آنگاه خواهیم داشت .. rz+yw =r— rw — yz. ‏در اين حالت برای محاسبات دیگر نیاز به چها ضرب نیست. بلکه تنها سه ضرب انجام‎ ‏می‌شود. هرچند که تعدادی جمع و ضرب انجام می‌شود ولی زمان آنها در محاسبات‎ ‏خطی است.‎

صفحه 48:
ه) اعمال محاسباتی روی اعداد صحیح بزرگ روج "10 عام حي تحليل بيجيدكى زمانى در بدترين حالت: به + "10 ع سحن زمانى أست كه هيج يك ازردو عدد صحيح رقمى برابر نا صفر نداشته باشند اكر ‎1١‏ توانی از ۲ باشد آنگاه ۰۷/۰۷۷ و 2 همكى 11/2 رقم خواهند داشت با توجه به مثالى كه در جدول زير آورده شده است: 7 x y kez Mumberotbigns inx4y 4 0 10 2 ‏ویو‎ ‎4 * 3 ‏الى هد‎ 8 000 1000 2000 ‏ویر‎ ‎0 00 000 1999 ‏بقع‎ ‏ین‎ n < digits inz+y< 5+ digits in w+2< 541 تاه خانم ‎IA‏

صفحه 49:
ه) اعمال محاسباتی روی اعداد صحیح بزرگ در آخرین الگوریتم ارائه شده ۳ بار فراخوانی ۲۵6 را داریم: ‎Input Size‏ ‎prod(x+y,w+z) %<inputsiee< B41 ۰ ۱‏ v=wxl0™ +2, prod2(x,w) vis ‏داد‎ prod2(y, z) همانند تحلیل پیچیدگی که برای حالتی که دارای ۴ بار فراخولنی ‎POM‏ 99 2549 عملیات‌ها نظیر 501۲0 و 501۴۴ دارای پیچیدگی زملنی خطی (17©) نسبت به 13 می‌باشند. aw G) +en SW (n) <3W G + 1) + ‏بنابراین رابطه زیر را داریم:‎

صفحه 50:
۰) اعمال محاسباتی روی اعداد صحیح بزرگ بر اساس قضیه بیان شده در ‎W (n) € Q (n'823) BW ($) ten SIV (n)‏ نشان مىدهيم كه در © + )+3( ‎W (n) € O (n'#29) W(n) <3W‏ يس درنيايت: (58لو) © بج ‎W (n) € 0 (nl823)‏

صفحه 51:
۰) اعمال محاسباتی روی اعداد صحیح بزرگ برای مرتبه پیچیدگی محاسباتی در 00 + (1 + )318 > (0)"#ایان می‌کنیم که (۰۱۸+۵+ ((۱ + )۵0۷ > + ۷ روم "ا ‎<3w (542) +en42c‏ ‎+en + 2c‏ )5( ۲ > براساس قضيه بيان شنده خواهيم ناشت ‎W1 (n) € O (n'°823)‏ و همجنين: W (n) = W’ (n — 2) € O (n*825)

صفحه 52:
کوئیز از جلسه قبل) قف آخ ات قابرای ضرب اغذالا صحيج:يؤركك :با رويكرة تقسیم وخل الگوریتمی ارائه دهیم. رابطه زیر داده شده است: ‎uv = (x x 10" + y) (w x 10 + 2)‏ ‎aw x 10?" + (xz + wy) x 10" + yz‏ = الف) رابطه را به گونه‌ای تغییر دهید که در رابطه جدید پیچیدگی محاسباتی کاهش يابد. ب) سپس براساس رابطه (الف) تابعی با نام 0۲06 بنویسید که با رویکرد تقسیم‌وحل مساله را ضرب دو عدد صحیح بزرگ را حل می‌کند

صفحه 53:
و) تعیین مقادیر آستانه فرآیند بازگشتی از لحاظ زمانی سربار به همراه دارد: ‎)١‏ قرار دادن پارامترها در پشته قبل از فراخوانی ۲ بازیابی پارامترها از پشته پس از پایان فراخوانی ن است که اگر مثلا می‌خواهيم ۸ عدد را مرتب کنیم آیا سربار اضافه شده ارزش به جاى ‎Metis GL Gp) O(N?)‏ از ( 0۳09 «مرتب سازی ادغامی) استفاده کنیم؟ بنابراین در این بخش روشی را بیان می‌کنیم که تعیین می‌کند که الگوریتم به ازای چه مقلدیری از (] (مقدار آستانه», آنقدر سریع است که دیگر نیاز به تقسیم کردن نمونه نباشد.

صفحه 54:
و) تعيين مقادير آستانه جون تعيين مقدار آستانه به هزينه سربار مربوط مىشود. بنابراين تعيين مقدار آستانه به کامپیوتری بستگی دارد که برنامه در آن اجرا می‌شود پس از تعیین مقدار آستانه (۱۲65/۱0/01 می‌گویی برای ۸ > از الگوریتم بدون بازگشتی و برای ] < از روش بازگشتی (تقسیم‌وحل) استفاده می‌کنیم.

صفحه 55:
و) تعیین مقادیر آستانه ‎w(n)=w(|5]) +W ([F]) +n-1.‏ فرض می‌کنیم روی کامپیوتر مورد نظر. زمانی که مرتب‌سازی ادغامی برای ۱- تقسیم (فرخوانی پشته) ۲- ترکیب (بازیابی مقادیر از پشته و 6 ۲06۲9) نياز دارد. 321145 باشد. مر + ([]) ۷+( رم ”از ‎forn<t‏ مراد ۱ ‎W(n) = 1 x‏ ‎W([E]) +0 ([§]) +32 us forn>t‏

صفحه 56:
و) تعیین مقادیر آستانه 3 ۳9 forn<t تحمس 20+ ‎wg) +0 (GD)‏ می‌خواهیم مقدار بهینه أ را پیدا کنیم. مقدار بهینه برای *. مقداری است که عبارت بالایی و پایینی را در معادله بالابه هم مساوی‌اند. چون و هر دواز * کوچکترند. پس زمان آنها از رابطه محاسبه می‌شود. ‎Jus 1)‏ هون لات ‎Lea‏ ات لقا لقان حل این معادله زمانیکه © زوج است با زمانیکه # فرد است متفاوت می‌باشد

صفحه 57:
و) تعیین مقادیر آستانه پس یکبار فرض می‌کنیم که: زوج‌لستی عنی... پسراز حلمعادله داریم 2128 فردلستی عنی... پسراز حلعادله داییم 128.008 1 پس 2128 ‎ger $1‏ از حل معادله مفاهی ویر زا دست آوزیمه ‏] زوج‌لستی عنی.. يساز حلمعادله داييم 64 -] ‏6 فرد مسمتيعنى... يسراز حلمعادله داييم 70 -] ‏چون دو مقدار ] با هم برابر نيستند يس هيج مقدار آستانه‌ای وجود ندارد ‏اگر 9 عددی زوج بین ۶۴ و ۷۰ باشد باید یکبار دیگر تقسیم کرد و ‏اكر 13 عددی فرد بین ۶۴ و ۷۰ باشد از رویکرد بدون بازگشتی استفاده می‌کنیم ‎ ‎ ‎

صفحه 58:
کجا نمی‌توان از روش تقسیم‌وحل استفاده کرد؟ در موارد زیر باید از روش تقسیم و حل پرهیز کرد: ۱- نمونه‌ای به اندازه (] به دو يا چند نمونه به اندازه تقریبا (] تقسیم می‌شود ۲- نمونه‌ای به اندازه 0] به 0 نمونه به اندازه تقریبا ۲0/۴ (> مقدار ثابتی تقسیم می‌شود

30,000 تومان