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

תוכן שנמחק תוכן שנוסף
אין תקציר עריכה
שורה 8:
* לכל הצמתים הפנימיים (פרט אולי לשורש) יש לפחות שני בנים.
 
כדי להבטיח קיום עץ כזה מוסיפים בסוף המחרוזת אות מיוחדת לסמן את סופה (ריפוד עם <code>$</code>.). הדבר מבטיח כי שום סיפא אינה רישה של סיפא אחרת. מספר העלים בעץ סיפא הוא n ומספר הצמתים הפנימיים הוא כל היותר n-1.

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