עצים בינאריים - תזכורת דרגת צומת שורש עלה צומת פנימי מרחק בין 2 צמתים

Slides:



Advertisements
Similar presentations
תרגול 8 Skip Lists Hash Tables. Skip Lists Definition: – A skip list is a probabilistic data structure where elements are kept sorted by key. – It allows.
Advertisements

1 Colorful XML: One Hierarchy Isn't Enough Authors : H. V. Jagadish, Laks V. S. Lakshmanan, Monica Scannapieco, Divesh Srivastava, Nuwee Wiwatwattana Presented.
1 Data Structures, CS, TAU, RB-Tree1 עץ אדום-שחור  עץ חיפוש בינארי  בכל צומת ביט אינפורמציה נוסף - צבע  עץ “כמעט מאוזן”  (O(log n במקרה גרוע ביותר.
מבוא למדעי המחשב לתעשייה וניהול
1 Trees CLRS: chapter A hierarchical combinatorial structure הגדרה רקורסיבית: 1. צומת בודד. זהו גם שורש העץ. 2. אם n הוא צומת ו T 1 ….T K הינם עצים,
טבלאות סמלים נכתב ע"י אלכס קוגן סמסטר חורף, תשס"ח.
מיון (Sorting) קלט : מערך בן n מספרים. פלט : מערך ובו המספרים אותם מאוחסנים בסדר עולה
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 – מבנה התרגולים
עצים ועצי חיפוש חומר קריאה לשיעור זה Chapter 5.5– Trees (91 – 97)
גרפים ממשקלים גרף ממשקל הוא גרף עם משקל לכל קשת עץ פורש הוא עץ שצמתיו הם כל הצמתים של הגרף וקשתותיו הן קשתות הגרף.
תרגול 8 עצי B+ אינדקס משני.
חורף - תשס " ג DBMS, Design1 שימור תלויות אינטואיציה : כל תלות פונקציונלית שהתקיימה בסכמה המקורית מתקיימת גם בסכמה המפורקת. מטרה : כאשר מעדכנים.
מה החומר למבחן ? כל החומר שנלמד בהרצאות ובתרגולים. לגבי backtracking: לא תידרשו לממש אלגוריתם, אך כן להבין או להשלים מימוש נתון. אחת משאלות המבחן מבוססת.
עבודה סמינריונית Prelude to Ukkonen algorithm ON-LINE CONSTRUCTION OF SUFFIX TREES מגישים : עיד מוחמד טיבי פיראס.
- אמיר רובינשטיין Union-Find 1. הגדרה: מבנה נתונים, אשר בהינתן אוסף איברים המחולקים לקבוצות זרות, מאפשר ביצוע הפעולות הבאות: Find(i) – החזר.
חורף - תשס " ג DBMS, צורות נורמליות 1 צורה נורמלית שלישית - 3NF הגדרה : תהי R סכמה רלציונית ותהי F קבוצת תלויות פונקציונליות מעל R. R היא ב -3NF.
1 Trees CLRS: chapter A hierarchical combinatorial structure הגדרה רקורסיבית: 1. צומת בודד. זהו גם שורש העץ. 2. אם n הוא צומת ו T 1 ….T K הינם עצים,
1 Data Structures, CS, TAU, Splay Tree Splay Tree  מימוש של עץ חיפוש בינארי  מטרה לדאוג ל- Amortized Time  פעולה בודדת יכולה לקחת O(N)  אבל כל רצף.
משפט ההרכבה Composition Theorem תהי C מחלקה של פונקציות בוליניות תהי נגדיר סדרת פונקציות שניתנות לחישוב בזמן פולינומיאלי.
בהסתברות לפחות למצא בעיה במודל PAC עבור בהסתברות ε הפונקציה f טועה מודל ONLINE 1. אחרי כל טעות הפונקציה משתפרת 2. מספר הטעיות קטן.
א " ב, מילים, ושפות הפקולטה למדעי המחשב אוטומטים ושפות פורמליות ( ) תרגיל מספר 1.
Data Structures, CS, TAU, Splay Tree 1 Splay Tree - עץ חיפוש בינארי - מטרה לדאוג ל - Amortized Time - פעולה בודדת יכולה לקחת O(N) - אבל כל רצף M פעולות.
א " ב, מילים, ושפות הפקולטה למדעי המחשב אוטומטים ושפות פורמליות ( ) תרגיל מספר 1.
Formal Specifications for Complex Systems (236368) Tutorial #6 appendix Statecharts vs. Raphsody 7 (theory vs. practice)
תכנות תרגול 6 שבוע : תרגיל שורש של מספר מחושב לפי הסדרה הבאה : root 0 = 1 root n = root n-1 + a / root n-1 2 כאשר האיבר ה n של הסדרה הוא קירוב.
Faster reliable phylogenetic analysis Article by: Vincent Berry & David Bryant Presented by: Leonid Shuman & Eva Frant.
תזכורת: גרפים גרף (G=(V,E V|=n, |E|=m| מכוון \ לא מכוון דרגה של קדקד
קובץ רב-אינדקס Multi-Indexed File
ערמות ; מבני נתונים 09 מבוסס על מצגות של ליאור שפירא, חיים קפלן, דני פלדמן וחברים.
מודל ONLINE לומדמורה 1. כל ניתן לחישוב בזמן פולינומיאלי 2. אחרי מספר פולינומיאלי של טעיות ( ) הלומד לא טועה ז"א שווה ל- Littlestone 1988.
1 Introduction to Programming in C - Fall 2010 – Erez Sharvit, Amir Menczel 1 Introduction to Programming in C תרגול
א " ב, מילים, ושפות הפקולטה למדעי המחשב אוטומטים ושפות פורמליות ( ) תרגיל מספר 1.
תרגול 7 עצי B
2-3 trees עצי 3-2 ועצי דרגות Chapter 19: B trees (381 – 397) Chapter 15: Augmenting data structures (281 – 290) חומר קריאה לשיעור זה Lecture5 of Geiger.
Sorting II: הפרד ומשול. Last week: in-place sorting Bubble Sort – O(n 2 ) comparisons –O(n) best case comparisons, O(n 2 ) exchanges Selection Sort -
שאלה 1 נתון כביש ישר עם תחנות דלק בנקודות , בנקודת המוצא נתונה מכונית עם תא דלק שמספיק ל-100 ק"מ. מחיר מילוי תא הדלק בתחנה.
1 ייצוג באמצעות עצים שונים מתוחכם רק לקבוצות גדולות (תקורה בפעולות ובתכנות!!!) עצי חיפוש בינאריים BINARY SEARCH TREES תחום סדור (> < =) תחום איברים גדול.
1 שמושים ביישומים רבים יש n רשומות, לכל רשומה מפתח: K 1,…..,K n רוצים לסדר את הרשומות כך שהמפתחות לא בסדר יורד (יתכנו כפולים) קריטריונים ליעילות: לא תמיד.
גרפים - Graphs גרף G(V,E) מורכב מקבוצת צמתים V וקבוצת קשתות E.
עצים מאוזנים הגדרה: משפחת עצים תקרא מאוזנת אם ,h(T) = O(log n) באשר T הוא עץ במשפחה, n הוא מספר הצמתים ב-T ו-h(T) הוא הגובה של T עצי (Adelson-Velsky,
מודל הלמידה מדוגמאות Learning from Examples קלט: אוסף של דוגמאות פלט: קונסיסטנטי עם פונקציה f ב- C ז"א קונסיסטנטי עם S ז"א מודל הלמידה מדוגמאות Learning.
Data Structures, CS, TAU, RB-Tree 1 עץ אדום-שחור - עץ חיפוש בינארי - בכל צומת ביט אינפורמציה נוסף - צבע « עץ “ כמעט מאוזן ” « (O(log n במקרה גרוע ביותר.
1 Data Structures, CS, TAU, RB-Tree1 עץ אדום-שחור  עץ חיפוש בינארי  בכל צומת ביט אינפורמציה נוסף - צבע  עץ “כמעט מאוזן”  (O(log n במקרה גרוע ביותר.
Tirgul 13: Trees 1. הגדרות עץ – מודל מופשט של מבנה היררכי. עץ מורכב מאוסף של צמתים (קודקודים) עם יחס אבא-בן. שורש בעץ – צומת ללא אבא. בכל עץ יש בדיוק.
1 - גמישות בבינאריות גמישות בעומק - עץ חיפוש בינארי: ממוצע O(log n) גרוע ביותר (O(n - היינו רוצים לשמור את העץ מאוזן תמיד Data Structures, CS, TAU
1 מבוא למדעי המחשב סיבוכיות. 2 סיבוכיות - מוטיבציה סידרת פיבונאצ'י: long fibonacci (int n) { if (n == 1 || n == 2) return 1; else return (fibonacci(n-1)
Safari On-line books. מה זה ספארי ספארי זו ספריה וירטואלית בנושא מחשבים היא כוללת יותר מ כותרים כל הספרים הם בטקסט מלא ניתן לחפש ספר בנושא מסוים.
מבנה מחשבים תרגול מספר 3. טענה על עצים משפט: בעץ שדרגת כל קודקודיו חסומה ב-3, מספר העלים ≤ מספר הקודקודים הפנימיים + 2. הוכחה: באינדוקציה על n, מספר הקודקודים.
Lecture 13 Maximal Accurate Forests From Distance Matrix.
תרגול 4 21/3/2007 מבני נתונים 07b ליאור שפירא. תזכורת – B-trees  לכל צומת x יש השדות הבאים n[x] מס ' מפתחות ב -x המפתחות עצמם בסדר לא יורד כל צומת פנימי.
2-4 tree k=2 Each node has 2,3,or 4 children. Delete delete(14,T)
- אמיר רובינשטיין מיונים - 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.
תרגול 8 Skip Lists Hash Tables. Skip Lists Definition: – A skip list is a probabilistic data structure where elements are kept sorted by key. – It allows.
אלגוריתמי חיפוש. Brute Force Module Module1 Function BruteForce(ByRef x() As Integer, ByRef item As Integer) As Integer Dim i As Integer For i = 0 To.
מספרים אקראיים ניתן לייצר מספרים אקראיים ע"י הפונקציה int rand(void);
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)
תירגול 14: מבני נתונים דינאמיים
הרצאה 07 עצים קרן כליף.
מבני נתונים עצים קרן כליף.
Data Structures, CS, TAU, Splay Tree
Marina Kogan Sadetsky –
Randomized Search Trees
חזרה חלקית על תרגול 12 גרף G=(V,E)
Presentation transcript:

amirrub@cs - אמיר רובינשטיין עצים בינאריים - תזכורת דרגת צומת שורש עלה צומת פנימי מרחק בין 2 צמתים גובה של צומת (עץ) עומק של צומת 1 2 3 5 4 6 1 2 3 6 4 עץ בינארי שלם (complete) עץ בינארי מלא שבו כל העלים באותו עומק 5 7 1 2 3 5 4 6 7 עץ בינארי מלא (full) לכל צומת פנימי 2 בנים amirrub@cs - אמיר רובינשטיין

amirrub@cs - אמיר רובינשטיין עצים בינאריים – מימוש ע"י רשימות מקושרות בעלים - שדות המצביעים יכילו NULL. ניתן להחזיק בכל צומת גם מצביע לאב. amirrub@cs - אמיר רובינשטיין

סיורים בעצים הדגמה: http://nova.umuc.edu/~jarc/idsv/ הדגמה: http://nova.umuc.edu/~jarc/idsv/ amirrub@cs - אמיר רובינשטיין

amirrub@cs - אמיר רובינשטיין הסיבוכיות בשני המימושים: זמן- O(n) ( אם do_something דורשת O(1) ) מקום- )גובה העץO(. amirrub@cs - אמיר רובינשטיין

amirrub@cs - אמיר רובינשטיין תרגיל 1 סטודנט הפעיל סיורים inorder ו- postorder על עץ שהיה ברשותו. כעבור זמן מה, הוא גילה שאיבד את העץ, אך יש עדיין בידו את תוצאות הסיורים. עזרו לסטודנט לשחזר את העץ. האם תמיד הדבר אפשרי? inorder : 2 6 4 7 1 3 8 5 9 10 preorder : 1 2 4 6 7 3 5 8 9 10 amirrub@cs - אמיר רובינשטיין

amirrub@cs - אמיר רובינשטיין תרגיל 2 נתון עץ בינארי, שבכל צומת בו יש מצביעים גם להורים. כיצד ניתן לממש סיור בעץ בסיבוכיות מקום נוסף O(1)? פתרון נחזיק שני מצביעים: current ו- last, שיצביעו בכל רגע לצומת הנוכחי בו אנו נמצאים, ולצומת הקודם בו היינו, בהתאמה. סיור inorder לדוגמא, יתבצע בדומה לקוד (הלא רקורסיבי) שהוצג קודם, אבל ללא שימוש מחסנית. בכל פעם שנעלה להורה v, נבדוק האם עלינו אליו משמאל או מימין: - אם עלינו משמאל, נבקר ב- v, ונמשיך בסיור לתת העץ הימני של v. - אם עלינו מימין, סיימנו לבקר בתת העץ ש- v הוא שורשו, לכן נעלה לאב של v. amirrub@cs - אמיר רובינשטיין

דוגמאות לשימוש בסיורים ע"מ לחשב תכונות של עץ בינארי חישוב מספר הצמתים בעץ בינארי int count (node *p) { if (!p) return 0; return (1 + count (p  left) + count (p  right)); } המסלול הכבד ביותר בעץ נתון עץ בעל n צמתים, לכל צומת יש מפתח, ושני מצביעים לבנים. מותר להוסיף שדות נוספים לצמתים לצורך הפתרון. הציעו אלגוריתם לחישוב ערכו של המסלול הכבד ביותר משורש לעלה כלשהו(המסלול שסכום המפתחות של צמתיו הוא מקסימלי). על האלגוריתם להדפיס מסלול זה. סיבוכיות דרושה – O(n). Key amirrub@cs - אמיר רובינשטיין

מימוש למבנה הנתונים "מילון" עצי חיפוש - מימוש למבנה הנתונים "מילון" עץ עץ חיפוש עץ בינארי עץ מאוזן AVL עץ טרנארי 2-3 amirrub@cs - אמיר רובינשטיין

amirrub@cs - אמיר רובינשטיין עצי חיפוש בינאריים עץ חיפוש בינארי הינו עץ בינארי עם התכונה הבאה: בהינתן צומת עם מפתח X, כל הצמתים עם מפתחות גדולים יותר נמצאים בתת העץ הימני, וכל הצמתים עם מפתחות קטנים יותר נמצאים בתת העץ השמאלי. פעולות על עץ חיפוש בינארי T: Find(T,x) Insert(T,x) Delete(T,x) פעולות אלה צריכות לשמור על התכונה שלעיל ! הדגמה: http://nova.umuc.edu/~jarc/idsv/ סיבוכיות כל הפעולות הנ"ל: )גובה העץO( מקרה גרוע: O(n) מקרה טוב: O(logn) מקרה ממוצע: O(logn) amirrub@cs - אמיר רובינשטיין