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

زمان اجرای مرتب سازی درجی

ارسال:
  

Doctorwho پرسیده:

زمان اجرای مرتب سازی درجی

با عرض سلام و خسته نباشیید

در الگوریتم مرتب سازی درجی فرض کنید هر بار احرای خط i ام زمان [tex]c_{i}[/tex] صرف کند و [tex]c_{i}[/tex] ثابت است. همچنیین فرض کنید به ازای هر j=2,3,...,n تعداد اجرای حلقه ی while در خط ۵ برابر [tex]t_{j}[/tex] باشد زمان اجراش چقدر است. اگه ممکنه مرحله به مرحله توضیح بدهید و همچنیین توضیح مختصری در مورد اینکه چه چیزهایی هزینه و زمان اجرا هر خط ندارن و چه چیزهایی دارن رو ذکر کنید و روش بدست اوردن زمان اجرا هر خط چطوری است و درنهایت توضیح دهید چون بدترین حالت و بهترین حالت و حالت متوسط را در نظر میگیرید و زمان اجرای هر کدوم رو حساب میکنید و زمان اجراش برابر چند میشود. ببخشیید طولانی شد.باتشکرSmileSmileSmile

کد الگوریتم مرتب سازی درجی در پیوست قراردارد.Blush


فایل‌(های) پیوست شده
file.txt
اندازه فایل: ۲۲۰ bytes
نقل قول این ارسال در یک پاسخ

۰
ارسال:
  

SnowBlind پاسخ داده:

RE: زمان اجرای مرتب سازی درجی

شما قبول داری هر خط برنامه مثلا X بار اجرا میشه. حالا برای هر خط شما مقدار اجراشو بنویس: داریم
کد:
insertion-sort(A)
for j<-2 to n do
{
  key<-A[j]; // in "n - 1" bar ejra mishe
   i<-j-1;   // in "n - 1" bar ejra mishe
   while(i>0) and (A[i]>key ) // in khat bahsesh fargh dare
   {
     i<-i-1;
   }
    A[i+1]<-key // in "n - 1" bar ejra mishe
  }

این خط حلقه while بسته به این که key از چند تا از عناصر ۰ تا i کوچکتر باشه تکرار میشه که در بدترین حالت از همه ی اونا کوچیکتره که این حلقه i + 1 بار اجرا میشه و محتویات داخلش i بار اجرا میشه و در بهترین حالت از همه بزرکتر و میاد اول آرایه [tex]A[0\dots i][/tex] قرار میگیره که در کل حلقه دوبار و محتواب داخلش ۱ بار اجرا میشن و به صورت ریاضی داریم:

[tex]T(n) = (n - 1) (n - 1) \sum _{j = 2}^{n} j \sum _{j = 2}^{n} (j - 1) [/tex] که اگه این سری ها رو حساب کنی میشه در نهایت یه چیزی از مرتبه [tex]O(n^2)[/tex] واسه حالت بهترین هم اون دوتا سری میشن: [tex]\sum _{j = 2}^{n} 1 [/tex] که اینا هم در نهایت میشن n و واسه Best case داریم [tex]T(n) = O(n)[/tex].

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

ارسال:
  

Doctorwho پاسخ داده:

RE: زمان اجرای مرتب سازی درجی

(۲۸ شهریور ۱۳۹۲ ۰۱:۳۵ ب.ظ)SnowBlind نوشته شده توسط:  for j<-2 to n do
{
key<-A[j]; // in "n - 1" bar ejra mishe
چرا این کد n-1 با اجرا میشه میخوام این جزئیات رو بدونم.
i<-j-1; // in "n - 1" bar ejra mishe
و همچنیین این
while(i>0) and (A[i]>key ) // in khat bahsesh fargh dare
{
i<-i-1;
}

A[i+1]<-key // in "n - 1" bar ejra mishe

و همجنیین این چرا n-1 بار فرمول کلی داره بگویید.
}[/code]

این خط حلقه while بسته به این که key از چند تا از عناصر ۰ تا i کوچکتر باشه تکرار میشه که در بدترین حالت از همه ی اونا کوچیکتره که این حلقه i + 1 بار اجرا میشه و محتویات داخلش i بار اجرا میشه و در بهترین حالت از همه بزرکتر و میاد اول آرایه [tex]A[0\dots i][/tex] قرار میگیره که در کل حلقه دوبار و محتواب داخلش ۱ بار اجرا میشن و به صورت ریاضی داریم:

[tex]T(n) = (n - 1) (n - 1) \sum _{j = 2}^{n} j \sum _{j = 2}^{n} (j - 1) [/tex] که اگه این سری ها رو حساب کنی میشه در نهایت یه چیزی از مرتبه [tex]O(n^2)[/tex] واسه حالت بهترین هم اون دوتا سری میشن: [tex]\sum _{j = 2}^{n} 1 [/tex] که اینا هم در نهایت میشن n و واسه Best case داریم [tex]T(n) = O(n)[/tex].

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



موضوع‌های مرتبط با این موضوع...
موضوع: نویسنده پاسخ: بازدید: آخرین ارسال
  درخواست تصحیح (تعویق) زمان کنکور ارشد ۱۴۰۱ s.gg ۱ ۱۵ ۲۳ بهمن ۱۴۰۱ ۰۷:۴۳ ب.ظ
آخرین ارسال: HamidReza1
  تعویق زمان کنکور ارشد sima84 ۰ ۱,۶۹۶ ۱۸ اردیبهشت ۱۴۰۰ ۰۱:۰۵ ب.ظ
آخرین ارسال: sima84
  پکیج آموزشی طراحی وب + فارسی سازی وردپرس + سئو Happiness.72 ۶ ۶,۸۳۳ ۱۸ بهمن ۱۳۹۹ ۰۱:۱۵ ب.ظ
آخرین ارسال: saqarmoshtaq
  زمان جستجوی درخت fateme.sm ۰ ۱,۷۷۰ ۰۶ دى ۱۳۹۹ ۱۰:۴۱ ب.ظ
آخرین ارسال: fateme.sm
  مرتب سازی سریع تصادفی چیست؟ Xzrix ۰ ۱,۵۹۱ ۱۴ آذر ۱۳۹۹ ۰۷:۲۲ ب.ظ
آخرین ارسال: Xzrix
  شبیه سازی مقاله Q-Learning kadoos ۱۶ ۱۷,۲۱۰ ۲۵ آبان ۱۳۹۹ ۰۹:۱۹ ب.ظ
آخرین ارسال: nasim.nasim۱
  چگونه این خطا را موقع اجرای sql server 2014 رفع کنم ؟ farahnaz ۲ ۳,۰۱۷ ۱۹ مهر ۱۳۹۹ ۰۲:۱۸ ق.ظ
آخرین ارسال: farahnaz
  اجرای نرم افزار ویندوز در اندروید elecomco ۰ ۳,۰۴۸ ۰۴ خرداد ۱۳۹۹ ۰۸:۳۷ ب.ظ
آخرین ارسال: elecomco
  کتاب شبیه سازی آمنت omnet++ berkeley ۱ ۴,۱۷۶ ۰۴ اردیبهشت ۱۳۹۹ ۱۲:۳۳ ق.ظ
آخرین ارسال: محمد رستمی
  یادگیری برنامه نویسی تا اجرای پروژه های بزرگ The BesT ۳ ۳,۶۱۳ ۱۲ آذر ۱۳۹۸ ۰۳:۵۸ ب.ظ
آخرین ارسال: marvelous

پرش به انجمن:

Can I see some ID?

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

Feeling left out?


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

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

Feeling left out?


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