مثال على ترميز بيغ أو (Big O)، حيث $f(x) \in O(g(x))$.
مثال على ترميز بيغ أو (Big O)، حيث $f(x) \in O(g(x))$.المؤلف: w:it:User:Fede_Reghe · الترخيص: Public domain · المصدر: ويكيميديا كومنز

تعقيد الخوارزميات

يتناول تعقيد الخوارزميات العلاقة بين حجم المدخلات وكمية الموارد التي تحتاجها الخوارزمية للمعالجة. يُعرّف هذا المفهوم بدالة عددية تمثل الزمن المستغرق كدالة في عدد العناصر n.11Algorithmic Complexityviterbi-web.usc.eduاذهب إلى المرجع ↓يُفتح في تبويب جديد يُقصد به قياس مدى سرعة أو بطء تنفيذ الخوارزمية عندما يزداد حجم البيانات المدخلة.22Algorithmic Complexitydevopedia.orgاذهب إلى المرجع ↓يُفتح في تبويب جديد يوضح أن التعقيد يعبّر عن تغير أداء الخوارزمية مع تغير حجم المدخلات، وهو بذلك معيار لكفاءة التنفيذ.33Day 1: Introduction to Algorithmic Complexitydev.toاذهب إلى المرجع ↓يُفتح في تبويب جديد في جوهره، يهدف إلى فهم كيف تتناسب متطلبات الموارد مع حجم المدخلات، ويُقسم إلى بعدين رئيسيين:

بهذا الشكل، يُستَخدم تعقيد الخوارزميات لتقييم ما إذا كانت الخوارزمية قابلة للتوسع وتستوفي معايير الكفاءة المطلوبة في التطبيقات العملية.22Algorithmic Complexitydevopedia.orgاذهب إلى المرجع ↓يُفتح في تبويب جديد33Day 1: Introduction to Algorithmic Complexitydev.toاذهب إلى المرجع ↓يُفتح في تبويب جديد

لماذا نقيس التعقيد

تُقاس تعقيدات الخوارزميات لتقدير أدائها وتحديد مدى فعاليتها في استهلاك موارد الحاسوب مثل الزمن والمساحة.55التعقيد Complexity - تمارين خوارزميات و هياكل البياناتharmash.comاذهب إلى المرجع ↓يُفتح في تبويب جديد هذا التقدير يُمكّن المطورين من اختيار الخوارزمية الأنسب عندما تتوفر عدة طرق لحل مسألة معينة، ما يضمن تحقيق أفضل استغلال للموارد المتاحة.55التعقيد Complexity - تمارين خوارزميات و هياكل البياناتharmash.comاذهب إلى المرجع ↓يُفتح في تبويب جديد

رمز O الكبير

رمز O الكبير (Big O) هو دالة رياضية تُستَخدم لتحليل تعقيد الخوارزمية من حيث الزمن والمساحة عندما يزداد حجم المدخلات.66الخوارزميات - تدوين Big Oae.linkedin.comاذهب إلى المرجع ↓يُفتح في تبويب جديد يُفضَّل هذا المقياس لأنه يعبّر عن الحالة التي تمثل الحد الأقصى للمدخلات، أي ما يُعرف بالحالة الأسوأ.77كفاءة الخوارزميات والـ Big-Okholoodtechnotes.netاذهب إلى المرجع ↓يُفتح في تبويب جديد بهذه الصيغة يمكن تمثيل التعقيد بأشكال رمزية مثل O(n) التي تدل على أن زمن التنفيذ يزداد خطيًا مع عدد العناصر.77كفاءة الخوارزميات والـ Big-Okholoodtechnotes.netاذهب إلى المرجع ↓يُفتح في تبويب جديد تحليل Big O يصف كيف يتغير استهلاك الشيفرة مع زيادة عدد العناصر التي تُعالجها، ويصنّف الشيفرة في مرتبة تُعطي فكرة عامة عن الوقت المطلوب.88ترميز Big O وحساب مراتب تعقيد الخوارزمياتacademy.hsoub.comاذهب إلى المرجع ↓يُفتح في تبويب جديد تُستَخدم هذه المراتب لتوجيه اختيار الخوارزمية المناسبة بين بدائل متعددة لحل نفس المشكلة.66الخوارزميات - تدوين Big Oae.linkedin.comاذهب إلى المرجع ↓يُفتح في تبويب جديد

وبالتالي، يُعدّ رمز O الكبير أداة تحليلية أساسية تساعد المطورين على اتخاذ قرارات مدروسة حول الأداء والهيكلية دون الاعتماد على تعقيد غير مبرر.66الخوارزميات - تدوين Big Oae.linkedin.comاذهب إلى المرجع ↓يُفتح في تبويب جديد99Big-O بدون تعقيد | كود هابcodehub.monsterاذهب إلى المرجع ↓يُفتح في تبويب جديد

التعقيد الزمني

يُعَدُّ التعقيد الزمني هو المعيار الأساسي لتقييم كفاءة الخوارزمية عندما تُطبق على أكبر حجم ممكن من المدخلات، وغالبًا ما يُقاس في أسوأ الحالات لتوفير حدٍّ أقصى للموارد المستهلكة.10102-Complexity Algo | PDFscribd.comاذهب إلى المرجع ↓يُفتح في تبويب جديد معرفة هذا الحدّ في أسوأ الحالات تُصبح ضرورية في تطبيقات خاصة حيث لا يمكن تحمل أي تجاوز في الزمن أو الذاكرة.10102-Complexity Algo | PDFscribd.comاذهب إلى المرجع ↓يُفتح في تبويب جديد يُستَخدم الرمز Θ (Theta) للدلالة على التعقيد الزمني، فمثلًا الخوارزمية التي يُعطى تعقيدها Θ(n) تُصنَّف على أنها ذات تعقيد خطي يزداد بصورة مباشرة مع حجم المدخلات.1111دليل شامل عن تحليل تعقيد الخوارزمية - مقالات برمجة متقدمةacademy.hsoub.comاذهب إلى المرجع ↓يُفتح في تبويب جديد بالإضافة إلى Θ، تُستَخدم الصيغة O (Big‑O) لتحديد حدٍّ علوي يُظهر كيف يتصرف الزمن مع تزايد n، وهو ما يُستَخدم على نطاق واسع في مقارنة خوارزميات الفرز حيث غالبًا ما يُظهر O تحسينًا ملحوظًا على غيره.1212فهم تعقيد الوقت باستخدام تحليل بايثون | في كومin-com.comاذهب إلى المرجع ↓يُفتح في تبويب جديد

التعقيد المكاني

تحليل الخوارزميات يتضمن قياس مقدار الذاكرة التي تحتاجها الخوارزمية أثناء تنفيذها، وهو ما يُعرف بالتعقيد المكاني الذي يُعبَّر عنه عادةً بدلالة حجم المدخلات باستخدام رموز الـ Big‑O.1313تحليل وتصميم الخوارزميات: فهم أساسيات الحوسبة الفعالةmedelacademy.comاذهب إلى المرجع ↓يُفتح في تبويب جديد تُستَخدم هذه الصياغة لتحديد كمية الذاكرة الإضافية المطلوبة بخلاف مساحة الإدخال نفسها، ما يساعد على مقارنة كفاءة الخوارزميات في استهلاك الموارد. في كثير من المصادر تُصنَّف الخوارزميات بحسب تعقيدها المكاني، حيث يُظهر جدول على أحد المواقع أن خوارزميات فرز المصفوفات تتطلب مساحة من الدرجة O(n).1414Big-O Algorithm Complexity Cheat Sheet (Know Thy ...bigocheatsheet.comاذهب إلى المرجع ↓يُفتح في تبويب جديد

أمثلة شائعة

تستعمل ثلاثة رموز رياضية على نطاق واسع لتصنيف التعقيد الزمني للخوارزميات، حيث يحدد الرمز Θ (ثيتا) الحد الأعلى والحد الأدنى للدالة معًا، أي ما يُعرف بالحد الضيق أو التقدير الدقيق للوقت المستغرق.1515big o - 095556 - 093547 | PDFscribd.comاذهب إلى المرجع ↓يُفتح في تبويب جديد في الممارسات اليومية يُستشهد بجدول يضم تعقيدات الـ Big‑O للعديد من الخوارزميات الشائعة في علوم الحاسوب، ويُظهر أن كل من الزمن والمساحة يُقَدران عادةً بدوال من الدرجة n مثل O(n) في عمليات فرز المصفوفات.1414Big-O Algorithm Complexity Cheat Sheet (Know Thy ...bigocheatsheet.comاذهب إلى المرجع ↓يُفتح في تبويب جديد من بين الخوارزميات التي تُظهر سلوكًا غير متوقع في الأداء توجد خوارزميات المصفوفات التكرارية مثل طريقة التدرج المترافق (CG) وطريقة القيم الذاتية العامة (GMRES)، والتي رغم وصولها إلى النتائج الصحيحة قد تستغرق وقتًا أطول بصورة غير معتادة.1616Determining the algorithmic complexityscicomp.stackexchange.comاذهب إلى المرجع ↓يُفتح في تبويب جديد

جدول المقارنة

يُعَدُّ تعقيد الخوارزمية مقياسًا تقريبيًا للموارد الحاسوبية التي ستحتاجها الخوارزمية لمعالجة مدخلات بأحجام مختلفة، سواءً من حيث الزمن أو المساحة المستخدمة.1717What Is Algorithmic Complexity (or Computational Complexity ...jackkrupansky.medium.comاذهب إلى المرجع ↓يُفتح في تبويب جديد يُستَخدَمُ عادةً تمثيل “O الكبيرة” (Big‑O) لتصنيف هذه المتطلبات، حيث يوضح هذا الترميز حدود النمو للزمن والمساحة بحسب حجم البيانات المدخلة.1414Big-O Algorithm Complexity Cheat Sheet (Know Thy ...bigocheatsheet.comاذهب إلى المرجع ↓يُفتح في تبويب جديد على سبيل المثال، تُظهر إحدى القوائم المتاحة على الويب أن خوارزمية فرز المصفوفات تتطلب مساحة من الدرجة O(n).1414Big-O Algorithm Complexity Cheat Sheet (Know Thy ...bigocheatsheet.comاذهب إلى المرجع ↓يُفتح في تبويب جديد

أنظر أيضاً