סיכום – לולאות שעברו אופטימיזציה
חלק מהיחידה לוגיקה וזרימת תוכנית במסלול ה-C# של Coddy. שיעור 17 מתוך 66.
אתגר
בינוניעליך לבצע אופטימיזציה של אלגוריתם חיפוש שמעבד מערך נתונים גדול. צור מתודה בשם OptimizeSearchAlgorithm ש:
- מקבלת מערך משונן של מספרים שלמים (
int[][]) וערך יעד כפרמטרים - מממשת ארבע גישות שונות למציאת ערך היעד:
- שימוש בלולאת for מסורתית ללא שמירת אורכי המערכים במטמון
- שימוש בלולאת for עם אורכי מערכים שמורים במטמון
- שימוש בלולאת foreach עם מונה
- שימוש במתודת עזר כדי לבדוק אם הערך תואם לערך היעד
- מחזירה את המספר הכולל של ההתאמות שנמצאו באמצעות הגישה שעברה אופטימיזציה (עם אורכים שמורים במטמון)
המתודה צריכה להדגים את כל טכניקות לשיפור לולאות שנלמדו בפרק הזה.
נסו בעצמכם
public class OptimizeSearchAlgorithm
{
public static int optimizeSearchAlgorithm(int[][] data, int target)
{
// כתבו כאן את הפתרון שלכם
}
// הוסיפו כל מתודת עזר שאתם צריכים
}כל השיעורים ביחידה לוגיקה וזרימת תוכנית
1מערכים רב־ממדיים
יסודות מערכים דו־ממדייםהכרזה ואתחול של מערכים דו־ממדייםגישה לאיברי מערך דו־ממדילולאות מקוננות עם מערכים דו־ממדייםמערכים משונניםפעולות מטריצה נפוצותחזרה – מערכים רב־ממדיים7אופרטורים לוגיים מתקדמים
הערכה בקיצור דרךאופרטורים לוגיים מותניםקדימות אופרטוריםסיכום – אופרטורים מתקדמים2קבלת החלטות מתקדמת
תנאים מרוביםלוגיקה בוליאנית מורכבתהשוואה בין If ל-Switchהצהרות Switch מקוננותסיכום — קבלת החלטות מתקדמת5טיפול בחריגות
יסודות try-catchסוגי חריגותבלוקי catch מרוביםעבודה עם קבציםבלוק finallyשימוש ב-using לעומת try-finallyחריגות מותאמות אישיתסיכום – טיפול בשגיאות3שיפורים בלולאות
ביצועי לולאותאיטרציה במבנים מורכביםכל אחד מסוגי הלולאותרפקטורינג של לולאותסיכום – לולאות שעברו אופטימיזציה6טיפול בערכי Null
יסודות הפניה ל-Nullטיפוסי ערכים שניתנים ל-Nullדפוסי בדיקת Nullתכנות הגנתיסיכום – בטיחות מול Nullתרגלו בעצמכם: קומפיילר C# אונליין