فرز الدمج والإدراج
في علم الحاسوب ، تُعدّ خوارزمية فرز الدمج والإدراج، أو خوارزمية فورد-جونسون، خوارزمية فرز مقارنة نُشرت عام 1959 على يد إل آر فورد الابن وسيلمر إم جونسون . [ 1 ] [ 2 ] [ 3 ] [ 4 ] تستخدم هذه الخوارزمية عددًا أقل من المقارنات في أسوأ الحالات مقارنةً بأفضل الخوارزميات المعروفة سابقًا، وهما فرز الإدراج الثنائي وفرز الدمج . [ 1 ] ولعشرين عامًا، كانت خوارزمية الفرز الأقل استخدامًا للمقارنات. [ 5 ] وعلى الرغم من عدم أهميتها العملية، إلا أنها لا تزال ذات أهمية نظرية فيما يتعلق بمشكلة الفرز بأقل عدد ممكن من المقارنات. [ 3 ] ويُحتمل أن يكون ستانيسواف تريبولا وتشين بينغ قد اكتشفا هذه الخوارزمية بشكل مستقل . [ 4 ]

الخوارزمية
تُنفّذ خوارزمية فرز الدمج والإدراج الخطوات التالية على المدخلاتلالعناصر: [ 6 ]
- قم بتجميع عناصرداخلأزواج من العناصر، بشكل عشوائي، مع ترك عنصر واحد غير مقترن إذا كان هناك عدد فردي من العناصر.
- يؤديإجراء مقارنات، واحدة لكل زوج، لتحديد العنصر الأكبر من بين العنصرين في كل زوج.
- فرز بشكل متكررالعناصر الأكبر من كل زوج، مما يؤدي إلى إنشاء تسلسل مُرتبلمن عناصر الإدخال، بترتيب تصاعدي، باستخدام فرز الدمج والإدراج.
- أدرج في بدايةالعنصر الذي تم إقرانه بالعنصر الأول والأصغر من.
- أدخل المتبقيعناصر منداخل، واحدة تلو الأخرى، مع ترتيب إدخال مُختار خصيصًا وموصوف أدناه. استخدم البحث الثنائي في التسلسلات الفرعية من(كما هو موضح أدناه) لتحديد الموضع الذي يجب إدخال كل عنصر فيه.
تم تصميم الخوارزمية للاستفادة من حقيقة أن عمليات البحث الثنائي المستخدمة لإدراج العناصر فيتكون هذه الطريقة أكثر كفاءة (من منظور تحليل أسوأ الحالات) عندما يكون طول التسلسل الفرعي الذي يتم البحث فيه أقل بواحد من قوة العدد اثنين . وذلك لأنه، بالنسبة لهذه الأطوال، تستخدم جميع نتائج البحث نفس عدد المقارنات. [ 1 ] لاختيار ترتيب إدخال يُنتج هذه الأطوال، ضع في اعتبارك التسلسل المُرتب.بعد الخطوة الرابعة من المخطط أعلاه (قبل إدراج العناصر المتبقية)، ودعيشير إلىالعنصر رقم n من هذه المتسلسلة المرتبة. وبالتالي،
حيث كل عنصرمعيقترن بعنصرلم يتم إدراجها بعد. (لا توجد عناصر)أولأنو(تم إقرانهم مع بعضهم البعض.) إذاإذا كان العدد فرديًا، فيجب ترقيم العنصر المتبقي غير المزدوج أيضًا على النحو التالي:معأكبر من مؤشرات العناصر المزدوجة. بعد ذلك، يمكن توسيع الخطوة الأخيرة من المخطط أعلاه إلى الخطوات التالية: [ 1 ] [ 2 ] [ 3 ] [ 4 ]
- قسّم العناصر غير المدرجةإلى مجموعات ذات مؤشرات متجاورة. هناك عنصرانوفي المجموعة الأولى، ومجموع أحجام كل مجموعتين متجاورتين يُشكّل متتالية من قوى العدد اثنين. وبالتالي، فإن أحجام المجموعات هي: ٢، ٢، ٦، ١٠، ٢٢، ٤٢، ...
- رتب العناصر غير المُدرجة حسب مجموعاتها (من الفهارس الأصغر إلى الفهارس الأكبر)، ولكن داخل كل مجموعة، رتبها من الفهارس الأكبر إلى الفهارس الأصغر. وهكذا، يصبح الترتيب
- استخدم هذا الترتيب لإدراج العناصرداخللكل عنصراستخدم البحث الثنائي منذ البدايةحتى (ولكن ليس شاملاً)لتحديد مكان الإدخال.
تحليل
يتركيشير إلى عدد المقارنات التي يجريها فرز الدمج والإدراج، في أسوأ الحالات، عند الفرز.العناصر. يمكن تقسيم هذا العدد من المقارنات إلى مجموع ثلاثة حدود:
- المقارنات بين أزواج العناصر،
- المقارنات الخاصة بالاستدعاء التكراري، و
- عدد من المقارنات لعمليات الإدخال الثنائية المستخدمة لإدخال العناصر المتبقية.
في الحد الثالث، يكون أسوأ عدد للمقارنات لعناصر المجموعة الأولى هو اثنان، لأن كل عنصر يُدرج في سلسلة فرعية منبطول لا يتجاوز ثلاثة. أولاً،يتم إدراجها في التسلسل الفرعي المكون من ثلاثة عناصر. ثم،يتم إدخالها في أحد التبديلات لتسلسل العناصر الثلاثةأو في بعض الحالات إلى التسلسل الفرعي المكون من عنصرينوبالمثل، العناصرويتم إدخال كل عنصر من المجموعة الثانية في سلسلة فرعية لا يزيد طولها عن سبعة، باستخدام ثلاث مقارنات. وبشكل عام، فإن أسوأ عدد للمقارنات للعناصر فيالمجموعة هيلأن كل منها يُدرج في سلسلة فرعية طولها على الأكثر[ 1 ] [ 2 ] [ 3 ] [ 4 ] من خلال جمع عدد المقارنات المستخدمة لجميع العناصر وحل علاقة التكرار الناتجة ، يمكن استخدام هذا التحليل لحساب قيم، مما يعطي الصيغة [ 7 ]
أو، بصيغة مغلقة ، [ 8 ]
لعدد المقارنات هو [ 1 ]
العلاقة بأنواع المقارنة الأخرى
تُسمى هذه الخوارزمية فرز الدمج والإدراج لأن المقارنات الأولية التي تُجريها قبل استدعائها التكراري (مُزاوجة العناصر العشوائية ومقارنة كل زوج) تُشابه المقارنات الأولية لفرز الدمج ، بينما تتبع المقارنات التي تُجريها بعد الاستدعاء التكراري (باستخدام البحث الثنائي لإدراج العناصر واحدًا تلو الآخر في قائمة مُرتبة) نفس مبدأ فرز الإدراج . وبهذا المعنى، فهي خوارزمية هجينة تجمع بين فرز الدمج وفرز الإدراج. [ 9 ]
للمدخلات الصغيرة (حتى) عدد مقارناتها يساوي الحد الأدنى لترتيب المقارنة لـمع ذلك، بالنسبة للمدخلات الأكبر حجمًا، يكون عدد المقارنات التي تُجريها خوارزمية الدمج والإدراج أكبر من هذا الحد الأدنى. كما أن فرز الدمج والإدراج يُجري عددًا أقل من المقارنات مقارنةً بأعداد الفرز ، التي تحسب المقارنات التي يُجريها فرز الإدراج الثنائي أو فرز الدمج في أسوأ الحالات. وتتراوح أعداد الفرز بينو، مع نفس الحد الرئيسي ولكن بمعامل ثابت أسوأ في الحد الخطي ذي الرتبة الأدنى. [ 1 ]
فرز الدمج والإدراج هو خوارزمية الفرز التي تحتوي على أقل عدد ممكن من المقارنات لـالعناصر كلماوهي الأقل مقارنة بـ[ 10 ] [ 11 ] على مدى عشرين عامًا، كانت خوارزمية فرز الدمج والإدراج هي خوارزمية الفرز الأقل عددًا من المقارنات المعروفة لجميع أطوال المدخلات. ومع ذلك، في عام 1979، نشر جلين ماناشر خوارزمية فرز أخرى تستخدم عددًا أقل من المقارنات، وذلك للمدخلات الكبيرة بما يكفي. [ 3 ] [ 5 ] لا يزال من غير المعروف بالضبط عدد المقارنات اللازمة للفرز، لجميعلكن خوارزمية ماناشر وخوارزميات الفرز اللاحقة التي حطمت الأرقام القياسية استخدمت جميعها تعديلات على أفكار فرز الدمج والإدراج. [ 3 ]
مراجع
- 1 2 3 4 5 6 7 فورد، ليستر ر. الابن ؛ جونسون، سيلمر م. (1959)، "مسألة بطولة"، المجلة الرياضية الأمريكية الشهرية ، 66 (5): 387-389 ، doi : 10.2307/2308750 ، JSTOR 2308750 ، MR 0103159
- 1 2 3 ويليامسون، ستانلي جيل (2002)، "2.31 دمج الإدخال (فورد-جونسون)" ، التوافقية لعلوم الحاسوب ، كتب دوفر في الرياضيات، شركة كوريير، ص 66-68 ، ISBN 9780486420769
- 1 2 3 4 5 6 محمود، حسام م. (2011)، "12.3.1 خوارزمية فورد-جونسون" ، الفرز: نظرية التوزيع ، سلسلة وايلي في الرياضيات المتقطعة والتحسين، المجلد 54، جون وايلي وأولاده، الصفحات 286-288 ، ISBN 9781118031131
- 1 2 3 4 كنوت، دونالد إي. ( 1998)، "دمج الإدراج"، فن برمجة الحاسوب ، المجلد 3: الفرز والبحث ( الطبعة الثانية)، الصفحات 184-186
- 1 2 ماناشر، جلين ك. (يوليو 1979)، "خوارزمية فرز فورد-جونسون ليست مثالية"، مجلة ACM ، 26 (3): 441-456 ، doi : 10.1145/322139.322145
- ↑ رتب الوصف الأصلي لفورد وجونسون (1959) العناصر ترتيبًا تنازليًا. أما الخطوات المذكورة هنا فتعكس المخرجات، وفقًا للوصف الوارد في كنوت (1998) . تُجري الخوارزمية الناتجة المقارنات نفسها، ولكنها تُنتج ترتيبًا تصاعديًا بدلًا من الترتيب الأصلي.
- ↑ ينسب كنوت (1998) صيغة الجمع إلى أطروحة الدكتوراه التي قدمها أ. هاديان عام 1960. وقد سبق أن قدم فورد وجونسون (1959) صيغة التقريب .
- ↑ جاي، ريتشارد ك .؛ نوفاكوفسكي، ريتشارد ج. (ديسمبر 1995)، " مسائل شهرية غير محلولة، 1969-1995"، المجلة الرياضية الأمريكية الشهرية ، 102 (10): 921-926 ، doi : 10.2307/2975272 ، JSTOR 2975272
- ↑ كنوت (1998) ، ص 184: "بما أنه ينطوي على بعض جوانب الدمج وبعض جوانب الإدخال، فإننا نسميه دمج الإدخال ".
- ↑ بيتشارسكي، مارسين (2004)، "نتائج جديدة في فرز المقارنة الدنيا"، Algorithmica ، 40 (2): 133-145 ، doi : 10.1007/s00453-004-1100-7 ، MR 2072769
- ↑ بيتشارسكي، مارسين (2007)، "لا تزال خوارزمية فورد-جونسون غير مهزومة لأقل من 47 عنصرًا"، رسائل معالجة المعلومات ، 101 (3): 126-128 ، doi : 10.1016/j.ipl.2006.09.001 ، MR 2287331
- أنواع المقارنة
- 1959 في مجال الحوسبة
