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

سوال در مورد external merge-sort

ارسال:
  

infinity31 پرسیده:

سوال در مورد external merge-sort

در external merge sort و به طور خاص two-way merge sort ما در pass اول، همه صفحات رو یکی یکی می خونیم و مرتب می کنیم که این نیاز به فقط یک بافر داره.
در pass دوم، دو تا دوتا این صفحات مرتب شده رو مرج می کنیم. این جا با دو تا بافر ورودی و یک خروجی مشکل حل میشه، یعنی با یک بافر، صفحه اول، با بافر دیگه، صفحه دوم، و جواب مرج توی بافر خروجی.

حالا برای pass سوم که صفحاتی که باید مرج بشن ۲ صفحه ای هستن، چه طوری می تونیم با یک بافر ورودی یک دوصفحه ایِ مرتب شده رو با یکی دیگه مرج کنیم؟

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

۰
ارسال:
  

آرتا پاسخ داده:

RE: سوال در مورد external merge-sort

سلام .
اول اینکه اگه سوال شما مدتیه که جوابی بهش داده نشده و کسی نظری نداده مطمئن باشید دیده نشده و به آرشیو رفته. میتونستید با یه ارسال اون رو دوباره بالا بیارید تا اگه کسی باشه که بتونه کمکت کنه، سوالت رو ببینهSmile
دوما اعلام وجود و اینا چیه دوست من نوشتی Dodgy

در مورد سوالتون چون تجربشه نوشتنش رو دارم یکم توضیح میدم :

خب ببینید همونطوری که خودتون هم به نتیجه رسیدین دقیقا کار بافرها برای دریافت اطلاعات از فایل (که همون واحد های صفحه یا معمولترش همون بلاک هستش) و نوشتن اطلاعات خروجی مراحل الگوریتم در فایل هستش . در مورد الگوریتم two-way Ext Merge Sort هم بافرها نقش زیر رو دارند.

مرحله اول خب کاملا معلومه شما هر صفحه رو میاری تو حافظه (توسط یک بافر ورودی) و اعدد داخلش رو مرتب میکنی (فرض ۳ تا عدد داخل هر صفحه قرار گرفته) و دوباره این صفحه مرتب شده رو میریزی رو فایل (توسط یک بافر خروجی )

مرحله دوم چون شما هر صفحه رو جداگانه مرتب کردی پس مجبوری یه واحد بالاتر یعنی دو تا صفحه رو با هم بیاری تو حافظه و مقایسه و مرتبشون کنی
پس : ابتدا صفحه اول بعد صفحه دوم رو میاری تو حافظه (اعداد داخل هر دو صفحه مرتب شده هستند) حالا با همون الگوریتم merge این ۶ تا عدد متعلق به دو صفحه رو باید مرتب کنی . فقط نکته ای رو که باید توجه کنیم اینه که چون ما واحد انتقالمون صفحه هستش پس وقتی ترتیب ۳ تا عدد رو (توسط الگوریتم merge) از این ۶ تا عدد به دست آوردیم همون لحظه بافر خروجی رو روی فایل درون یه صفحه ذخیره میکنیم (به این نکته هم باید توجه داشت که هر عددی که در طی الگوریتم merge انتخاب شد باید درون بافر/صفحه خروجی قرار گیرد) . بعد دوباره ترتیب ۳ عدد بعدی رو هم که به دست آوردیم اونا رو هم توی یه صفحه دیگه روی فایل مینویسیم . به این ترتیب تعداد بافر های (هم اندازه صفحات) مورد نیاز مرحله دوم الگوریتم ۳ تا هستش (۲ تا ورودی و ۱ خروجی)

مابقی کار رو هم فک کنم خودتون دیگه بلد باشید Wink

البته پیاده سازی مرحله دوم و در کل این الگوریتم یکم جزعی تر هست و حتی میشه با تغییرات روی اون خ کاراترش کرد(مثلا افزایش بافرها)، حالا اگه خواستین بگین تا بیشتر توضیح بدم ولی فک کنم با توجه به اینکه خودتون هم به نتیجه رسیدین همین توضیح کافی باشه . کلیتش همین بود که توضیح دادم

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

۰
ارسال:
  

infinity31 پاسخ داده:

سوال در مورد external merge-sort

سوالمو خودم الان فکر کنم می تونم جواب بدم.

این بافر صرفا برای انتقال استفاده میشه. می تونیم صفحه اول که مرتب میشه رو بفرستیم رو حافظه و بعد صفحه بعدی رو.

اگر موافقید اعلام کنید(یا حداقل اعلام وجود کنید :دی)
نقل قول این ارسال در یک پاسخ

۰
ارسال:
  

azad_ahmadi پاسخ داده:

سوال در مورد external merge-sort

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

۰
ارسال:
  

nazanin2020 پاسخ داده:

RE: سوال در مورد external merge-sort

این موضوع هم جز سرفصل ارشده؟ BlushCool
من که اولین باره میبینم
نقل قول این ارسال در یک پاسخ

ارسال:
  

infinity31 پاسخ داده:

RE: سوال در مورد external merge-sort

(۱۳ دى ۱۳۹۳ ۱۲:۳۷ ق.ظ)nazanin2020 نوشته شده توسط:  این موضوع هم جز سرفصل ارشده؟ BlushCool
من که اولین باره میبینم

خیر جزو سرفصل درس پایگاه داده م در دانشگاه بود (دکتر شاکری، دانشگاه تهران).
یافتن تمامی ارسال‌های این کاربر
نقل قول این ارسال در یک پاسخ

ارسال:
  

nazanin2020 پاسخ داده:

RE: سوال در مورد external merge-sort

ممنون Smile
واقعا دیدمش موندم این از کجا اومده Big Grin
یافتن تمامی ارسال‌های این کاربر
نقل قول این ارسال در یک پاسخ



موضوع‌های مرتبط با این موضوع...
موضوع: نویسنده پاسخ: بازدید: آخرین ارسال
  سوال در مورد صفحه بندی در سیستم عامل Azadam ۱ ۱,۸۴۱ ۱۳ دى ۱۴۰۰ ۱۱:۰۴ ق.ظ
آخرین ارسال: Azadam
  دو سوال در مورد درخت BST(درخت جستجوی دودویی) امیدوار ۳ ۵,۶۰۱ ۱۰ دى ۱۳۹۹ ۱۲:۰۴ ق.ظ
آخرین ارسال: marzi.pnh
  سوال در مورد سهمیه رتبه اولی rezamim2020 ۰ ۲,۲۳۱ ۱۶ شهریور ۱۳۹۹ ۰۴:۳۵ ب.ظ
آخرین ارسال: rezamim2020
  سوال در مورد دروس جبرای و چارت ارشد کامپیوتر/هوش دانشگاه تهران imali ۱ ۳,۲۳۵ ۰۴ مهر ۱۳۹۸ ۰۱:۴۶ ق.ظ
آخرین ارسال: marvelous
  سوال در مورد منبع و دروس آزمون استخدامی mostafa272 ۳ ۴,۹۳۷ ۰۱ تیر ۱۳۹۷ ۱۲:۰۷ ق.ظ
آخرین ارسال: majidnourirad10
  سوال در مورد دانشگاه آزاد قزوین, ارشد شبکه های کامپیوتری networki ۰ ۲,۶۷۴ ۲۱ خرداد ۱۳۹۷ ۱۲:۵۳ ب.ظ
آخرین ارسال: networki
  سوال در مورد دانشگاه آزاد قزوین, ارشد شبکه های کامپیوتری networki ۰ ۲,۸۶۱ ۲۱ خرداد ۱۳۹۷ ۱۲:۴۴ ب.ظ
آخرین ارسال: networki
  سوال در مورد شهریه نوبت دوم شهید بهشتی و خوابگاه Shine_20 ۱ ۳,۶۷۷ ۱۵ خرداد ۱۳۹۷ ۰۷:۰۶ ب.ظ
آخرین ارسال: Iranian Wizard
  سوال مهم و فوری در مورد انتخاب رشته siiib70 ۲ ۴,۲۹۱ ۰۸ اردیبهشت ۱۳۹۷ ۰۵:۳۴ ب.ظ
آخرین ارسال: siiib70
Smile سوال در مورد دانشگاه وزارت اطلاعات Zzeynab ۰ ۲,۳۳۴ ۲۸ فروردین ۱۳۹۷ ۱۰:۲۳ ب.ظ
آخرین ارسال: Zzeynab

پرش به انجمن:

Can I see some ID?

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

Feeling left out?


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

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

Feeling left out?


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