20433 מבני נתונים1
6 נקודות זכות ברמה רגילה
שיוך: מדעים / מדעי המחשב
ידע קודם דרוש: הקורסים מבוא למדעי המחשב ושפת Java2 (או תכנות וניתוח נתונים בשפת פייתון 5), מתמטיקה בדידה: תורת הקבוצות, קומבינטוריקה ותורת הגרפים (או נושאים במתמטיקה לתלמידי מדעי החברה: פרקים בתורת הקבוצות, בלוגיקה ובאלגברה לינארית), חשבון דיפרנציאלי ואינטגרלי א.3 ידע קודם מומלץ: הקורס מבוא לסטטיסטיקה ולהסתברות לתלמידי מדעים (או מבוא לסטטיסטיקה לתלמידי מדעי החברה א או הסתברות ומבוא לסטטיסטיקה למדעי המחשב).4
פיתוח הקורס: פרופ' דוד הראל, פרופ' יהודית גל-עזר, פרופ' גיא קורצרס, פרופ' זאב נוטוב, ד"ר ג'ק וינשטיין, עפר ניימן; חוה ניומן (עריכה)
מטרת הקורס היא הכרת המושגים והשיטות הבסיסיים הנוגעים לפיתוח אלגוריתמים ומבני נתונים. בקורס יוגדרו קריטריונים פורמליים לניתוח של פתרון אלגוריתמי לבעיה נתונה.
ספר הקורס
הקורס מבוסס על הספר מבוא לאלגוריתמים (תרגום: ע' סופר, האוניברסיטה הפתוחה, 2010) שהוא תרגום 14 הפרקים הראשונים בספר:
T.H. Cormen, C.E. Leiserson, R.L. Rivest & C. Stein, Introduction to Algorithms, 2nd. ed. (MIT Press, 2001)
לספר הקורס נלווה מדריך למידה.
נושאי הקורס
-
יסודות מתמטיים: סימונים אסימפטוטיים
-
מיונים: מיון מהיר, מיון ערימה, מיון בזמן לינארי
-
מבני נתונים בסיסיים
-
טבלאות גיבוב
-
עצי חיפוש בינריים
-
עצי AVL
-
אלגוריתמים בגרפים: מושגים בסיסיים; סריקה לרוחב; מסלולים קצרים ביותר; עץ פורש מינימלי
לצד התרגילים העיוניים, הסטודנטים נדרשים להגיש גם מטלות תכנותיות.
1 להשלכות על צבירת נ"ז בשל חפיפה עם קורס(ים) אחר(ים), ראו פירוט החפיפה.
2 או שני הקורסים מבוא למדעי המחשב ושפת Java א (20453, 3 נ"ז) ומבוא למדעי המחשב ושפת Java ב (20454, 3 נ"ז).
מומלץ ללמוד את הקורס מבני נתונים (20433) בסמוך ללימוד קורס המבוא.
3 או הקורס חשבון דיפרנציאלי לתלמידי כלכלה וניהול (10142), למי שלומד לתואר בכלכלה ובמדעי המחשב – מערכות ויישומים.
4 דרושה בשלות מתמטית הנקנית על ידי לימוד הקורסים המתמטיים.
5 או יסודות התכנות בשפת Java שאינו מוצע עוד.