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

mergsort??

ارسال:
  

jafarir پرسیده:

Question mergsort??

سلام خدمت دوستان محترم
- در الگوریتم mergsort اگر بجای آنکه هر لیست به ۲ قسمت مساوی تقسیم شود ، به ۴ قسمت مساوی تقسیم گردد و در مرحله ی ترکیب این ۴ لیست در یکدیگر ادغام شوند ، تعداد صدا زدن در لیست زیر؟

۳۱۰,۲۸۵,۱۷۹,۶۵۲,۳۵۱,۴۲۳,۸۶۱,۲۵۴,۴۵۰,۵۲۰
نقل قول این ارسال در یک پاسخ

۰
ارسال:
  

nazaninzahra2 پاسخ داده:

RE: mergsort??

(۲۸ آذر ۱۳۹۱ ۰۹:۳۴ ق.ظ)jafarir نوشته شده توسط:  سلام خدمت دوستان محترم
- در الگوریتم mergsort اگر بجای آنکه هر لیست به ۲ قسمت مساوی تقسیم شود ، به ۴ قسمت مساوی تقسیم گردد و در مرحله ی ترکیب این ۴ لیست در یکدیگر ادغام شوند ، تعداد صدا زدن در لیست زیر؟

۳۱۰,۲۸۵,۱۷۹,۶۵۲,۳۵۱,۴۲۳,۸۶۱,۲۵۴,۴۵۰,۵۲۰

سلام
خوب چون شما فقط دنبال تعداد صدا زدن ها هستی رابطه بازگشتی شما میشود :
[tex]T(n)=4T(\frac{n}{4}) 1[/tex]
و در نظر بگیر که برای آرایه با یک عنصر فقط یک فراخوانی انجام میپذیرد.
حال تعداد عناصر لیست خودت رو بشمار که می شود ۱۰ عدد و بزار داخل رابطه بازگشتی و حسابش کن ...
نقل قول این ارسال در یک پاسخ

۰
ارسال:
  

m_sardaari پاسخ داده:

mergsort??

به نظرم یک راه دیگه بدون استفاده از فرمول اینه که به ازای هر باز خرد کردن تا رسیدن به تک عناصر یکبار فراخوانی و به ازای ادغام عناصر تکی تا رسیدن به ادغام کل عناصر در یک ارایه هر بار ادغام یکبار.
نقل قول این ارسال در یک پاسخ

ارسال:
  

jafarir پاسخ داده:

RE: mergsort??

(۲۸ آذر ۱۳۹۱ ۱۲:۳۹ ب.ظ)m_sardaari نوشته شده توسط:  به نظرم یک راه دیگه بدون استفاده از فرمول اینه که به ازای هر باز خرد کردن تا رسیدن به تک عناصر یکبار فراخوانی و به ازای ادغام عناصر تکی تا رسیدن به ادغام کل عناصر در یک ارایه هر بار ادغام یکبار.

شرمنده ، منظورتون اینه که ۱ فراخوانی به ازای کل عناصر آرایه ولی قسمت دومش رو متوجه نمیشم ، یعنی چی که هر بار ادغام یکبار؟؟؟
ممنون میشم توضیح بیشتر بدین
یافتن تمامی ارسال‌های این کاربر
نقل قول این ارسال در یک پاسخ

۰
ارسال:
  

avril22 پاسخ داده:

RE: mergsort??

به نظر من هم جواب M_sardaari درست هست چون اینجوری جواب دقیق بدست میاد نه با فرمول ،اما واسه تقسیم به ۴ هم من اشکال دارم دقیقا نمیدونم جواب چی میشه
نقل قول این ارسال در یک پاسخ

۰
ارسال:
  

m_sardaari پاسخ داده:

mergsort??

(۲۹ آذر ۱۳۹۱ ۰۹:۴۹ ق.ظ)jafarir نوشته شده توسط:  
(28 آذر ۱۳۹۱ ۱۲:۳۹ ب.ظ)m_sardaari نوشته شده توسط:  به نظرم یک راه دیگه بدون استفاده از فرمول اینه که به ازای هر باز خرد کردن تا رسیدن به تک عناصر یکبار فراخوانی و به ازای ادغام عناصر تکی تا رسیدن به ادغام کل عناصر در یک ارایه هر بار ادغام یکبار.

شرمنده ، منظورتون اینه که ۱ فراخوانی به ازای کل عناصر آرایه ولی قسمت دومش رو متوجه نمیشم ، یعنی چی که هر بار ادغام یکبار؟؟؟
ممنون میشم توضیح بیشتر بدین
هر بار که ارایه رو به ۴ قسمت تقسیم میکنیم یکبار فراخوانی.
هر بار که عناصر تک عضوی رو با هم ادغام میکنیم هم یکبار فراخوانی
البته این فراخوانی ها مربوط به رویه merge هستن و نه رویه merge sort .
و نکته ی دیگه ای که داره اگر برای مرتب سازی ادغامی ارایه رو به هر تعداد دسته ( ۲تایی.۵تایی .۱۰ تایی ...) تقسیم کنیم مرتبه این الگوریتم همون nlogn میمونه و تغییر نمیکنه که با تابع زمانیش قابل اثباته.یعنی اگر در تابع زمانی که دوستمون گذاشت به جا ۴ هر عدد دیگه ای بزاریم بازم مرتبه nlogn میشه.
نقل قول این ارسال در یک پاسخ



موضوع‌های مرتبط با این موضوع...
موضوع: نویسنده پاسخ: بازدید: آخرین ارسال
  الگوریتم mergsort(آی تی ۸۵) tarane1992 ۴ ۱,۹۵۲ ۱۸ آذر ۱۳۹۲ ۱۰:۲۹ ق.ظ
آخرین ارسال: MShariati
  تعداد مقایسه در الگوریتم mergsort tarane1992 ۲ ۱,۶۰۷ ۱۷ آذر ۱۳۹۲ ۰۹:۳۱ ب.ظ
آخرین ارسال: tarane1992

پرش به انجمن:

Can I see some ID?

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

Feeling left out?


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

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

Feeling left out?


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