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

מתוך ויקיספר, אוסף הספרים והמדריכים החופשי
קפיצה לניווט קפיצה לחיפוש

דוגמא 1[עריכה]

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

def findmax(lst):
    sum = 0

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

    return sum

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

באופן דומה במקרה השני, הלולאה השנייה, תרוץ פעמים בהכרח ולכן סה"כ התכנית תרוץ .

דוגמה 2[עריכה]

פרק זה לוקה בחסר. אתם מוזמנים לתרום לוויקיספר ולהשלים אותו. ראו פירוט בדף השיחה.



דוגמה עם while  

דוגמה 3[עריכה]

מיון בחירה רץ .


def selection_sort(lst)
for i in range(len(lst)):
    min_index = i
    for j in range(i, len(lst)):
        if lst[min_index]>lst[j]:
            min_index=j
    lst[i], lst[min_index] = lst[min_index], lst[i]