שאלה 2: נתונה מחרוזת S מעל האלפבית Σ={a1,a2,…,an} נסמן ב-fi את שכיחות הופעתה של האות ai במחרוזת S.
סעיף א': (5 נקודות) נניח כי n≥2 היא חזקה של 2. הראו כי קיימת בחירה של שכיחויות לאותיות כך שהעץ המתאים לקוד התחיליות האופטימלי הוא עץ בינארי שלם, כלומר כל העלים בעץ באותו עומק.
סעיף ב': (5 נקודות) נניח כי מספר האותיות הוא n=7. להלן נתון מבנה של עץ בינארי מלא: [איור של עץ הושמט]
הציעו רשימת שכיחויות f1,…,f7 עבור האותיות כך שעץ זה יכול להיות העץ המייצג קוד תחיליות אופטימלי עבור שכיחויות אלו. נמקו בקצרה את בחירתכם. כתבו את השכיחויות על העץ עצמו.
סעיף ג': (15 נקודות) הוכיחו כי לכל עץ בינארי מלא עם n עלים קיימת רשימת שכיחויות שעבורה T הוא עץ קוד תחיליות אופטימלי.
(בונוס - 3 נקודות) סמנו את התשובה הנכונה: בעץ בינארי בעל n קודקודים פנימיים יש בהכרח n+1 עלים. נכון / לא נכון
העתק שאלה
שתף שאלה
סמן כחשוב
סמן כבוצע
אוניברסיטת בר-אילןמועד ב · 2024 · סמסטר ב
★★★★★
עצים בינארייםהוכחת נכונות
יהי T עץ בינארי. נאמר כי T סימטרי, אם העץ סימטרי ביחס לשורש העץ. הצע אלגוריתם לינארי המקבל כקלט עץ בינארי ומחזיר אמת אם העץ סימטרי, אחרת יחזיר שקר. הנח שלכל צומת בעץ יש רק 3 שדות מידע: מפתח (אין חשיבות למידע לפתרון הבעיה), מצביע לבן הימני ומצביע לבן השמאלי. לדוגמא, עבור העץ הבא האלגוריתם יחזיר אמת.
העתק שאלה
שתף שאלה
סמן כחשוב
סמן כבוצע
אוניברסיטת בר-אילןמועד ב · 2021 · סמסטר ב
★★★★★
עצים בינארייםרקורסיהסיבוכיותסיבוכיות זמן
כתוב אלגוריתם המקבל כקלט מצביע לשורש עץ בינארי כמעט שלם T, ומחזיר כפלט את מספר הצמתים d שיש להוסיף ברמה התחתונה של העץ T על מנת שיהיה עץ שלם. שימו לב, אם עץ הקלט שלם יוחזר הערך 0.
ניקוד מלא ינתן לאלגוריתם נכון שזמן הריצה שלו: O(h2) כאשר h גובה העץ T. ניקוד חלקי ינתן לאלגוריתם נכון שזמן ריצתו O(min(n,(d+1)h)). גם פתרון נכון שזמן ריצתו O(n) יזכה בנקודות, כאשר n את מספר הצמתים בעץ T (אבל פחות מהמקרים הקודמים שפורטו).
הנח שלכל צומת בעץ יש רק 3 שדות מידע: מפתח (אין חשיבות למידע לפתרון הבעיה), מצביע לבן הימני ומצביע לבן השמאלי. לדוגמא, עבור העץ הבא האלגוריתם יחזיר 1.
העתק שאלה
שתף שאלה
סמן כחשוב
סמן כבוצע
אוניברסיטת בר-אילןמועד א · 2020 · סמסטר ב
★★★★★
עצים בינארייםרקורסיהסיבוכיות זמןנוסחת נסיגה
ענה/י נכון/לא נכון לכל אחד מהסעיפים הבאים. מותר אך לא חובה לכתוב הסבר עד אורך של שורה לכל סעיף. א) לכל n קיים עץ חיפוש בינארי של n איברים שגובהו θ(n)
ב) ברשימה מקושרת באורך n כדאי לשמור גם מצביע לאיבר האמצעי, כי בהשקעה של O(1) שטח, קיבלנו אפשרות לבצע חיפוש בינארי. ג) באלגוריתם של Boyer & Moore בהגדרה של Δ2, נחפש לכל סיפא מופע מוקדם יותר, אך נדרוש שהאות הקודמת לסיפא תהיה שונה. אם נוריד דרישה זאת, האלגוריתם יכול לשגות. ד) בטבלת Hash בגודל 2500 הוכנסו 1000 איברים ע"י שימוש ב־Hashing Uniform. הזמן הממוצע לחיפוש מוצלח, כאשר לכל איבר שהוכנס הסתברות שווה להופיע בחיפוש, הוא 25ln35. ה) נתון B-tree מדרגה m שמכיל k איברים. אם נכניס איבר נוסף לעץ ובשלב הבא נבטל אותו, העץ שמתקבל אחרי ביצוע שתי הפעולות יהיה תמיד זהה לעץ ממנו יצאנו. ו) החסם התחתון למיזוג 2 סדרות ממוינות, אחת באורך n ואחת באורך 3 הוא n−2. ז) לכל n∈N קיים עץ AVL המכיל n קודקודים שסריקת ה־post-order שלו היא סדרה ממוינת. ח) בכל רשימה מקושרת, קיים איבר אליו ניתן לגשת ב־O(1) זמן. ט) לכל n∈N קיים עץ בינארי המכיל בדיוק n עלים ו־2n קודקודים פנימיים. י) זמן חיפוש איבר ברשימת דילוגים (skip-list) הוא O(n) במקרה הגרוע.
העתק שאלה
שתף שאלה
סמן כחשוב
סמן כבוצע
אוניברסיטת בר-אילןמועד א · 2018 · סמסטר ב
★★★★★
עץ חיפוש בינארירשימות מקושרותחיפוש בינאריאלגוריתמיםטבלאות גיבובעצי Bמיוןחסם תחתון למיוןעצי AVLעצים בינארייםסיבוכיות זמן
הוכח/י או הפרך/י את הטענות הבאות לגבי קביעת צורת העץ ע"י הסדרה שמתקבלת ממעבר postorder, והדגם/י את תשובתך לכל אחד מהסעיפים, אם אפשר, עבור הסדרה
S=36754812141311101917
א) לכל סדרה S של n ערכים שונים, קיים בדיוק עץ בינרי אחד שבמעבר postorder על קדקודי העץ מתקבלת הסדרה S. ב) לכל סדרה S של n ערכים שונים, קיים בדיוק עץ חיפוש בינרי אחד שבמעבר postorder על קדקודי העץ מתקבלת הסדרה S. ג) לכל סדרה S של n ערכים שונים, קיים בדיוק עץ AVL אחד שבמעבר postorder על קדקודי העץ מתקבלת הסדרה S.
העתק שאלה
שתף שאלה
סמן כחשוב
סמן כבוצע
אוניברסיטת בר-אילןמועד ב · 2018 · סמסטר ב
★★★★★
עצים בינארייםעץ חיפוש בינאריעצי AVL
(20 נקודות) צייר את עץ ה AVL עבור סדרת הנתונים הבאים (מימין לשמאל): 5, 20, 7, 6, 1. תאר את התהליך.
העתק שאלה
שתף שאלה
סמן כחשוב
סמן כבוצע
אוניברסיטת בר-אילןמועד א · 2017 · סמסטר ב
★★★★★
עצי AVLעץ חיפוש בינאריעצים בינארייםמעקב אחר אלגוריתם
יהי T עץ בינארי עם n צמתים. נסמן ב־Lv את תת העץ ששורשו הבן השמאלי של v ונסמן ב־Rv את העץ ששורשו הבן הימני של v. קודקוד יקרא 'מאוזן' אם מתקיים התנאי הבא: ∣∣Lv∣−∣Rv∣∣≤5 כאשר ∣X∣ מסמן את מספר הקודקודים בעץ X. כתוב/י אלגוריתם יעיל למציאת כל הקודקודים v בעץ T שהם עצמם אינם מאוזנים, אבל כך שכל צאצאיהם כן מאוזנים. מה הסיבוכיות של האלגוריתם?
העתק שאלה
שתף שאלה
סמן כחשוב
סמן כבוצע
אוניברסיטת בר-אילןמועד ב · 2016 · סמסטר ב
★★★★★
עצים בינארייםרקורסיהסיבוכיות זמןסיבוכיות מקוםDFS
א) צייר/י עץ שעבור ב inorder וב postorder יתנו את הסדרות LFGKCNAIJDMEHB ו- BGLFIKACNHJEMD בהתאמה. ב) מה הסדרה שתתקבל ממעבר preorder על עץ זה? ג) האם ניתן לקבוע את העץ על סמך מעברי preorder ו- postorder? הראה/י איך לעשות זאת או תן/י דוגמא נגדית.
העתק שאלה
שתף שאלה
סמן כחשוב
סמן כבוצע
אוניברסיטת בר-אילןמועד א · 2016 · סמסטר ב
★★★★★
עצים בינארייםעץ חיפוש בינארי
שאלות עצים בינאריים במבני נתונים עם פתרונות
שאלות תרגול במבני נתונים בנושא עצים בינאריים ממבחנים של אוניברסיטת בר-אילן. השאלות ממוינות לפי רמת קושי, עם פתרונות לבדיקה עצמית - כך שניתן ללמוד מטעויות ולהבין את דרך הפתרון לפני הבחינה. ניתן לאתר שאלות חוזרות ולהריץ מבחני סימולציה ממוקדים בנושא עצים בינאריים.