محاسبه زمان اجرای یک کد - نسخهی قابل چاپ |
محاسبه زمان اجرای یک کد - SnowBlind - 27 مرداد ۱۳۹۲ ۱۱:۱۰ ب.ظ
سلام من با هیچ روشی نمتونم بفهمم مرتبه ی این کد چی میشه و کلا اعصابمو ریخته به هم کد php: i = n; کسی میتونه راه نمایی کنه؟ |
محاسبه زمان اجرای یک کد - M4$0UD - 28 مرداد ۱۳۹۲ ۱۲:۳۸ ق.ظ
من یه چیزی به ذهنم رسیده. حلقه خارجی مرتبه زمانی [tex]O(lgn)[/tex] هست. مرتبه زمانی حلقه داخلی با عوض شدن i و در نهایت j به این صورت هست. [tex](1 2 ... lgn)[/tex] که یه تصاعد عددی محسوب میشه که مجموع جملات برابر هست با ([tex]\frac{lg*n .(lgn 1))}{2}[/tex]). پس نظر من اینه که اردر کلی برابر است با [tex]O(lg*n . (lgn)^{2})[/tex]. البته اصلا به این جواب مطمئن نیستم لطفا بقیه دوستان هم بیاند نظر بدند. (۲۸ مرداد ۱۳۹۲ ۱۲:۳۸ ق.ظ)M4$0UD نوشته شده توسط: من یه چیزی به ذهنم رسیده. الان که یکم فکر کردم به نظرم غلطه فکر کنم جواب [tex]lg*n(lgn)[/tex] باشه. حالا بقیه لطفا نظر بدند تا با هم بحث کنیم. |
RE: محاسبه زمان اجرای یک کد - MajidManesht2012 - 28 مرداد ۱۳۹۲ ۰۱:۱۳ ق.ظ
(۲۷ مرداد ۱۳۹۲ ۱۱:۱۰ ب.ظ)SnowBlind نوشته شده توسط: سلام به ازای i=n حلقه داخلی ۱بار میچرخد و به ازای i=n/2 حلقه داخلی ۲بار میچرخد و به ازای i=n/4 حلقه داخلی ۳بار میچرخد و به ازای i=n/8 حلقه داخلی ۴بار میچرخد و ... و اگر با هوش باشید مثل من (محض تنوع) متوجه خواهیم شد که به ازای i=1 حلقه داخلی logn+1 بار میچرخد حالا جمع تصاعدی بزن: میدانیم: [tex]1 2 ... n=n(n 1)/2[/tex] پس: [tex]1 2 ... (logn 1)=(logn 1)(logn 2)/2=O(log^{2}n)[/tex] |
محاسبه زمان اجرای یک کد - SnowBlind - 28 مرداد ۱۳۹۲ ۰۱:۳۴ ق.ظ
ممنون از دوستان فکر کنم جواب دوستمون مجید جواب درست هستش، در ضمن این تمرین کتاب ساختمان داده پیام نور بود. |
محاسبه زمان اجرای یک کد - M4$0UD - 28 مرداد ۱۳۹۲ ۰۱:۵۱ ق.ظ
حق با شماست من خنگ را بگو فکر کردم تعداد جمله های تصاعد lg*n میشه (امان از جو گیر شدن) من برم تو افق محو شم |