1. التعريف
الترميز الرياضي الذي يصف الحد الأعلى لوقت التنفيذ أو استخدام مساحة الخوارزمية. يُشار إليه على أنه أو (f (n)) ، حيث f (n) هي وظيفة تمثل الوقت أو المساحة اعتمادًا على حجم الإدخال n .
2. الغرض
مقارنة الخوارزميات - : يسمح لك بمقارنة الخوارزميات المختلفة واختيار أكثر كفاءة لمشكلة معينة.
قابلية التوسع
: يساعد على التنبؤ بكيفية تصرف الخوارزمية عند زيادة كمية البيانات.
-
3. تحليل التعقيد
حالة أسوأ
: تشير إلى السيناريو حيث تستغرق الخوارزمية وقتًا أطول أو تستخدم المزيد من الموارد. كبير أو بشكل عام يشير إلى هذه الحالة.
- حالة أفضل وحالة متوسطة : على الرغم من أنها مهمة ، إلا أنها تستخدم بشكل أقل تواترا في O.
-
4. الفضاء مقابل. وقت
التعقيد المؤقت
: يشير إلى الوقت الذي يستغرقه تنفيذ خوارزمية.
التعقيد المكاني - : يشير إلى مقدار الذاكرة الإضافية التي تستخدمها. يمكنك الحصول على رموز مثل أو (1) (مساحة ثابتة) أو
- مثال:
استيراد TimeIt
استيراد matplotlib.pyplot كما plt
استيراد cprofile
# o (1)
DEF CONSTONT_TIME_OPERATION ():
العودة 42
# o (log n)
def logarithmic_time_operation (n):
العد = 0
بينما n> 1:
n // = 2
العد = 1
عودة عدد
# أو (ن)
def linear_time_operation (n):
المجموع = 0
لأني في المدى (ن):
المجموع = أنا
إجمالي العودة
# o (n log n)
def linear_logarithmic_time_operation (n):
إذا n
شكرًا لك على القراءة !!
Apóy لي التفاعل والرأي