עץ סיפות – הבדלי גרסאות

תוכן שנמחק תוכן שנוסף
עיצוב
חם (שיחה | תרומות)
מ עיצוב
שורה 7:
* לכל הצמתים הפנימיים (פרט אולי לשורש) יש לפחות שני בנים.
 
כדי להבטיח קיום עץ כזה מוסיפים בסוף המחרוזת אות מיוחדת לסמן את סופה (ריפוד עם <code>$</code>.). הדבר מבטיח כי שום סיפה אינה רישה של סיפה אחרת. מספר העלים בעץ סיפה הוא n ומספר הצמתים הפנימיים הוא כל היותר n-1. בהינתן עץ סיפות מספר פעולות ניתנות לביצוע יעיל: מציאת תת-מחרוזת של S, מציאת תת-מחרוזת של S אפילוגם אם מספר טעויות מותרות, מציאת התאמות ל[[ביטוי רגולרי|ביטויים רגולריים]]. מבנה הנתונים מאפשר מימוש יעל של מספר אלגוריתמים, כמו מציאת תת-המחרוזת המשותפת הארוכה ביותר של שתי מחרוזות ושל אלגוריתם הדחיסה של [[אלגוריתם למפל-זיו|זיו ולמפל]] (בפרט LZ77).
 
עצי סיפות הומצאו ב-[[1973]] על ידי ווינר (Weiner) שאף הציע אלגוריתם לינארי לבניתם. שיפור נוסף הוצע על ידי מקרייט (McCreight) שהציע