ערמות ; מבני נתונים 09 מבוסס על מצגות של ליאור שפירא, חיים קפלן, דני פלדמן וחברים.

Slides:



Advertisements
Similar presentations
תרגול 9 Heaps Lempel-Ziv. Heaps Heap A binary heap can be considered as a complete binary tree, (the last level is full from the left to a certain point).
Advertisements

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 רוצים לסדר את הרשומות כך שהמפתחות לא בסדר יורד (יתכנו.
עצים ועצי חיפוש חומר קריאה לשיעור זה Chapter 5.5– Trees (91 – 97)
תרגול 8 עצי B+ אינדקס משני.
חורף - תשס " ג DBMS, Design1 שימור תלויות אינטואיציה : כל תלות פונקציונלית שהתקיימה בסכמה המקורית מתקיימת גם בסכמה המפורקת. מטרה : כאשר מעדכנים.
1 מבוא למדעי המחשב תרגול מספר 11 2 הנושאים להיום סיבוכיות זמן ומקום של אלגוריתמים. למה צריך ללמוד את זה? 100% יופיע במבחן מדד ליעילות של אלגוריתמים.
עבודה סמינריונית Prelude to Ukkonen algorithm ON-LINE CONSTRUCTION OF SUFFIX TREES מגישים : עיד מוחמד טיבי פיראס.
הכנת המצגת: מוטי בן ארי ומיכל סמואל המחלקה להוראת המדעים, מכון ויצמן למדע ©
- אמיר רובינשטיין Union-Find 1. הגדרה: מבנה נתונים, אשר בהינתן אוסף איברים המחולקים לקבוצות זרות, מאפשר ביצוע הפעולות הבאות: Find(i) – החזר.
היום נדבר אל נושא אחד בתורת הגרפים. ובהמשך נשתמש בכלים אלו לפתרון כמה בעיות גאומטריות ובפרט להוכחת Szemeredi Trotter theorem.
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. לכל צומת פנימית ( חוץ מהשורש ) יש לפחות.
משפט ההרכבה Composition Theorem תהי C מחלקה של פונקציות בוליניות תהי נגדיר סדרת פונקציות שניתנות לחישוב בזמן פולינומיאלי.
בהסתברות לפחות למצא בעיה במודל PAC עבור בהסתברות ε הפונקציה f טועה מודל ONLINE 1. אחרי כל טעות הפונקציה משתפרת 2. מספר הטעיות קטן.
תכנות תרגול 6 שבוע : תרגיל שורש של מספר מחושב לפי הסדרה הבאה : root 0 = 1 root n = root n-1 + a / root n-1 2 כאשר האיבר ה n של הסדרה הוא קירוב.
מודל ONLINE לומדמורה 1. כל ניתן לחישוב בזמן פולינומיאלי 2. אחרי מספר פולינומיאלי של טעיות ( ) הלומד לא טועה ז"א שווה ל- Littlestone 1988.
תרגול 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 -
מבוא למדעי המחשב תרגול מספר 11.
1 ייצוג באמצעות עצים שונים מתוחכם רק לקבוצות גדולות (תקורה בפעולות ובתכנות!!!) עצי חיפוש בינאריים BINARY SEARCH TREES תחום סדור (> < =) תחום איברים גדול.
מבוא למדעי המחשב תרגול 6 - מערכים שעת קבלה : יום שני 11:00-12:00 דוא " ל :
Ray 7 דוגמא אלגוריתם 1.קבל דוגמאות 2. פלט f a עבור הדוגמה a המינימלית החיובית ?
1 שמושים ביישומים רבים יש n רשומות, לכל רשומה מפתח: K 1,…..,K n רוצים לסדר את הרשומות כך שהמפתחות לא בסדר יורד (יתכנו כפולים) קריטריונים ליעילות: לא תמיד.
Remember Remember The 5 th of November. תרגול 2 קובץ סדרתי.
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,
עקרון ההכלה וההדחה.
יחס סדר חלקי.
1 חישוב ואופטימיזציה של שאילתות חלק 1 Query Evaluation and Optimization Part 1.
מיון (Sorting) קלט : מערך בן n מספרים. פלט : מערך ובו המספרים אותם מאוחסנים בסדר עולה
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. ב"הב"ה.
5.9 Heaps of optimal complexity
1 Sorting We have actually seen already two efficient ways to sort:
עצים בינאריים - תזכורת דרגת צומת שורש עלה צומת פנימי מרחק בין 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)
Lecture 13 Maximal Accurate Forests From Distance Matrix.
תרגול 4 21/3/2007 מבני נתונים 07b ליאור שפירא. תזכורת – B-trees  לכל צומת x יש השדות הבאים n[x] מס ' מפתחות ב -x המפתחות עצמם בסדר לא יורד כל צומת פנימי.
- אמיר רובינשטיין מיונים - 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.
1 Programming for Engineers in Python Autumn Lecture 9: Sorting, Searching and Time Complexity Analysis.
מספרים אקראיים ניתן לייצר מספרים אקראיים ע"י הפונקציה 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)
מבנה נתונים ואלגוריתמים
מיונים וחיפושים קרן כליף.
SQL בסיסי – הגדרה אינדוקטיבית
תירגול 14: מבני נתונים דינאמיים
תרגול מס' 7: Memoization Quicksort תרגילים מתקדמים ברקורסיה
הרצאה 07 עצים קרן כליף.
מבני נתונים עצים קרן כליף.
מבני נתונים ADT, O() notation, Recursions תשס"ח סמסטר ב' תרגול 1
מבוא למדעי המחשב הרצאה 6: מיונים.
תרגול 8 תחומי הכרה פונקציות
שיעור עשירי: מיונים, חיפושים, וקצת סיבוכיות חישוב
חזרה חלקית על תרגול 12 גרף G=(V,E)
Computer Programming תרגול 3 Summer 2016
Engineering Programming A
Presentation transcript:

ערמות ; מבני נתונים 09 מבוסס על מצגות של ליאור שפירא, חיים קפלן, דני פלדמן וחברים

תזכורת : Heaps  עץ בינארי מלא  החוק הבסיסי אם צומת B צאצא של צומת A אזי Key(A)≤Key(B)  הפעולות הנתמכות Find-min Delete-min Decrease-key Insert Meld

תזכורת : Heaps מחיקת השורש הוספת צומת ( עבור max-heap) 15 4

תרגיל 1  בהינתן מערך באורך n, נרצה ליצור min heap ע " י הכנסה סדרתית של ערכי המערך. הראו סדרת הפעולות לוקחת Ω(nlogn) במקרה הכי גרוע (worst case)  פתרון נצטרך להראות דוגמה של סדרת ההכנסות שלוקחת Ω(nlogn) פעולות נחפש סדרה ש " תקשה " כמה שיותר על ה -heap

תרגיל 1 nn-1n-2n-3 … 21 nn n-1 n nn-2 nn-1 …

תרגיל 1  כל ערך שנוסיף צריך לבעבע לראש העץ  n/2 ההכנסות האחרונות לוקחות לפחות log(n/2) כל אחת  מסקנה : W.C = Ω(nlogn)

תרגיל 2  בהינתן heap שתומך בפעולות extract-min ו - insert בזמן f(n) amortized, הראו שניתן למיין מערך מגודל n בזמן O(n∙f(n))  פתרון נבצע n פעולות הכנסה בזמן O(n∙f(n)) מבצע n פעולות הוצאת מינימום בזמן O(n∙f(n)) סה " כ O(n∙f(n))  אלגוריתם מיון זה נקרא heap-sort  בשיעור תלמדו כי מיון n אברים הוא Ω(n∙logn)

תרגיל 3 – Median Heap  ממשו מבנה נתונים התומך בפעולות insert בזמן O(logn) extract-median בזמן O(logn) find-median בזמן O(1)

תרגיל 3 - פתרון Max-heap Min-heap + האברים הקטנים ( עד החציון ) האברים הגדולים ( מהחציון )

תרגיל 3 - פתרון  נשתמש ב -max-heap ו -min-heap  n/2 הערכים הקטנים ביותר יישמרו ב -max-heap  השאר יישמרו ב -min-heap  החציון תמיד נמצא בשורש של אחד מהם Max-heap Min-heap Min-Heap Max-Heap

תרגיל 3 - פתרון  Find-median If (size(minheap)>size(maxheap))  return getmin(minheap) Else  return getmax(maxheap)  Insert(x) If (x<getmin(minheap))  Insert(maxheap,x) Else  Insert(minheap,x) If (abs(size(minheap)-size(maxheap))>1)  Balance heaps (move root from bigger heap to smaller heap)  Extract-Median Extract median from the max-heap or min-heap … O(1) O(logn)

שאלה 1 בערימת מקסימום, החציון נמצא בהכרח : א. בשורש. ב. בעומק לכל היותר. ג. בן ישיר של השורש. ד. בשתי השכבות הנמוכות ביותר. ה. אף אחד מהנ " ל.

תשובה 1 ה. החציון יכול להיות בן ישיר של השורש ( למשל אם כל תת עץ ימין גדולים מכל תת עץ שמאל ) ויכול גם להיות באחד העלים ( אם חצי הערכים הקטנים ביותר נמצאים בעלים ).

שאלה + תשובה 2 האם מערך הממוין בסדר הפוך מייצג ערימה ? תשובה : כן. האיבר במקום ה -i גדול מהאיבר ה -2i+1 ו -2i ( שהם בניו ) לכל i.

שאלה 3

תשובה 3 ב. חסם עליון : עומק כל הצמתים הוא לכל היותר O(lg n). לכן הסכום הוא O(n lg n). חסם תחתון : עומק כל העלים הוא Ω(lg n) ויש Ω(n) עלים לכן הסכום הוא גם Ω(n lg n).

שאלה 4

תשובה 4 א. החישוב בדומה לחישוב זמן הריצה של Build-Heap החישוב מופיע במצגת מהשיעור.

הסוף