زمان کنونی: ۰۲ آذر ۱۴۰۳, ۰۵:۵۷ ب.ظ مهمان گرامی به انجمن مانشت خوش آمدید. برای استفاده از تمامی امکانات انجمن می‌توانید عضو شوید.
گزینه‌های شما (ورودثبت نام)

محاسبه زمان اجرای یک کد

ارسال:
  

SnowBlind پرسیده:

محاسبه زمان اجرای یک کد

سلام

من با هیچ روشی نمتونم بفهمم مرتبه ی این کد چی میشه و کلا اعصابمو ریخته به هم Angry

کد php:
n;
while(
>= 1) {
    
i;
    while(
<= n) {
        
*= 2;
    }
    
/= 2;


کسی میتونه راه نمایی کنه؟
نقل قول این ارسال در یک پاسخ

۱
ارسال:
  

MajidManesht2012 پاسخ داده:

RE: محاسبه زمان اجرای یک کد

(۲۷ مرداد ۱۳۹۲ ۱۱:۱۰ ب.ظ)SnowBlind نوشته شده توسط:  سلام

من با هیچ روشی نمتونم بفهمم مرتبه ی این کد چی میشه و کلا اعصابمو ریخته به هم Angry

کد php:
n;
while(
>= 1) {
    
i;
    while(
<= n) {
        
*= 2;
    }
    
/= 2;


کسی میتونه راه نمایی کنه؟

به ازای 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]
نقل قول این ارسال در یک پاسخ

۰
ارسال:
  

M4$0UD پاسخ داده:

محاسبه زمان اجرای یک کد

من یه چیزی به ذهنم رسیده.
حلقه خارجی مرتبه زمانی [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]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].
البته اصلا به این جواب مطمئن نیستم لطفا بقیه دوستان هم بیاند نظر بدند.

الان که یکم فکر کردم به نظرم غلطه Smile
فکر کنم جواب [tex]lg*n(lgn)[/tex] باشه. حالا بقیه لطفا نظر بدند تا با هم بحث کنیم.
نقل قول این ارسال در یک پاسخ

۰
ارسال:
  

SnowBlind پاسخ داده:

محاسبه زمان اجرای یک کد

ممنون از دوستان فکر کنم جواب دوستمون مجید جواب درست هستش، در ضمن این تمرین کتاب ساختمان داده پیام نور بود.
نقل قول این ارسال در یک پاسخ

۰
ارسال:
  

M4$0UD پاسخ داده:

محاسبه زمان اجرای یک کد

حق با شماست من خنگ را بگو فکر کردم تعداد جمله های تصاعد lg*n میشه Smile (امان از جو گیر شدن)
من برم تو افق محو شم Smile
نقل قول این ارسال در یک پاسخ



موضوع‌های مرتبط با این موضوع...
موضوع: نویسنده پاسخ: بازدید: آخرین ارسال
  هاست یا میزبانی وب چیست؛ انواع آن کدامند؟ B0020 ۰ ۷۷۸ ۰۹ فروردین ۱۴۰۲ ۰۲:۵۷ ب.ظ
آخرین ارسال: B0020
  درخواست تصحیح (تعویق) زمان کنکور ارشد ۱۴۰۱ s.gg ۱ ۱۵ ۲۳ بهمن ۱۴۰۱ ۰۷:۴۳ ب.ظ
آخرین ارسال: HamidReza1
  پارسه، مدرسان شریف،ماهان و.... کدام یک بهتره؟؟؟ alim93 ۶۴ ۷۴,۹۱۳ ۰۷ تیر ۱۴۰۱ ۱۲:۵۶ ق.ظ
آخرین ارسال: عزیز دادخواه
  بین پردازش تصویر و داده کاوی موندم کدوم یکی رو برای پایان نامه انتخاب کنم؟ raheleh1393 ۵ ۸,۵۲۷ ۰۱ دى ۱۴۰۰ ۰۲:۴۸ ب.ظ
آخرین ارسال: golkhorami
  سلام بچه های کدهای سیستم تهویه هوا رو کسی داره فاطمه دیبا ۰ ۱,۴۱۱ ۱۲ آبان ۱۴۰۰ ۰۹:۱۲ ق.ظ
آخرین ارسال: فاطمه دیبا
  کدام زبان برای هوش مصنوعی بهتر است؟ فرق بین زبان های هوش مصنوعی چیست؟ azam2075 ۳ ۶,۰۴۰ ۱۴ مهر ۱۴۰۰ ۰۷:۲۱ ب.ظ
آخرین ارسال: علیصا
  تعویق زمان کنکور ارشد sima84 ۰ ۱,۷۰۶ ۱۸ اردیبهشت ۱۴۰۰ ۰۱:۰۵ ب.ظ
آخرین ارسال: sima84
  زمان جستجوی درخت fateme.sm ۰ ۱,۷۷۵ ۰۶ دى ۱۳۹۹ ۱۰:۴۱ ب.ظ
آخرین ارسال: fateme.sm
  آزمون آزمایشی ارشد کدام موسسه را شرکت کنیم Ali1991khe ۲ ۳,۶۷۰ ۱۴ آبان ۱۳۹۹ ۱۲:۰۹ ق.ظ
آخرین ارسال: Ali1991khe
  آزمون آزمایشی ارشد کدام موسسه را شرکت کنیم Ali1991khe ۲ ۳,۳۵۰ ۰۸ آبان ۱۳۹۹ ۱۲:۰۴ ب.ظ
آخرین ارسال: Ali1991khe

پرش به انجمن:

Can I see some ID?

به خاطر سپاری رمز Cancel

Feeling left out?


نگران نباش، فقط روی این لینک برای ثبت نام کلیک کن. رمزت رو فراموش کردی؟ اینجا به یادت میاریم! close

رمزت رو فراموش کردی؟

Feeling left out?


نگران نباش، فقط روی این لینک برای ثبت نام کلیک کن. close