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

اشکال در محاسبه مرتبه زمانی

ارسال:
  

shayesteb پرسیده:

اشکال در محاسبه مرتبه زمانی

سلام

بچه ها میشه لطفا بگید مرتبه زمانی این الگوریتم را چطوری باید محاسبه کنم؟( ایتن سوال صفحه ۶ کتاب ساختمان پوران)


(++for (i=1; i<=n; i
(++for (j=1; j<=n; j
}
;x=x+1
;n=n-1
{
نقل قول این ارسال در یک پاسخ

۱
ارسال:
  

Morris پاسخ داده:

RE: اشکال در محاسبه مرتبه زمانی

اگر مرتبه زمانی تعداد دفعات اجرای ۱ + X = X مد نظر قرار گیرد خواهیم داشت :

[tex]\frac{n}{2} \frac{n}{4} \frac{n}{8} \frac{n}{16} ...[/tex]
[tex]=\frac{n}{2}(1 \frac{1}{2} \frac{1}{3} \frac{1}{4} ...)[/tex]
[tex]=\frac{n}{2}(\frac{1}{1-\frac{1}{2}})=\frac{n}{2}(2)=n[/tex]

بنابراین مرتبه زمانی می شود :

[tex]\theta(n)[/tex]
نقل قول این ارسال در یک پاسخ

ارسال:
  

shayesteb پاسخ داده:

RE: اشکال در محاسبه مرتبه زمانی

(۱۳ مرداد ۱۳۹۳ ۰۵:۵۷ ب.ظ)Morris نوشته شده توسط:  اگر مرتبه زمانی تعداد دفعات اجرای ۱ + X = X مد نظر قرار گیرد خواهیم داشت :

[tex]\frac{n}{2} \frac{n}{4} \frac{n}{8} \frac{n}{16} ...[/tex]
[tex]=\frac{n}{2}(1 \frac{1}{2} \frac{1}{3} \frac{1}{4} ...)[/tex]
[tex]=\frac{n}{2}(\frac{1}{1-\frac{1}{2}})=\frac{n}{2}(2)=n[/tex]

بنابراین مرتبه زمانی می شود :

[tex]\theta(n)[/tex]

دوست عزیز خیلی ممنون از پاسختون.
چرا اینجوری حل میشه? چرا اینطوری حل نمیشه که حلقه اول n+1 بار اجرا میشه حلقه دوم (n(n+1 بار اجرا میشه و درون اونها n به توان و درنتیجه از مرتبه n به توان دو میشه .
یافتن تمامی ارسال‌های این کاربر
نقل قول این ارسال در یک پاسخ

۰
ارسال:
  

MiladCr7 پاسخ داده:

RE: اشکال در محاسبه مرتبه زمانی

اره.اینجوریه:
[tex]i=1\longrightarrow(\frac{n}{2})[/tex]

[tex]i=2\longrightarrow(\frac{n}{4})[/tex]

[tex]i=3\longrightarrow(\frac{n}{8})[/tex]

.
.
.
.

همینجوری ادامه داره...
نقل قول این ارسال در یک پاسخ

ارسال:
  

shayesteb پاسخ داده:

RE: اشکال در محاسبه مرتبه زمانی

(۱۳ مرداد ۱۳۹۳ ۰۶:۳۷ ب.ظ)miladcr7 نوشته شده توسط:  اره.اینجوریه:
[tex]i=1\longrightarrow(\frac{n}{2})[/tex]
[tex]i=2\longrightarrow(\frac{n}{4})[/tex]
[tex]i=3\longrightarrow(\frac{n}{8})[/tex]

همون n/2 ( اولین اجرا) را چطوری به دست آوردین؟
یافتن تمامی ارسال‌های این کاربر
نقل قول این ارسال در یک پاسخ

۱
ارسال:
  

A V A پاسخ داده:

اشکال در محاسبه مرتبه زمانی

(۱۳ مرداد ۱۳۹۳ ۰۶:۰۹ ب.ظ)shayesteb نوشته شده توسط:  
(13 مرداد ۱۳۹۳ ۰۵:۵۷ ب.ظ)Morris نوشته شده توسط:  اگر مرتبه زمانی تعداد دفعات اجرای ۱ + X = X مد نظر قرار گیرد خواهیم داشت :

[tex]\frac{n}{2} \frac{n}{4} \frac{n}{8} \frac{n}{16} ...[/tex]
[tex]=\frac{n}{2}(1 \frac{1}{2} \frac{1}{3} \frac{1}{4} ...)[/tex]
[tex]=\frac{n}{2}(\frac{1}{1-\frac{1}{2}})=\frac{n}{2}(2)=n[/tex]

بنابراین مرتبه زمانی می شود :

[tex]\theta(n)[/tex]

دوست عزیز خیلی ممنون از پاسختون.
چرا اینجوری حل میشه? چرا اینطوری حل نمیشه که حلقه اول n+1 بار اجرا میشه حلقه دوم (n(n+1 بار اجرا میشه و درون اونها n به توان و درنتیجه از مرتبه n به توان دو میشه .

چون با هربار اجرای حلقه ی دوم، مقدار n داره یه واحد کم میشه، و این هربار توی جفت حلقه ها اثر میزاره، این مدل سوالا که شرط خود حلقه داره تغییر میکنه، حتما باید trace بشن، روشی که میگی برای سوالاییه که هم حلقه ها وابسته نباشن و هم شرط دچار تغییر نشه
نقل قول این ارسال در یک پاسخ

۱
ارسال:
  

A V A پاسخ داده:

اشکال در محاسبه مرتبه زمانی

(۱۳ مرداد ۱۳۹۳ ۰۶:۴۰ ب.ظ)shayesteb نوشته شده توسط:  
(13 مرداد ۱۳۹۳ ۰۶:۳۷ ب.ظ)miladcr7 نوشته شده توسط:  اره.اینجوریه:
[tex]i=1\longrightarrow(\frac{n}{2})[/tex]
[tex]i=2\longrightarrow(\frac{n}{4})[/tex]
[tex]i=3\longrightarrow(\frac{n}{8})[/tex]

همون n/2 ( اولین اجرا) را چطوری به دست آوردین؟

برای اینکه وقتی هربار یه واحد از n کم بشه، یعنی شرط وسطیه حلقه فقط تا نصف جلو میره
نقل قول این ارسال در یک پاسخ

۰
ارسال:
  

MiladCr7 پاسخ داده:

RE: اشکال در محاسبه مرتبه زمانی

به این دلیل که دقت کن که توی اجرای حلقه ها هربار مقدار n یه واحد کم میشه که جز دستورات اصلی هم هستش پس مطمئنا نه حلقه اول ۱+n بار اجرا میشه نه حلقه دوم n بار
نقل قول این ارسال در یک پاسخ

ارسال:
  

shayesteb پاسخ داده:

RE: اشکال در محاسبه مرتبه زمانی

(۱۳ مرداد ۱۳۹۳ ۰۶:۲۳ ب.ظ)miladcr7 نوشته شده توسط:  به این دلیل که دقت کن که توی اجرای حلقه ها هربار مقدار n یه واحد کم میشه که جز دستورات اصلی هم هستش پس مطمئنا نه حلقه اول ۱+n بار اجرا میشه نه حلقه دوم n بار

دوستای عزیز ممنون از توضیحایی که دادین . بله کاملا درسته. فقط میشه بگید چطوری برای i=1 جمله x=x+1 حلقه n/2 بار اجرا میشه ؟
یافتن تمامی ارسال‌های این کاربر
نقل قول این ارسال در یک پاسخ

۰
ارسال: #۱۰
  

MiladCr7 پاسخ داده:

RE: اشکال در محاسبه مرتبه زمانی

برای هر عددی دوست داری یه امتحان کن ببین n/2 میشه.اگه هم خواستی بگو یه مثال برات میزنم
نقل قول این ارسال در یک پاسخ

ارسال: #۱۱
  

shayesteb پاسخ داده:

RE: اشکال در محاسبه مرتبه زمانی

(۱۳ مرداد ۱۳۹۳ ۰۶:۴۵ ب.ظ)miladcr7 نوشته شده توسط:  برای هر عددی دوست داری یه امتحان کن ببین n/2 میشه.اگه هم خواستی بگو یه مثال برات میزنم

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



موضوع‌های مرتبط با این موضوع...
موضوع: نویسنده پاسخ: بازدید: آخرین ارسال
Exclamation سلام لطفاً یکی به من بگه مرتبه زمانی ها چطوری به log تبدیل میشن فرمول داره؟؟ Azadam ۶ ۴,۹۲۸ ۰۶ دى ۱۴۰۰ ۰۹:۰۲ ق.ظ
آخرین ارسال: Soldier's life
  رفع اشکال نصب جاوا، مشکل ساخته نشدن virtual machine shiivaa ۱۲ ۲۰,۸۱۰ ۱۹ آبان ۱۳۹۹ ۰۷:۲۹ ب.ظ
آخرین ارسال: wanted471
  مرتبه ایجاد درخت rad.bahar ۱ ۳,۳۸۸ ۳۰ مهر ۱۳۹۹ ۰۳:۳۴ ب.ظ
آخرین ارسال: rad.bahar
  مرتبه شبه کد rad.bahar ۱ ۲,۳۴۸ ۲۲ مهر ۱۳۹۹ ۰۹:۳۲ ب.ظ
آخرین ارسال: BBumir
  حل مساله مرتبه زمانی حلقه های تو در تو sarashahi ۱۶ ۲۳,۰۵۴ ۱۹ خرداد ۱۳۹۹ ۰۱:۱۶ ب.ظ
آخرین ارسال: gillda
  محاسبه ارتفاع درخت.... baharkhanoom ۳ ۸,۱۱۲ ۰۹ اردیبهشت ۱۳۹۹ ۰۶:۴۸ ب.ظ
آخرین ارسال: mohsentafresh
  مرتبه زمانی Sanazzz ۱۷ ۲۱,۶۴۶ ۰۹ اردیبهشت ۱۳۹۹ ۰۶:۴۶ ب.ظ
آخرین ارسال: mohsentafresh
  پیچیدگی زمانی اکشن های قابل اعمال در یک وضعیت اsepid8994 ۰ ۱,۷۹۲ ۲۹ اسفند ۱۳۹۸ ۱۲:۵۱ ب.ظ
آخرین ارسال: اsepid8994
  رفع اشکال سؤالات کنکور دکتری هوش مصنوعی Lootus ۱۲ ۹,۴۴۸ ۲۵ اسفند ۱۳۹۸ ۰۷:۳۹ ب.ظ
آخرین ارسال: Lootus
Question یک اشکال ریز، کمک لطفا! marvelous ۶ ۶,۰۸۰ ۳۰ دى ۱۳۹۸ ۰۲:۱۶ ب.ظ
آخرین ارسال: marvelous

پرش به انجمن:

Can I see some ID?

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

Feeling left out?


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

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

Feeling left out?


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