• 0
Noze

ما هي خوارزمية الفرز الأسرع في حال المصفوفة مقلوبة

سؤال

السلام عليكم

اصحاب البرمجة و الخوارزميات

اتمنى ان تساعدوني بمعرفة اي خوارزمية من خوارزميات الفرز اسرع وافضل

من حيث الذاكرة والوقت

في حالت كانت المصفوفة lمعكوسة

اي تكون المصفوفة

a[0] = 6

a[1] = 5

a[2] = 4

a[3] = 3

a[4] = 2

a[5] = 1

a[6] = 0

وفي حال الاجابة اريد ان اعرف لماذا هذه الخوارزمية هي الافضل وشكرا

تم تعديل بواسطه Noze
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

2 إجابة على هذا السؤال .

  • 0

لو كانت المصفوفة معكوسة تماماً فيمكنك بكل بساطة عمل reverse لها في Linear Time ... لتصبح مرتبة تصاعدياً

أما لو كنت متأكد انها معكوسة لحد ما .. مثلاً 9 - 8 - 2 - 7 - 6 - 5 - 4 - 1 - 3 - 0

فيمكنك عمل reverse للمصفوفة أولاً لتصبح 0 - 3 - 1 - 4 - 5 - 6 - 7 - 2 - 8 - 9

ثم عمل Insertion Sort على المصفوفة الذي يعمل بشكل جيد إذا كانت مرتبة لحد ما

بصفة عامة Randomized Quick Sort يعطي أفضل النتائج ، بالذات أنه يمكن تحسينه و عمل Optimization بشكل كبير

كأن يتم ترتيب العناصر بإستخدام Insertion Sort مثلاً عندما يكونوا أصغر من عدد معين (20 كمجرد مثال لكن يجب عليك التجربة

بنفسك للحصول على افضل النتائج)

في كل الحالات ابتعد عن ال Bubble Sort تماماً

1

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

يعني لا استطيع ان استخدم خوارزميات الفرز اذا كانت معكوسة تمام

بدون استخدام ال Linear Time

انا اعلم ان ال Quick Sort هي الافضل ولكن في حال كانت معكوسة هل ال Quick هي الافضل ام ال Insertion sort ام خوارزميات للفرز اخرى

وشكرا

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

من فضلك سجل دخول لتتمكن من التعليق

ستتمكن من اضافه تعليقات بعد التسجيل



سجل دخولك الان

  • يستعرض القسم حالياً   0 members

    لا يوجد أعضاء مسجلين يشاهدون هذه الصفحة .