پیچیدگی زمانی ۳ حلقه for تودرتوی وابسته - نسخهی قابل چاپ |
پیچیدگی زمانی ۳ حلقه for تودرتوی وابسته - pr0tector - 16 مهر ۱۳۹۲ ۰۳:۰۶ ب.ظ
سلام دوستان خیلی ممنون میشم واسه حل این مسئله کمک کنید.. سوال : تعداد تکرار عبارت ;++x در دو تکه کد زیر چیست؟ (البته به صورت جداگانه) کد: ۱) کد: ۲) بنده درس طراحی رو این ترم برداشتم واسه همین یکم گیج میزنم البته تو حلقه های وابسته اینطوریه... دوستانی که لطف میکنند راهنمایی می کنند لطفا با فرمول و اینا بگن که متوجه بشم... مرسی |
RE: پیچیدگی زمانی ۳ حلقه for تودرتوی وابسته - pmoradi - 16 مهر ۱۳۹۲ ۰۳:۵۷ ب.ظ
سلام. به نظر من روش حل اینطوریه . چون حلقه اول از ۱ تا n بار اجرا میشه تعداد مراحل اجراش n هست. حلقه دوم هم چون حداکثر تا n بار میتونه اجرا بشه اینم n بار اجرا میشه و حلقه سوم هم همینطور. پس کل پیچیدگی زمانی تکه کد اول برابر [tex]O ( n^3 )[/tex] هست. تکه کد دومی هم چون برنامه به تعداد محدودی اجرا میشه از مرتبه [tex]O ( 1 )[/tex] هست. برای حل اولی از طریق سیگما هم میتونبن به نتیجه برسین. |
RE: پیچیدگی زمانی ۳ حلقه for تودرتوی وابسته - nazanin_sh - 16 مهر ۱۳۹۲ ۰۶:۱۰ ب.ظ
من دومی رو با سیگما حل کردم [tex]\sum_{i=1}^{5}\sum_{j=i}^{n}\sum_{k=j}^{n}1[/tex] اینو حل کنید میبینید که [tex]O(n^{2})[/tex] شما هم حساب کنید ببینید همینو بدست میارید |
RE: پیچیدگی زمانی ۳ حلقه for تودرتوی وابسته - pr0tector - 17 مهر ۱۳۹۲ ۰۳:۲۰ ب.ظ
دوستان خیلی ممنون ، منم تونستم با سیگما حلش کنم... جواب نهایی هم (n(n+1)(2n+1))/6 میشه.. |
RE: پیچیدگی زمانی ۳ حلقه for تودرتوی وابسته - nazanin_sh - 17 مهر ۱۳۹۲ ۰۳:۳۶ ب.ظ
(۱۷ مهر ۱۳۹۲ ۰۳:۲۰ ب.ظ)pr0tector نوشته شده توسط: دوستان خیلی ممنون ،این جواب دومی هست؟ آخه دومی نمیتونه از [tex]O(n^2)[/tex] بیشتر بشه که! |
RE: پیچیدگی زمانی ۳ حلقه for تودرتوی وابسته - pmoradi - 18 مهر ۱۳۹۲ ۱۱:۰۹ ق.ظ
(۱۶ مهر ۱۳۹۲ ۰۶:۱۰ ب.ظ)nazanin_sh نوشته شده توسط: من دومی رو با سیگما حل کردم پس جواب تابع اول همون جوابیه که من نوشتم. واسه دومی هم به احتمال زیاد جواب شما درست باشه. |
RE: پیچیدگی زمانی ۳ حلقه for تودرتوی وابسته - reza6966 - 22 مهر ۱۳۹۲ ۰۱:۲۳ ق.ظ
(۱۷ مهر ۱۳۹۲ ۰۳:۳۶ ب.ظ)nazanin_sh نوشته شده توسط: این جواب دومی هست؟ چرا نتونه بیشتر از [tex]O(n^2)[/tex] بشه ؟ میشه راه حلتون از طریق سیگما اینجا بنویسید |
RE: پیچیدگی زمانی ۳ حلقه for تودرتوی وابسته - nazanin_sh - 23 مهر ۱۳۹۲ ۰۶:۱۳ ب.ظ
(۲۲ مهر ۱۳۹۲ ۰۱:۲۳ ق.ظ)reza6966 نوشته شده توسط: چرا نتونه بیشتر از [tex]O(n^2)[/tex] بشه ؟ توی پستای قبلی نوشتم . [tex]\sum_{i=1}^{5}\sum_{j=i}^{n}\sum_{k=j}^{n}1[/tex] اگه توجه کنید دوتا سیگما داره که حد بالاشون n هست و سیگمای سوم محدوده . بنابراین نهایتا [tex]O(n^2)[/tex] میشه. |
RE: پیچیدگی زمانی ۳ حلقه for تودرتوی وابسته - reza6966 - 23 مهر ۱۳۹۲ ۱۱:۲۴ ب.ظ
(۲۳ مهر ۱۳۹۲ ۰۶:۱۳ ب.ظ)nazanin_sh نوشته شده توسط:(22 مهر ۱۳۹۲ ۰۱:۲۳ ق.ظ)reza6966 نوشته شده توسط: چرا نتونه بیشتر از [tex]O(n^2)[/tex] بشه ؟ آها من فکر کردم در حالت کلی و موقعی که حدود i بین ۱ تا n باشه جوابتون [tex]O(n^2)[/tex] هست |