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

زمان اجرای الگوریتم

ارسال:
  

shayesteb پرسیده:

زمان اجرای الگوریتم

سلام دوستان

میشه توضیح بدید تریس مربوط به الگوریتم زیر چطوری میشه و زمان اجراش چقدر هست؟



[tex]sum\: \longleftarrow\: 1\: \: [/tex]
[tex]for\: \: \: i\longleftarrow1\: to\: n[/tex]
[tex]do\: for\: \: \: j\longleftarrow1\: to\: i^2[/tex]
[tex]do\: if\: \: j\: \mod\: i=0[/tex]
[tex]then\: for\: k\longleftarrow1\: to\: j[/tex]
[tex]do\: sum\: \longleftarrow\: sum\: 1[/tex]
نقل قول این ارسال در یک پاسخ

۲
ارسال:
  

a.kam پاسخ داده:

RE: زمان اجرای الگوریتم

جواب دقیقش که میشه
[tex](3n 1)*C(n 2,3)/4[/tex]
اما اینکه از نظر مرتبه اجرا تقریبا برابر چی میشه را راحت میشه از روی تست ها انتخاب کرد Smile
نقل قول این ارسال در یک پاسخ

۱
ارسال:
  

shayesteb پاسخ داده:

RE: زمان اجرای الگوریتم

(۲۳ مرداد ۱۳۹۳ ۰۸:۱۹ ق.ظ)shayesteb نوشته شده توسط:  سلام دوستان

میشه توضیح بدید تریس مربوط به الگوریتم زیر چطوری میشه و زمان اجراش چقدر هست؟



to n [tex]sum\: \longleftarrow\: 1\: \: [/tex]
[tex]for\: \: \: i\longleftarrow1\: to\: n[/tex]
[tex]do\: for\: \: \: j\longleftarrow1\: to\: i^2[/tex]
[tex]do\: if\: \: j\: \mod\: i=0[/tex]
[tex]then\: for\: k\longleftarrow1\: to\: j[/tex]
[tex]do\: sum\: \longleftarrow\: sum\: 1[/tex]

دوستان ممنون میشم اگه راهنمایی کنید Blush
نقل قول این ارسال در یک پاسخ

۰
ارسال:
  

MiladCr7 پاسخ داده:

RE: زمان اجرای الگوریتم

میشه بگی خط اول چیکار میکنه؟
نقل قول این ارسال در یک پاسخ

ارسال:
  

shayesteb پاسخ داده:

RE: زمان اجرای الگوریتم

(۲۳ مرداد ۱۳۹۳ ۰۶:۰۲ ب.ظ)miladcr7 نوشته شده توسط:  میشه بگی خط اول چیکار میکنه؟

اشتباه شده بود . الان درست شد Smile. sum=1 قرار داده میشه.
یافتن تمامی ارسال‌های این کاربر
نقل قول این ارسال در یک پاسخ

۰
ارسال:
  

MiladCr7 پاسخ داده:

RE: زمان اجرای الگوریتم

زمان اجراشو نمیدونی که حداقل جوابامون رو باهاش چک کنیم ببینیم درسته یا نه؟
نقل قول این ارسال در یک پاسخ

ارسال:
  

shayesteb پاسخ داده:

RE: زمان اجرای الگوریتم

(۲۳ مرداد ۱۳۹۳ ۰۷:۰۵ ب.ظ)miladcr7 نوشته شده توسط:  زمان اجراشو نمیدونی که حداقل جوابامون رو باهاش چک کنیم ببینیم درسته یا نه؟

نه چیزی ازش نمیدونم . این سوال یکی از تمرینهای کتاب ساختمان قدسی. شما میدونید حل المسایل داره یا نه؟
یافتن تمامی ارسال‌های این کاربر
نقل قول این ارسال در یک پاسخ

ارسال:
  

MiladCr7 پاسخ داده:

RE: زمان اجرای الگوریتم

داره فکر کنم.خودت حلش نکردی؟
یافتن تمامی ارسال‌های این کاربر
نقل قول این ارسال در یک پاسخ

۰
ارسال:
  

MiladCr7 پاسخ داده:

RE: زمان اجرای الگوریتم

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

۰
ارسال: #۱۰
  

MiladCr7 پاسخ داده:

RE: زمان اجرای الگوریتم

پس حلقه K چی میشه؟
نقل قول این ارسال در یک پاسخ

۰
ارسال: #۱۱
  

shayesteb پاسخ داده:

RE: زمان اجرای الگوریتم

دوستان ممنون از اینکه راهنمایی کردین

پاسخش تتا n به توان ۴ هستش ( سوال ۴۴ فصل اول کتاب ۶۰۰ تست البته من هم نمیدونستم بعدا یکی از دوستان راهنمایی کردن Smile ) اگه هم کسی خواست بگه تا جواب را توضیح بدم.

(۲۳ مرداد ۱۳۹۳ ۰۸:۲۹ ب.ظ)a.kam نوشته شده توسط:  جواب دقیقش که میشه
[tex](3n 1)*C(n 2,3)/4[/tex]
اما اینکه از نظر مرتبه اجرا تقریبا برابر چی میشه را راحت میشه از روی تست ها انتخاب کرد Smile

دوست عزیز ممنونم
نقل قول این ارسال در یک پاسخ

۰
ارسال: #۱۲
  

MiladCr7 پاسخ داده:

RE: زمان اجرای الگوریتم

ای ول منم [tex]\theta(n^4)[/tex] رو به دست اوردم.ببخشید البته صبح حسابش کردم ولی خب شک داشتم دیگه نگفتم.ولی سوال خیلی جالبی بود.البته من از تریس کردن و تصاعد عددی به دستش اوردم.راه حل دیگه ای داره رو نمیدونمSmile
نقل قول این ارسال در یک پاسخ

ارسال: #۱۳
  

shayesteb پاسخ داده:

RE: زمان اجرای الگوریتم

(۲۴ مرداد ۱۳۹۳ ۱۲:۳۹ ق.ظ)miladcr7 نوشته شده توسط:  ای ول منم [tex]\theta(n^4)[/tex] رو به دست اوردم.ببخشید البته صبح حسابش کردم ولی خب شک داشتم دیگه نگفتم.ولی سوال خیلی جالبی بود.البته من از تریس کردن و تصاعد عددی به دستش اوردم.راه حل دیگه ای داره رو نمیدونمSmile

بله از طریق تریس کردن به دست میاد. آفرین که جوابتون درست بوده Smile
یافتن تمامی ارسال‌های این کاربر
نقل قول این ارسال در یک پاسخ

ارسال: #۱۴
  

MiladCr7 پاسخ داده:

RE: زمان اجرای الگوریتم

(۲۴ مرداد ۱۳۹۳ ۰۹:۱۸ ق.ظ)shayesteb نوشته شده توسط:  
(24 مرداد ۱۳۹۳ ۱۲:۳۹ ق.ظ)miladcr7 نوشته شده توسط:  ای ول منم [tex]\theta(n^4)[/tex] رو به دست اوردم.ببخشید البته صبح حسابش کردم ولی خب شک داشتم دیگه نگفتم.ولی سوال خیلی جالبی بود.البته من از تریس کردن و تصاعد عددی به دستش اوردم.راه حل دیگه ای داره رو نمیدونمSmile

بله از طریق تریس کردن به دست میاد. آفرین که جوابتون درست بوده Smile

مرسی ممنون
یافتن تمامی ارسال‌های این کاربر
نقل قول این ارسال در یک پاسخ

۰
ارسال: #۱۵
  

MiladCr7 پاسخ داده:

RE: زمان اجرای الگوریتم

ببین زمان اجرای حلقه دوم و سوم [tex]\lg(n)[/tex] نمیشه چون به ازای هر [tex]j[/tex] توی حلقه دوم مقدار [tex]k[/tex] توی حلقه سوم فرق داره درسته؟
یعنی وقتی [tex]j[/tex] مقدارش ۱ باشه حلقه سوم ۱ بار اجرا میشه و وقتی [tex]j=2[/tex] باشه حلقه سوم ۲ بار اجرا میشه و وقتی [tex]j=4[/tex] باشه حلقه سوم ۴ بار اجرا میشه پس لگاریتمی تغییر نمیکنه.
حالا این تریس رو داشته باش:

[tex]j=1\longrightarrow1[/tex]

[tex]j=2\longrightarrow2[/tex]

[tex]j=4\longrightarrow4[/tex]

[tex]j=8\longrightarrow8[/tex]

و همینطوری ادامه بده.حال قبول داری [tex]j[/tex] داره به صورت [tex]2^p[/tex] تغییر میکنه.p از صفر شروع میشه.حالا این اجرا تا چه وقتی
ادامه پیدا میکنه؟
تا وقتی که [tex]2^p<n[/tex] درسته؟یعنی وقتی که [tex]2^{p 1}>n[/tex] دیگه حلقه اجرا نمیشه.درسته؟
پس ما میتونیم یه تقریب بزنیم به این صورت که:[tex]2^{p}\cong n[/tex] درست؟
حالا مجموع زمان اجراها رو محاسبه میکنیم:
[tex]2^0 2^1 2^2 2^3 ... 2^p=\frac{2^{p 1}-1}{2-1}=2^{p 1}-1\cong n=\theta(n)[/tex]

حلقه اول هم که [tex]\lg(n)[/tex] پس زمان اجرای کل:[tex]n.\lg(n)[/tex]

اینجوری حلش کردم با تریس.یه عدد مثل ۴ رو در نظر گرفتم اینم از تریس:

[tex]i=1\rightarrow j=1\rightarrow1[/tex]:::::::یعنی به ازای [tex]i=1[/tex] و [tex]j=1[/tex] یه بار اجرا میشه

[tex]i=2\rightarrow j=2\rightarrow2[/tex]

[tex]i=2\rightarrow j=4\rightarrow4[/tex]

[tex]i=3\rightarrow j=3\rightarrow3[/tex]

[tex]i=3\rightarrow j=6\rightarrow6[/tex]

[tex]i=3\rightarrow j=9\rightarrow9[/tex]

[tex]i=4\rightarrow j=4\rightarrow4[/tex]

[tex]i=4\rightarrow j=8\rightarrow8[/tex]

[tex]i=4\rightarrow j=12\rightarrow12[/tex]

[tex]i=4\rightarrow j=16\rightarrow16[/tex]

برای بقیه عددها هم این ریتم هستش.حالا اگه به نحوه ی اجرا دقت کنی میبینی به ازای هر [tex]i[/tex] یه سری عددی داریم با جمله اول [tex]i[/tex] و جمله اخر [tex]i^2[/tex] و تعداد جملات و قدر نسبت هم [tex]i[/tex] هستش.خب مجموع سری حسابی رو که میدونیم چجوری به دست میاد خب حالا ما باید برای هر [tex]i[/tex] این مجموع رو به دست بیاریم که میشه:

[tex]\sum^n_{i=0}\frac{(i i^2)\ast i}{2}=\sum\frac{i^2}{2} \sum\frac{i^3}{2}=\theta(n^4)[/tex]

بفرمایید
نقل قول این ارسال در یک پاسخ

۰
ارسال: #۱۶
  

shayesteb پاسخ داده:

RE: زمان اجرای الگوریتم

ممنون از اینکه اینقدر خوب راه حل را نوشتید. کاملا درست هست .
نقل قول این ارسال در یک پاسخ



موضوع‌های مرتبط با این موضوع...
موضوع: نویسنده پاسخ: بازدید: آخرین ارسال
  درخواست تصحیح (تعویق) زمان کنکور ارشد ۱۴۰۱ s.gg ۱ ۱۵ ۲۳ بهمن ۱۴۰۱ ۰۷:۴۳ ب.ظ
آخرین ارسال: HamidReza1
  تعویق زمان کنکور ارشد sima84 ۰ ۱,۷۱۴ ۱۸ اردیبهشت ۱۴۰۰ ۰۱:۰۵ ب.ظ
آخرین ارسال: sima84
  زمان جستجوی درخت fateme.sm ۰ ۱,۷۸۲ ۰۶ دى ۱۳۹۹ ۱۰:۴۱ ب.ظ
آخرین ارسال: fateme.sm
  چگونه این خطا را موقع اجرای sql server 2014 رفع کنم ؟ farahnaz ۲ ۳,۰۶۹ ۱۹ مهر ۱۳۹۹ ۰۲:۱۸ ق.ظ
آخرین ارسال: farahnaz
  اجرای نرم افزار ویندوز در اندروید elecomco ۰ ۳,۰۷۳ ۰۴ خرداد ۱۳۹۹ ۰۸:۳۷ ب.ظ
آخرین ارسال: elecomco
  یادگیری برنامه نویسی تا اجرای پروژه های بزرگ The BesT ۳ ۳,۶۶۴ ۱۲ آذر ۱۳۹۸ ۰۳:۵۸ ب.ظ
آخرین ارسال: marvelous
Exclamation زمان برگزاری کنکور ارشد ۹۸ به تعویق افتاد elect ۲ ۳,۰۲۹ ۱۳ مهر ۱۳۹۸ ۰۵:۲۴ ب.ظ
آخرین ارسال: saharfarhang
  تعیین زمان سفارت کشور فرانسه zpv1234 ۰ ۲,۲۷۳ ۲۱ شهریور ۱۳۹۷ ۰۱:۴۸ ب.ظ
آخرین ارسال: zpv1234
  الگوریتم SRT زمانبندی کوتاه ترین زمان باقی مانده Happiness.72 ۶ ۱۸,۰۶۵ ۲۴ خرداد ۱۳۹۷ ۰۷:۵۷ ب.ظ
آخرین ارسال: amirjo0on
  بهترین زمان برای ساخت یک درخت BST با nکلید و ارتفاع دقیقا n-1 Mr.R3ZA ۶ ۴,۷۲۶ ۲۲ خرداد ۱۳۹۷ ۱۰:۱۹ ب.ظ
آخرین ارسال: Alisalar

پرش به انجمن:

Can I see some ID?

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

Feeling left out?


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

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

Feeling left out?


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