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

مهندسی نرم افزار - سراسری ۹۱

ارسال:
  

ali.majed.ha پرسیده:

مهندسی نرم افزار - سراسری ۹۱

با عرض سلام
دوستان برای سوال زیر، من می گم اگر k=1 فرض بشه، که مسئله می شه یک آرایه ی مرتب که نیاز به مرتب سازی نداره. پس جواب باید برحسب k به صورت لگاریتمی باشه. (فقط گزینه ی ۳). و اگر هم k=n باشه، مسئله ی Merge Sort مطرح می شه. من خوندم که در الگوریتم Merge Sort تفاوت نمی کنه که آرایه ی اولیه به چه نسبت شکسته بشه، در هر حالت مرتبه ی زمانی [tex]\Theta(n.\log n)[/tex] می شه. پس یعنی اگر طبق گفته ی مسئله حساب کنیم، آرایه ی اولیه به نسبت ۱ و n-1 شکسته می شه، آون آرایه ی n-1 عضوی به نسبت ۱ و n-2 و ... الی آخر تا به n آرایه ی یک عضوی برسیم و با الگوریتم Merge Sort آنها رو ادغام کنیم. پس باز هم گزینه ی ۳ صحیح است. چرا می گه گزینه ی ۲ ؟
با تشکر


فایل‌(های) پیوست شده


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

۰
ارسال:
  

msour44 پاسخ داده:

RE: مهندسی نرم افزار - سراسری ۹۱

سلام
دوست گرامی برای K=1 یکی از بهترین حالت ها اتفاق می افتد ولی در سوال مرتبه بدترین حالت مد نظر است.
و برای k=n حالا به هر صورتی که شکسته شده n تا لیست یک عنصری داریم بحث روی ادغام است در مرتب سازی ادغامی لیست جفت جفت (ممکن است در هر گام یک لیست تنها بماند) با هم ادغام می شوند و بعد حاصل انها هم جفت جفت . ولی در این سوال دو لیست اولیه با هم ادغام و بعد حاصل با لیست اولیه دیگرادغام و دوباره حاصل با لیست اولیه دیگر...
اگر بخواهیم دقیق تر تعدادمقایسه ها رو بدست اوریم در بدترین حالت داریم
در ادغام دو لیست اول [tex]\frac{n}{k}+\frac{n}{k}-1=\frac{2n}{k}-1[/tex] مقایسه
در گام بعدی [tex]\frac{2n}{k}+\frac{n}{k}-1=\frac{3n}{k}-1[/tex] (یک لیست [tex]\frac{n}{k}[/tex]عنصری و [tex]\frac{2n}{k}[/tex])
در گام بعدی [tex]\frac{3n}{k}+\frac{n}{k}-1=\frac{4n}{k}-1[/tex]
.
.
در گام اخر[tex]\frac{(k-1)n}{k}+\frac{n}{k}-1=\frac{kn}{k}-1[/tex]
پس جمع کل مقایسه ها در بدترین حالت برابر با
[tex](\frac{2n}{k}+\frac{3n}{k}+...+\frac{kn}{k})-(k-1)=\frac{n}{k}\: \ast\frac{k(k+1)}{2}-(k-1)=n\: \ast\frac{(k+1)}{2}\: -(k-1)=O(nk)[/tex]
در بهترین حالت هم(با همین ترتیب) در هر ادغام [tex]\frac{n}{k}[/tex] مقایسه انجام می شودو در کل هم [tex](k-1)[/tex] ادغام داریم پس در بهترین حالت تعداد
[tex]\frac{(k-1)n}{k}[/tex] مقایسه نیاز است (اینجا می توانید k=1 بگیرید.)چون [tex]\frac{(k-1)}{k}[/tex] مقداری بین ۰ , ۱ است چه ثابت باشدچه متغیر می توانیم بهترین حالت را از مرتبه[tex]O(n)[/tex] بدانیم
نقل قول این ارسال در یک پاسخ

ارسال:
  

ali.majed.ha پاسخ داده:

RE: مهندسی نرم افزار - سراسری ۹۱

(۲۷ فروردین ۱۳۹۶ ۱۲:۵۰ ق.ظ)msour44 نوشته شده توسط:  سلام
دوست گرامی برای K=1 یکی از بهترین حالت ها اتفاق می افتد ولی در سوال مرتبه بدترین حالت مد نظر است.
و برای k=n حالا به هر صورتی که شکسته شده n تا لیست یک عنصری داریم بحث روی ادغام است در مرتب سازی ادغامی لیست جفت جفت (ممکن است در هر گام یک لیست تنها بماند) با هم ادغام می شوند و بعد حاصل انها هم جفت جفت . ولی در این سوال دو لیست اولیه با هم ادغام و بعد حاصل با لیست اولیه دیگرادغام و دوباره حاصل با لیست اولیه دیگر...
اگر بخواهیم دقیق تر تعدادمقایسه ها رو بدست اوریم در بدترین حالت داریم
در ادغام دو لیست اول [tex]\frac{n}{k}+\frac{n}{k}-1=\frac{2n}{k}-1[/tex] مقایسه
در گام بعدی [tex]\frac{2n}{k}+\frac{n}{k}-1=\frac{3n}{k}-1[/tex] (یک لیست [tex]\frac{n}{k}[/tex]عنصری و [tex]\frac{2n}{k}[/tex])
در گام بعدی [tex]\frac{3n}{k}+\frac{n}{k}-1=\frac{4n}{k}-1[/tex]
.
.
در گام اخر[tex]\frac{(k-1)n}{k}+\frac{n}{k}-1=\frac{kn}{k}-1[/tex]
پس جمع کل مقایسه ها در بدترین حالت برابر با
[tex](\frac{2n}{k}+\frac{3n}{k}+...+\frac{kn}{k})-(k-1)=\frac{n}{k}\: \ast\frac{k(k+1)}{2}-(k-1)=n\: \ast\frac{(k+1)}{2}\: -(k-1)=O(nk)[/tex]
در بهترین حالت هم(با همین ترتیب) در هر ادغام [tex]\frac{n}{k}[/tex] مقایسه انجام می شودو در کل هم [tex](k-1)[/tex] ادغام داریم پس در بهترین حالت تعداد
[tex]\frac{(k-1)n}{k}[/tex] مقایسه نیاز است (اینجا می توانید k=1 بگیرید.)چون [tex]\frac{(k-1)}{k}[/tex] مقداری بین ۰ , ۱ است چه ثابت باشدچه متغیر می توانیم بهترین حالت را از مرتبه[tex]O(n)[/tex] بدانیم

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



موضوع‌های مرتبط با این موضوع...
موضوع: نویسنده پاسخ: بازدید: آخرین ارسال
  علوم کامپیوتر شریف یا نرم افزار تهران؟ ۴L1R3Z4 ۴۴ ۲۸,۶۷۵ ۰۶ شهریور ۱۴۰۲ ۰۸:۱۲ ب.ظ
آخرین ارسال: moeinbahari
  جزوه خلاصه نکات مهم فصول ابتدایی درس مهندسی نرم افزار Happiness.72 ۱ ۳,۵۴۶ ۱۳ خرداد ۱۴۰۱ ۰۶:۲۸ ب.ظ
آخرین ارسال: M o h m m @ d
  مهندسی نرم افزار rh1995 ۰ ۱,۳۶۴ ۱۰ بهمن ۱۴۰۰ ۰۷:۰۹ ب.ظ
آخرین ارسال: rh1995
  مهندسی نرم افزار rh1995 ۰ ۱,۱۶۵ ۱۰ بهمن ۱۴۰۰ ۰۷:۰۸ ب.ظ
آخرین ارسال: rh1995
  آزمون دکتری نرم افزار و الگوریتم ۱۴۰۰ Seyyedab ۴۶ ۱۸,۶۵۲ ۰۹ مهر ۱۴۰۰ ۰۵:۳۷ ب.ظ
آخرین ارسال: Seyyedab
  فیلم های مهندسی نرم افزار خلیلی فر osouly ۰ ۱,۹۴۹ ۰۶ اردیبهشت ۱۴۰۰ ۰۴:۴۴ ب.ظ
آخرین ارسال: osouly
  کارنامه نهایی ازمون دکتری داخل سال ۱۳۹۲-گرایش نرم افزار انرژی مثبت ۶ ۹,۴۶۷ ۱۷ بهمن ۱۳۹۹ ۰۲:۲۷ ق.ظ
آخرین ارسال: hmaryam567
Heart نرم افزار رها بختیاری ۰ ۳,۰۳۵ ۰۵ بهمن ۱۳۹۹ ۰۲:۵۱ ب.ظ
آخرین ارسال: رها بختیاری
  متن به هم ریخته در نرم افزار Notepad HAMID3F ۱۵ ۲۱,۲۷۹ ۱۷ شهریور ۱۳۹۹ ۰۸:۲۶ ق.ظ
آخرین ارسال: rezasedghi100
  آزمون دکتری نرم افزار و الگوریتم ۹۹ Seyyedab ۱۱ ۵,۸۹۰ ۰۲ شهریور ۱۳۹۹ ۱۱:۰۳ ق.ظ
آخرین ارسال: Seyyedab

پرش به انجمن:

Can I see some ID?

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

Feeling left out?


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

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

Feeling left out?


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