المساعد الشخصي الرقمي

مشاهدة النسخة كاملة : تعقيد خوارزميات الفرز مهمة جدا .....


Golden man
05-31-2008, 03:26 PM
خوارزمية الفرز الفقاعي:
تعقيدها في كل الأحوال n*n ،(الأفضل و العشوائية و الأسوأ).
لأنه سوف يقارن كل عنصر من n عنصر مع بقية العناصر (n).

خوارزمية الفرز بالإقحام:
- أحسن حالة : عندما تكون المصفوفة مفروزة و يكون تعقيدها n لأنه يقوم فقط بالمرور على كل عنصر من عناصر المصفوفة و لا يدخل بحلقة الإقحام.
- أسوأ حالة : عندما تكون المصفوفة مفروزة بالعكس و يكون تعقيدها n*n لأنه في هذه الحالة سوف يقوم لإقحام كل عنصر من n عنصر إلى إزاحة n عنصر بفرض أن مكان الإقحام دوما في البداية (في حالة المصفوفة المفروزة عكسيا).

خوارزمية الفرز بالدمج :
تعقيدها في كل الأحوال هو:

n*ln(n)

و ذلك حسب الشجرة العودية التالية:
914
حيث أن تعقيد كل سطر من هذه الشجرة هو n (مبينة يعني جمعوهم على قولة صاحبيExecutioner ) و عدد هذه الأسطر (كمان مبينة على قولة نفس الزلمة) هو من الدرجة لوغاريتم n و ذلك لأنه في كل سطر يقسم كل قسم من الأقسام السابقة إلى قسمين و بذلك يكون عدد هذه التقسمات من الدرجة لوغاريتم n .

و بضرب الطول بالعرض ينتج لدينا أن تعقيد هذه الشجرة (الخوارزمية ) هو من الدرجة :

n*ln(n)


خوارزمية الفرز السريع:
-أفضل حالة: و هي عندما ينتخب الـ pivote في محور المصفوفة أي منتصفها, و ذلك حسب الشجرة العودية المذكورة أعلاه في الفرز بالدمج.
-أسوأ حالة: عندما ينتخب الـ pivote كأصغر أو أكبر عنصر (هيك بده معلمي و أستاذي Executioner) فيكون تعقيد الخوارزمية من الدرجة n*n (الرسمة موجودة بالبوربوينت الخاص بالأستاذ).

و أخيرا خلصناااااااااااااااااااااااااا هف.