מהו ה-O הגדול של לולאת for?
מהו ה-O הגדול של לולאת for?

וִידֵאוֹ: מהו ה-O הגדול של לולאת for?

וִידֵאוֹ: מהו ה-O הגדול של לולאת for?
וִידֵאוֹ: Guidelines for Asymptotic Analysis (Part 1) 2024, נוֹבֶמבֶּר
Anonim

ה O גדול של א לוּלָאָה הוא מספר האיטרציות של ה לוּלָאָה למספר הצהרות בתוך לוּלָאָה . כעת על פי ההגדרה, ה O גדול צריך להיות O (n*2) אבל זה כן O (נ).

באופן דומה, אתם עשויים לשאול, מהי המורכבות של לולאת for?

מכיוון שאנו מניחים שהמשפטים הם O(1), הזמן הכולל עבור ה-for לוּלָאָה הוא N * O(1), שהוא O(N) בסך הכל. החיצוני לוּלָאָה מבצע N פעמים. כל פעם החיצוני לוּלָאָה מבצע, הפנימי לוּלָאָה מבצע M פעמים. כתוצאה מכך, האמירות בפנים לוּלָאָה בצע סך של N * M פעמים.

יתר על כן, מהו סימון Big O עם דוגמה? ה סימון O גדול מגדיר גבול עליון של אלגוריתם, הוא מגביל פונקציה רק מלמעלה. ל דוגמא , שקול את המקרה של מיון הכנסה. זה לוקח זמן ליניארי במקרה הטוב וזמן ריבועי במקרה הרע. אנו יכולים לומר בבטחה שמורכבות הזמן של מיון ההכנסה היא O (n^2).

פשוט כך, איך אתה מוצא את מורכבות הזמן של לולאת for?

לדוגמה מיון בחירה ומיון הכנסה כוללים O(n^2) מורכבות הזמן . O(התחבר) מורכבות זמן של א לוּלָאָה נחשב כ-O(Lon) אם ה לוּלָאָה משתנים מחולקים / מוכפלים בכמות קבועה. לדוגמה, לחיפוש בינארי יש O(Lon) מורכבות הזמן.

איך מחשבים את Big O?

ל חשב את Big O , אתה יכול לעבור על כל שורת קוד ולברר אם כן O (1), O (נ) וכו' ואז החזר את שלך תַחשִׁיב בסופו של דבר. למשל יכול להיות O (4 + 5n) כאשר ה-4 מייצג ארבעה מקרים של O (1) ו-5n מייצגים חמישה מקרים של O (נ).

מוּמלָץ: