يحكي مثال هذه المقالة اندماج وفرز ملخص خوارزمية فرز Java. شاركه للجميع للرجوع إليه. التحليل المحدد هو كما يلي:
تشير عملية الدمج (دمج) ، والمعروفة أيضًا باسم خوارزمية الاندماج ، إلى دمج تسللين تم فرزهما في عملية تسلسل. على غرار الفرز السريع ، دعونا نلقي نظرة على تنفيذ المدمج في Java.
يتم دمج الفرز (دمج) لدمج الجداول (أو أكثر) أو أكثر من جداول الطلب في ترتيب جديد ، أي تقسيم التسلسل المراد فرزه إلى عدة تسلسل ، وكل تسلسل لاحق منظم. ثم الجمع بين تسلسل الطلب في الترتيب العام.
دمج الفرز هو خوارزمية فرز فعالة تستند إلى عمليات الاندماج. هذه الخوارزمية هي تطبيق نموذجي للغاية للانقسام والقهر. دمج التسلسلات اللاحقة للحصول على تسلسل منظم تمامًا ؛ إذا تم دمج الجداول المطلوبة في جدول منظم ، يسمى 2-ROADS.
خوارزميات الفرز مستقرة ، وتتطلب الصفيف مساحة إضافية من O (N).
مبدأ العمل:
1. تقدم بطلب للحصول على حجم التسلسل المصنفين.
2. تعيين مؤشرين ، والمواقف الأولية هي موضع البداية لتسلسلتين فرزتين ، على التوالي.
3. قارن العناصر التي أشار إليها المؤشران ، واختر عنصرًا صغيرًا نسبيًا في مساحة الدمج ، وحرك المؤشر إلى الموقع التالي
4. كرر الخطوة 3 حتى يصل المؤشر إلى نهاية التسلسل
5. انسخ جميع العناصر المتبقية في التسلسل الآخر مباشرة إلى ذيل تسلسل الاندماج
تنفيذ الكود:
////////////////////////// سنوات طويلة [] مساحة العمل = NEW LONG [NELEMS] ؛ [] مساحة العمل ، int ، int أعلى) {if (lowerbound == stapterbound) {return ؛} {int mid = MID+ 1 ، APTERBOUND) ؛ ؛ +] = thearray [lowptr ++] ؛} آخر {مساحة العمل [j ++] = thearray [highptr ++] ؛} بينما (lowptr <= mid) {مساحة العمل [j ++] = thearray [lowptr ++] ؛ } بينما (Highptr <= upp erbound) {مساحة العمل [j ++] = thearray [highptr ++] ؛} لـ (j = 0 ؛ j <n ؛ j ++) {thearray [lowerbound+j] = workspace [j [j ] ؛}}
دمج الفرز هو نوع مستقر نسبيا. في ترتيب معلومات الإدخال.
من المأمول أن يكون هذا المقال مفيدًا لتصميم برنامج Java للجميع.