→ חזרה לעמוד הקודם
// סיכום וחומר לימוד

רשימות מיוחדות

מבני נתונים · 899271רשימות

רשימות מיוחדות

1. רשימה דו-כיוונית (Doubly Linked List)

ברשימה זו, לכל חוליה יש שני קישורים: אחד לזו שאחריה ואחד לזו שלפניה.

● היתרון: ניתן לנוע ברשימה בשני הכיוונים (קדימה ואחורה) מבלי לחזור כל פעם לראש הרשימה.

● המימוש באמצעות BinNode<T>: ○ GetRight() / SetRight() = הקישור לחוליה הבאה (Next). ○ GetLeft() / SetLeft() = הקישור לחוליה הקודמת (Prev).

● מקרי קצה: בחוליה הראשונה ה-Left הוא null, ובחוליה האחרונה ה-Right הוא null.

● שמירה על רצף: בביצוע שינויים (הוספה או מחיקה), יש לעדכן ארבעה מצביעים (שניים בחוליה החדשה/הנמחקת ושניים בחוליות השכנות).

2. רשימה מעגלית (Circular List)

רשימה שבה החוליה האחרונה מצביעה חזרה על החוליה הראשונה.

● ברשימה חד-כיוונית מעגלית: last.GetNext() == head.

● ברשימה דו-כיוונית מעגלית: * ה-Right של האחרון מצביע לראשון. ○ ה-Left של הראשון מצביע לאחרון.

● היתרון: ניתן להגיע לכל איבר מכל נקודה ברשימה.

● דגש לסריקה: בלולאת while, התנאי pos != null יגרום ללולאה אינסופית! יש לשמור את נקודת ההתחלה ולעצור כשחוזרים אליה.

עכשיו מתרגלים

תרגול בנושא רשימות

  1. תרגולרשימות מקושרות-תרגול
  2. תרגולתרגול ממבחנים חיצוניים
הורדת הקובץ המקוריPDF · רשימות מיוחדות