Table of Contents
نوع Merge یک الگوریتم محبوب در مقایسه است که برای کارایی و عملکرد قابل پیش بینی آن شناخته شده است. درک چگونگی محاسبه تعداد مقایسه هایی که می تواند به بهینه سازی پیاده سازی و تجزیه و تحلیل عملکرد آن در سناریوهای مختلف کمک کند.
مفهوم پایه Merge مرتب
نوع merge یک آرایه را به زیرمجموعه کوچکتر تقسیم می کند، هر subarray را مرتب می کند و سپس آنها را با هم ادغام می کند.این عملیات هسته ای شامل مقایسه عناصر در طول فرآیند ادغام است که تعداد کل مقایسه های ساخته شده را تعیین می کند.
محاسبه در طول Merging
در طول مرحله ی ادغام، مقایسه ها زمانی رخ می دهند که عنصر کوچکتر را از دو نوع زیرمجموعه انتخاب کنند (برای هر جفت عنصر مقایسه شده، یک مقایسه محاسبه ی آن ها محاسبه می شود) اگر اندازه ی زیرآرتی (FLT:01 و n2] باشد، حداکثر تعداد مقایسه های مورد نیاز برای ادغام آنها [F4] است.
برآورد کلی مقایسه
تعداد کل مقایسه ها در نوع ادغام می تواند با تجزیه و تحلیل هر عمل ادغام شده در سراسر سطوح از بازگشت به اندازه (FLT:0، مقایسه های کلی تقریبا:
- [در این میان] [در این میان] [در برابر [و] [در میان] [مشرکان] [به طور متوسط و بدترین حالت [در این باره]، [[۱] [۲] [۲] [۳] [۱] [۲] [۳] [۱] [۱] [۲] [۱] [۱] [۱] [۳] [۱] [۲] [۳] [۳] [۳] [۳] [۳] [۳] [۲] [۳] [۳] [۱] [۱] [۲] [۲] [۲] [۳] [۳] [۲] [۳] [۳] [۱] [۱] [۳] [۳] [۳] [۳] [۳] [۳] [۳] [۳] [۳] [۳] [۳] [۳] [۳] [۳] [۳] [۳] [۳] [۳] [۳] [۳] [۳] [۱] [۳] [۱] [۳] [۳] [۳] [۲] [۲] [۳] [۳] [۲] [۲] [۲] [۳] [
- هر سطح از بازگشت شامل ادغام زیر موج، با مجموع مقایسه جمع آوری در تمام سطوح است.
- تعداد مقایسه ها در هر سطح دو برابر می شود زیرا پرتوهای زیرآر بزرگتر می شوند.
روش محاسباتی عملی Calculation Method
برای محاسبه مقایسه ها عملاً، فرآیند ادغام را شبیه سازی کرده یا از رابطه بازگشتی استفاده کنید:
(FLT:0 (n) = C ( ⁇ n/2 ⁇ ) + C ( ⁇ n/2 ⁇ ) + (n)
در جایی که [FLT1] مقایسه کامل برای یک آرایه از اندازه است [و این فرمول بازگشتی برای مقایسه در زیر تابش و در هنگام ادغام است.