سورس مرتب سازی به روش Merge به زبان c++
سلام خدمت کاربران عزیز
در این پست میخوایم باز یک سورس بذاریم که بیشتر به درد دانشجویان عزیز میخوره رو برای دانلود قرار بدیم.
در این مطلب سورس پروژه مرتب سازی به روش merge رو برای دوستان آماده کردیم که به زبان c++ هست رو میتوانید به صورت کاملا رایگان دانلود کنید.
دانشجویان رشته مهندسی کامپیوتر معمولا تو درس برنامه نویسی که اکثرا برنامه نویسی c++ هست حتما این پروژه رو لازم دارند و یا برای درس های ساختمان داده که بحث مرتب سازی رو تو سرفصل های خودشون دارند خیلی به کارشون میاد .
یه توضیح کوچولو هم در مورد مرتب سازی merge بدیم :
مرتبسازی ادغام یک الگوریتم مرتبسازی تطبیقی با زمان اجرای n\lg n میباشد. در اکثر پیادهسازیها این الگوریتم پایدار میباشد. بدین معنی که این الگوریتم ترتیب ورودیهای مساوی را در خروجی مرتب شده حفظ میکند. این یک مثال از الگوریتم تقسیم و تسخیر میباشد. این الگوریتم در سال ۱۹۴۵ توسط جان فون نویمان اختراع شدهاست.
از نظر مفهومی یک الگوریتم مرتبسازی ادغام بدین صورت کار میکند:
اگر طول لیست ۰ یا ۱ باشد آن پیش از این مرتب شدهاست در غیر این صورت
لیست نامرتب را به دو زیرلیست که اندازهٔ آنها در حدود نصف سایز لیست اولیهاست تقسیم میکند.
هر زیرلیست را به طور بازگشتی با صدا کردن merge sort مرتب میکند.
دو تا دوتا زیر لیستها را از آخر ادغام میکند تا به یک لیست برسد.
مرتبسازی ادغام ۲ تا ایدهٔ اصلی را با هم ترکیب میکند تا زمان اجرایش تقویت شود.
یک لیست کوچک از گامهای کمتری برای مرتبکردن نسبت به یک لیست بزرگ استفاده میکند.
یرای مرتب کردن دو لیست مرتبشده نسبت به دو لیست نامرتب گامهای کمتری نیاز میباشد به عنوان مثال اگر این لیستها مرتب باشند شما مجبور هستید تا هر لیست را فقط یکبار پیمایش کنید.
دیدگاه کاربران
تعداد دیدگاه های کاربران : ۰ دیدگاه