תרגול 4 21/3/2007 מבני נתונים 07b ליאור שפירא. תזכורת – B-trees  לכל צומת x יש השדות הבאים n[x] מס ' מפתחות ב -x המפתחות עצמם בסדר לא יורד כל צומת פנימי.

Slides:



Advertisements
Similar presentations
Completeness and Expressiveness. תזכורת למערכת ההוכחה של לוגיקה מסדר ראשון : אקסיומות 1. ) ) (( 2. )) ) (( )) ( ) ((( 3. ))) F( F( ( 4. ) v) ( ) v ((
Advertisements

1 Data Structures, CS, TAU, RB-Tree1 עץ אדום-שחור  עץ חיפוש בינארי  בכל צומת ביט אינפורמציה נוסף - צבע  עץ “כמעט מאוזן”  (O(log n במקרה גרוע ביותר.
1 Formal Specifications for Complex Systems (236368) Tutorial #4 Refinement in Z: data refinement; operations refinement; their combinations.
1 Trees CLRS: chapter A hierarchical combinatorial structure הגדרה רקורסיבית: 1. צומת בודד. זהו גם שורש העץ. 2. אם n הוא צומת ו T 1 ….T K הינם עצים,
גרף מכוון Directed Graph a b c f g ed h צמתים חוג עצמי קשתות.
מתמטיקה בדידה תרגול 3.
Data Structures: Sorts, CS, TAU 1 שמושים ביישומים רבים יש n רשומות, לכל רשומה מפתח: K 1, …..,K n רוצים לסדר את הרשומות כך שהמפתחות לא בסדר יורד (יתכנו.
פעולות מילון Insert, Delete, Search Binary Search Tree, AVL, 2-3 Tree, Skip List O(log n) האם יש מבנה עם סבוכיות (1)O? לא למפתח כלשהו.
1 Data Structures, CS, TAU, RB-Tree1 עץ אדום-שחור  עץ חיפוש בינארי  בכל צומת ביט אינפורמציה נוסף - צבע  עץ “כמעט מאוזן”  (O(log n במקרה גרוע ביותר.
רקורסיות נושאי השיעור פתרון משוואות רקורסיביות שיטת ההצבה
תרגול 8 עצי B+ אינדקס משני.
חורף - תשס " ג DBMS, Design1 שימור תלויות אינטואיציה : כל תלות פונקציונלית שהתקיימה בסכמה המקורית מתקיימת גם בסכמה המפורקת. מטרה : כאשר מעדכנים.
עבודה סמינריונית Prelude to Ukkonen algorithm ON-LINE CONSTRUCTION OF SUFFIX TREES מגישים : עיד מוחמד טיבי פיראס.
חורף - תשס " ג DBMS, צורות נורמליות 1 צורה נורמלית שלישית - 3NF הגדרה : תהי R סכמה רלציונית ותהי F קבוצת תלויות פונקציונליות מעל R. R היא ב -3NF.
1 Trees CLRS: chapter A hierarchical combinatorial structure הגדרה רקורסיבית: 1. צומת בודד. זהו גם שורש העץ. 2. אם n הוא צומת ו T 1 ….T K הינם עצים,
2 Suffix Tree: Definition Suffix tree T על מחרוזת S שגודלה n, הוא עץ מכוון עם בדיוק n עלים ממוספרים מ -1 עד n. לכל צומת פנימית ( חוץ מהשורש ) יש לפחות.
1 Data Structures, CS, TAU, Splay Tree Splay Tree  מימוש של עץ חיפוש בינארי  מטרה לדאוג ל- Amortized Time  פעולה בודדת יכולה לקחת O(N)  אבל כל רצף.
1 Formal Specifications for Complex Systems (236368) Tutorial #5 Refinement in Z: data refinement; operations refinement; their combinations.
משפט ההרכבה Composition Theorem תהי C מחלקה של פונקציות בוליניות תהי נגדיר סדרת פונקציות שניתנות לחישוב בזמן פולינומיאלי.
בהסתברות לפחות למצא בעיה במודל PAC עבור בהסתברות ε הפונקציה f טועה מודל ONLINE 1. אחרי כל טעות הפונקציה משתפרת 2. מספר הטעיות קטן.
א " ב, מילים, ושפות הפקולטה למדעי המחשב אוטומטים ושפות פורמליות ( ) תרגיל מספר 1.
Data Structures, CS, TAU, Splay Tree 1 Splay Tree - עץ חיפוש בינארי - מטרה לדאוג ל - Amortized Time - פעולה בודדת יכולה לקחת O(N) - אבל כל רצף M פעולות.
א " ב, מילים, ושפות הפקולטה למדעי המחשב אוטומטים ושפות פורמליות ( ) תרגיל מספר 1.
תכנות תרגול 6 שבוע : תרגיל שורש של מספר מחושב לפי הסדרה הבאה : root 0 = 1 root n = root n-1 + a / root n-1 2 כאשר האיבר ה n של הסדרה הוא קירוב.
קובץ רב-אינדקס Multi-Indexed File
ערמות ; מבני נתונים 09 מבוסס על מצגות של ליאור שפירא, חיים קפלן, דני פלדמן וחברים.
מודל ONLINE לומדמורה 1. כל ניתן לחישוב בזמן פולינומיאלי 2. אחרי מספר פולינומיאלי של טעיות ( ) הלומד לא טועה ז"א שווה ל- Littlestone 1988.
א " ב, מילים, ושפות הפקולטה למדעי המחשב אוטומטים ושפות פורמליות ( ) תרגיל מספר 1.
תרגול 7 עצי B
2-3 trees עצי 3-2 ועצי דרגות Chapter 19: B trees (381 – 397) Chapter 15: Augmenting data structures (281 – 290) חומר קריאה לשיעור זה Lecture5 of Geiger.
ערכים עצמיים בשיטות נומריות. משוואה אופינית X מציין וקטור עצמי מציינת ערך עצמי תואם לוקטור.
שאלה 1 נתון כביש ישר עם תחנות דלק בנקודות , בנקודת המוצא נתונה מכונית עם תא דלק שמספיק ל-100 ק"מ. מחיר מילוי תא הדלק בתחנה.
1 ייצוג באמצעות עצים שונים מתוחכם רק לקבוצות גדולות (תקורה בפעולות ובתכנות!!!) עצי חיפוש בינאריים BINARY SEARCH TREES תחום סדור (> < =) תחום איברים גדול.
הפקולטה למדעי המחשב אוטומטים ושפות פורמליות (236353)
Ray 7 דוגמא אלגוריתם 1.קבל דוגמאות 2. פלט f a עבור הדוגמה a המינימלית החיובית ?
1 שמושים ביישומים רבים יש n רשומות, לכל רשומה מפתח: K 1,…..,K n רוצים לסדר את הרשומות כך שהמפתחות לא בסדר יורד (יתכנו כפולים) קריטריונים ליעילות: לא תמיד.
Data Structures, CS, TAU, Perfect Hashing 1 Perfect Hashing בעיה : נתונה קבוצה S של n מפתחות מתחום U השוואה ל - Hash : * טבלה קבועה (Hash רגיל - דינאמי.
1 Data Structures, CS, TAU, Perfect Hashing בעיה: נתונה קבוצה S של n מפתחות מתחום U השוואה ל- Hash : * טבלה קבועה (Hash רגיל - דינאמי) * רוצים זמן קבוע.
תזכורת : אלגברה ליניארית מסקנה קלט : וקטורים פלט : האם u תלוי ליניארית ב קלט : מערכת של n משואות לינאריות ב -m נעלמים. פלט : פתרון, או שאין כזה. אלגוריתם.
עצים מאוזנים הגדרה: משפחת עצים תקרא מאוזנת אם ,h(T) = O(log n) באשר T הוא עץ במשפחה, n הוא מספר הצמתים ב-T ו-h(T) הוא הגובה של T עצי (Adelson-Velsky,
מודל הלמידה מדוגמאות Learning from Examples קלט: אוסף של דוגמאות פלט: קונסיסטנטי עם פונקציה f ב- C ז"א קונסיסטנטי עם S ז"א מודל הלמידה מדוגמאות Learning.
עקרון ההכלה וההדחה.
יחס סדר חלקי.
מבוא למדעי המחשב תרגול 3 שעת קבלה : יום שני 11:00-12:00 דוא " ל :
מבוא למדעי המחשב, סמסטר א ', תשע " א תרגול מס ' 1 נושאים  הכרת הקורס  פסאודו - קוד / אלגוריתם 1.
Data Structures, CS, TAU, RB-Tree 1 עץ אדום-שחור - עץ חיפוש בינארי - בכל צומת ביט אינפורמציה נוסף - צבע « עץ “ כמעט מאוזן ” « (O(log n במקרה גרוע ביותר.
Markov Decision Processes (MDP) תומר באום Based on ch. 14 in “Probabilistic Robotics” By Thrun et al. ב"הב"ה.
מודל הלמידה מדוגמאות Learning from Examples קלט: אוסף של דוגמאות פלט: קונסיסטנטי עם פונקציה f ב- C ז"א קונסיסטנטי עם S ז"א.
1 Data Structures, CS, TAU, RB-Tree1 עץ אדום-שחור  עץ חיפוש בינארי  בכל צומת ביט אינפורמציה נוסף - צבע  עץ “כמעט מאוזן”  (O(log n במקרה גרוע ביותר.
Tirgul 13: Trees 1. הגדרות עץ – מודל מופשט של מבנה היררכי. עץ מורכב מאוסף של צמתים (קודקודים) עם יחס אבא-בן. שורש בעץ – צומת ללא אבא. בכל עץ יש בדיוק.
עצים בינאריים - תזכורת דרגת צומת שורש עלה צומת פנימי מרחק בין 2 צמתים
1 - גמישות בבינאריות גמישות בעומק - עץ חיפוש בינארי: ממוצע O(log n) גרוע ביותר (O(n - היינו רוצים לשמור את העץ מאוזן תמיד Data Structures, CS, TAU
מתמטיקה בדידה תרגול 2.
1 מבוא למדעי המחשב סיבוכיות. 2 סיבוכיות - מוטיבציה סידרת פיבונאצ'י: long fibonacci (int n) { if (n == 1 || n == 2) return 1; else return (fibonacci(n-1)
מבנה מחשבים תרגול מספר 3. טענה על עצים משפט: בעץ שדרגת כל קודקודיו חסומה ב-3, מספר העלים ≤ מספר הקודקודים הפנימיים + 2. הוכחה: באינדוקציה על n, מספר הקודקודים.
Lecture 13 Maximal Accurate Forests From Distance Matrix.
(C) סיון טל גילוי מידע וזיהוי תבניות תרגול מס. 9 גילוי מידע וזיהוי תבניות תרגול מס. 9 דחיסת נתונים מהו קידוד תכונות של קידודים אי - שוויון קרפט.
2-4 tree k=2 Each node has 2,3,or 4 children. Delete delete(14,T)
Eddie Bortnikov/Aran Bergman, Principles of Reliable Distributed Systems, Technion EE, Spring Principles of Reliable Distributed Systems Recitation.
- אמיר רובינשטיין מיונים - Sorting משפט : חסם תחתון על מיון ( המבוסס על השוואות בלבד ) של n מפתחות הינו Ω(nlogn) במקרה הגרוע ובממוצע. ניתן לפעמים.
1 Trees CLRS: chapter A hierarchical combinatorial structure הגדרה רקורסיבית: 1. צומת בודד. זהו גם שורש העץ. 2. אם n הוא צומת ו T 1 ….T K הינם עצים,
Data Structures Hanoch Levi and Uri Zwick March 2011 Lecture 3 Dynamic Sets / Dictionaries Binary Search Trees.
Tirgul 12 Trees 1.
ערמות make-heap Operation insert find-min delete-min union decrease-key delete 1 Binary Heap log n n Binomial Heap Fibonacci Heap † Relaxed Heap Linked.
אינדקסינג והשינג (indexing & hashing)
SQL בסיסי – הגדרה אינדוקטיבית
תירגול 14: מבני נתונים דינאמיים
מבני נתונים ADT, O() notation, Recursions תשס"ח סמסטר ב' תרגול 1
Data Structures, CS, TAU, Splay Tree
Marina Kogan Sadetsky –
Presentation transcript:

תרגול 4 21/3/2007 מבני נתונים 07b ליאור שפירא

תזכורת – B-trees  לכל צומת x יש השדות הבאים n[x] מס ' מפתחות ב -x המפתחות עצמם בסדר לא יורד כל צומת פנימי מכיל גם n[x]+1 מצביעים לילדי הצומת המפתחות בצומת מפרידים את ערכי ילדי הצומת  כל העלים בעץ הינם באותו עומק  יש חסם עליון ותחתון למס ' מפתחות שצומת מכיל  נבטא חסם זה ע " י t≥2, הדרגה המינימלית של העץ לכל צומת חוץ מהשורש יש לפחות t-1 מפתחות לפיכך, לכל צומת פנימית ( חוץ מהשורש ) יש לפחות t ילדים בכל צומת יש לכל היותר 2t-1 מפתחות, ז " א מקסימום 2t ילדים צומת תיקרא מלאה אם מכילה בדיוק 2t-1 מפתחות

הכנסה ל -B-tree  אופציה א ' מצא את הצומת בו אמור להיכנס הערך אם הצומת מלאה פצל אותה וחזור רקורסיבית  אופציה ב ' תוך כדי חיפוש מקום להכניס את הערך החדש נפצל כל צומת מלאה שניתקל בה  יתרון : לא נצטרך לגשת פעמיים לצמתים ( ייתכן שיושבות בזיכרון יקר לגישה )  חסרון : דורש שמס ' בנים מקסימלי יהיה 2t ( עצי 2-3 אינם B-Trees לפי הגדרה זו )

הכנסה ל - B-tree( אופציה ב ')  B-Tree-Insert(T,k) r  root[T] If n[r]=2t-1  Create new root s and split r under it  B-Tree-Insert-Nonfull(s,k) Else  B-Tree-Insert-Nonfull(r,k)

הכנסה ל -B-tree ( אופציה ב ')  B-Tree-Insert-Nonfull(x,k) i  n[x] If leaf[x]  Find correct place and insert value k Else  Find c i [x] - child of x into which recursion continues  If n[c i [x]]=2t-1  Split c i [x]  B-Tree-Insert-Nonfull(c i [x],k)

דוגמה – עץ בו t=3  t=3 ז " א זהו עץ 3-6

עצי 2-4 (b-trees)  תרגיל : אם נתחיל מעץ 2-4 ריק ונבצע m פעולות insert, כאשר בכל פעולה נקבל את מיקום ההכנסה, אזי העלות הכללית של הסדרה היא O(m) זמן  אינטואיציה פעולות זולות – כשיש הרבה " חופש " בעץ פעולות יקרות – כשאין " חופש " בעץ מה מסמל " חופש " בעץ ? צמתים בדרגה 2-3 יקר

הוכחה  נקרא לרמת ה " חופש " בעץ – slack  נגדיר פונקצית פוטנציאל על פי slack אם אין slack – הפוטנציאל גבוה אם אין slack בצומת – יש 4 ילדים  פונקצית הפוטנציאל : Φ(D)=#vertices of degree 4 Φ=1

הוכחה  נצטרך להוכיח שני דברים 1. פ ' הפוטנציאל 0 בהתחלה ואי - שלילית בכל שלב 2. לכל פעולה op מתקיים : cost(op)+ΔΦ≤O(1) 1 ברור עבור 2 נוכיח כי כל פעולה עולה O(1)+k כאשר k מס ' פעולות ה -split שמתבצעות.

הוכחה  כל split מפצל צומת 4 לצומת דרגה 2 וצומת דרגה 3  לכן, כל פעולת split ( כמעט ) מורידה את הפוטנציאל ב -1 ה -split הראשון, על עלה, מפצל צומת 0 לשני צמתים מדרגה 0 ה -split האחרון מפצל צומת v מדרגה 4 לשני צמתים (2 ו -3) אך אביו עלול להשתנות לדרגה 4 – אין שינוי פוטנציאל  לכן : ΔΦ≤-(k-2) cost(op)+ΔΦ=O(1)

האם זה נכון לעצי 2-3?  ניתן להראות כי בעצי 2-4 עבור כל סדרת פעולות insert ו -delete, עלות amortized נשארת O(1) לפעולה  האם הדבר נכון לעצי 2-3? הדבר לא נכון, בעץ 2-3 מלא, אם נבצע סדרת פעולות insert ו -delete של אותו אבר, כל הפעולות יהיו יקרות ולכן O(logn) לפעולה !

האם זה נכון לעצי 2-3?

תרגיל  הראו כי בשינויים קלים למבנה עץ בינארי ( מאוזן ), ניתן למצוא את האבר ה -k בגודלו, בזמן O(logk) מצא את 19 ( האבר ה -4 בגודלו )

תרגיל  הראו כי בשינויים קלים למבנה עץ בינארי ( מאוזן ), ניתן למצוא את האבר ה -k בגודלו, בזמן O(logk) מצא את 19 ( האבר ה -4 בגודלו )

תרגיל  הראו כי בשינויים קלים למבנה עץ בינארי ( מאוזן ), ניתן למצוא את האבר ה -k בגודלו, בזמן O(logk) מצא את 19 ( האבר ה -4 בגודלו )

תרגיל  הראו כי בשינויים קלים למבנה עץ בינארי ( מאוזן ), ניתן למצוא את האבר ה -k בגודלו, בזמן O(logk) מצא את 19 ( האבר ה -4 בגודלו )

תרגיל  הראו כי בשינויים קלים למבנה עץ בינארי ( מאוזן ), ניתן למצוא את האבר ה -k בגודלו, בזמן O(logk)  פתרון : נניח עץ AVL בעל n צמתים  p  מצביע לעלה השמאלי ביותר ( קטן )  While (p!=root) do p  p.parent If (p.key>x) then  x is found in left sub-tree so search there  End while  We got to the root so perform regular find Max. O(logk) iterations O(k) elements in sub-tree  O(logk) search

תרגיל 4 ( שיעורי בית ) Suppose that we start from an empty Red-Black tree, and that we perform n insert operations, where n > 1. Prove that we necessarily end up with a Red-Black tree which has at least one red vertex. Assume that we are dealing with a Red-Black tree that stores its elements at the leaves. (Hint: One way to prove this is: (1) prove that the second insert operation creates a red node; (2) then prove that for any insert operation, if there is a red node before applying it, then there is also a red node after applying it. Note that there may be other ways to prove the claim.)

פתרון  לאחר 2 הכנסות נישאר עם שורש שחור וצומת אדום  באופן כללי, בהכנסת צומת חדש אנו הופכים עלה לצומת פנימי אדום עם 2 בנים שחורים אם אין הפרה של החוקים, אזי בוודאות יש צומת אדום אם יש הפרה, זו הפרה של החוק האדום ונפתור ע " י אחד מחמשת המקרים, נראה שבכל אחד מהם נשאר צומת אדום...

z y x AB C DE z y x AB C DE z y x BC A DE ===> (1) (2) y x BC A DE ===> מקרים 1,2 – מספר צמתים אדומים קטן ב -1, אך בשביל מקרה זה חייבים להיות לפחות 3 צמתים אדומים ולכן יישארו לפחות 2 לאחר הפעולה פתרון

מקרים 4,5 - יש שינוי צבע סימטרי ולא משתנה מס ' הצמתים האדומים מקרה 3 – מספר צמתים אדומים קטן ב -1 חייבים להיות לפחות 2 בתחילת הפעולה פתרון

שלום וביי ביי