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