במדעי המחשב, רשימת דילוגים (skip list), הוא מבנה נתונים הממיין רשימת איברים באמצעות שימוש במספר רשימות מקושרות. שיטה זו מאפשרת ביצוע חיפוש בצורה יעילה יחסית.

Thumb
עובדות מהירות רשימת דילוגים, יצירה ...
רשימת דילוגים
יצירה
הומצא ב: 1989
ממציא: ויליאם פְּיוּ
סיבוכיות מקום וזמן
ממוצעבמקרה הגרוע
זיכרון:
O(n)O(n log n)
חיפוש:
O(log n)O(n)
הכנסה:
O(log n)O(n)
הוצאה:
O(log n)O(n)
סגירה

תיאור

רשימת דילוגים בנויה משכבות. השכבה התחתונה ביותר היא רשימה מקושרת רגילה, בה מופיעים כל האיברים במבנה הנתונים הנתון. האיברים מסודרים מהחוליה הקטנה ביותר לחוליה הגדולה ביותר. כל שכבה מוכלת בשכבה מתחתיה. ההסתברות שחוליה כלשהי, השייכת לרשימה בשכבה , תימצא גם ברשימה בשכבה היא 0.5. ככלל, סיכויו של איבר כלשהו להימצא בשכבה הוא , כשהשכבה התחתונה ביותר (אשר מכילה את כל האיברים) מיוצגת על ידי . כל איבר ברשימה מחזיק ארבעה מצביעים: לאיבר שאחריו ברשימה, לאיבר שלפניו, לאיבר הזהה ברשימה מתחתיו ולאיבר הזהה ברשימה מעליו (אם קיים).

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

היסטוריה

רשימת דילוגים הומצאה בשנת 1989 על ידי ויליאם פיו, פרופסור למדעי המחשב באוניברסיטת מרילנד. פיו סיפר כי ניסה למצוא תחליף ראוי לעצי חיפוש בינארים מאוזנים. רשימות דילוגים צורכות זמן ריצה אסימפטוטי זהה לעצים אלו, צורכות זיכרון מועט יותר, ולטענת פיו נוחות וקלות יותר לבנייה ושימוש.

קישורים חיצוניים

ויקישיתוף מדיה וקבצים בנושא רשימת דילוגים בוויקישיתוף

Wikiwand in your browser!

Seamless Wikipedia browsing. On steroids.

Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.

Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.