פייתון/פייתון גרסה 3/סיבוכיות/סיבוכיות זמן/סיבוכיות ריבועית

מתוך testwiki
קפיצה לניווט קפיצה לחיפוש

דוגמא 1

נתבונן על הדוגמה הבאה:

def findmax(lst):
    sum = 0

    for i in lst:
        if i < 10:
            for j in range(len(lst)):
                sum+ = j

    return sum

במקרה זה, הלולאה הראשונה והתנאי במקרה הרעה ביותר ירוצו n פעמים, כאורך הרשימה.

באופן דומה במקרה השני, הלולאה השנייה, תרוץ n פעמים בהכרח ולכן סה"כ התכנית תרוץ o(n*n)=o(n2).

דוגמה 2

תבנית:להשלים

דוגמה עם while  

דוגמה 3

מיון בחירה רץ o(n2).

{{#lsth: פייתון/פייתון גרסה 3/מיון בחירה|דוגמה לקידוד}}