áùçîä éòãîì äîâîä ÌÈÏÈ ÂÁ
|
|
- ŌΣίμων Κυπραίος
- 6 χρόνια πριν
- Προβολές:
Transcript
1 åôé-à"ú ìù úéîã àä äììëîä áùçîä éòãîì äîâîä :ÌÈ Â È Ó ÌÈÏÈ ÂÁ
2 הנחיות כלליות: יש להגיש את כל התרגילים בזמן (זמני ההגשה מצוינים בסילבוס הקורס). ציונו של תרגיל שיוגש באיחור יהיה 0, למעט מקרים חריגים כגון שירות מילואים, לידה ומחלה. במקרים אלה יש להביא אישור על כך. יש להגיש כל תרגיל עד לתחילתו של השיעור השני בשבוע ההגשה. יש להגיש את כל התרגילים בכתב ברור ומסודר. תלמיד שאינו מסוגל לעשות זאת, מתבקש להדפיס את התרגילים! התרגילים העיוניים הם אישיים. אנו רואים בחומרה רבה העתקות של בעבודות שהוגשו בסמסטרים קודמים), וכאלו אם יתגלו יטופלו משמעתית. (כולל שימוש עבודות הציון על תרגילי הבית ישקף גם את ההערכה לעבודתו של הסטודנט ולא רק את נכונות הפתרון. כאשר אתם מתארים מבנה נתונים הקפידו על השלבים הבאים: תארו את מבנה הנתונים במילים בצורה מדויקת. 1. אם מבנה הנתונים כולל כמה חלקים, הקפידו לתאר תחילה תיאור ברמת על של החלקים, 2. ורק אח"כ תארו בפירוט כל חלק. הוסיפו ציור של מבנה הנתונים שכולל את חלקיו השונים ואת הקשרים ביניהם. 3. אם אתם משתמשים במנה נתונים זהה לחלוטין למה שנלמד בכיתה, ניתן להשתמש בו 4. שחורה. אולם אם אתם משנים משהו במימוש תארו את השינויים במדויק. כבקופסה כאשר אתם כותבים אלגוריתם הקפידו על השלבים הבאים: 1. כתבו תחילה תיאור עילי קצר של האלגוריתם. 2. כתבו את האלגוריתם בצורה ברורה, הקפידו על אינדנטציה, מספרו את השלבים השונים וכדומה. פרטים המסרבלים את האלגוריתם יש לכתוב לחוד כמו פונקציה בשפת תכנות. למשל, נניח שאתם כותבים אלגוריתם כלשהו המטפל בעץ בינארי ובתוך האלגוריתם יש קטע המוצא את הצומת הגדול ביותר בערכו בעץ. כתבו רק "נמצא את הצומת בעל הערך הגדול ביותר בעץ" ותארו בנפרד איך לבצע זאת. 3. הוכיחו את נכונות האלגוריתם. 4. נתחו את יעילותו של האלגוריתם מבחינת זמן וזיכרון. נסחו במפורש ובמדויק כל תוצאה שהוכנו בכיתה, כאשר אתם משתמשים בה.
3 log( n 3 סדרי גודל: שאלה 1: הוכיחו את הטענות הבאות עפ"י הגדרה: 3 3. n 5 n = Ω(n א ) n n = Ο(n) ב. + 7 n) = Θ(log(n)) ג. שאלה 2: הוכיחו ש- O משרה יחס סדר חלש, כלומר מקיים :. f (n) = O(f (n)) : רפלקסיביות. i ו- O(h(n)) g (n) = אז אם n)) f (n) = O(g( טרנזיטיביות :. ii. f (n) = O(h(n)).(f(n) = Θ(g(n)) אמ "מ g(n) = O(f(n)) אז f(n) = O(g(n)) אנטי סימטריות חלשה: אם. iii שאלה 3: נתונה ההגדרה הבאה עבור ˆO (רמזים באתר הקורס): + תהיינה f, g : N R שתי פונקציות. נאמר שהפונקציה g היא Ô של f, ונסמן זאת על ידי. g(n) c f(n) מתקיים n כך שלכל 1 c אם קיים קבוע > 0, g ( n) = Oˆ ( f ( n)) הוכיחו שההגדרות של ˆO ו- O שקולות.. g ( n) = O( f ( n)) אם"ם g ( n) הערה : כדי להראות ששתי ההגדרות שקולות הראו ש- ((n) = O ˆ ( f (שימו לב שהפונקציות חיוביות ממש) שאלה 4: הוכיחו עפ"י הגדרה (רמזים באתר הקורס): n / 2 n / 2 א. n O(3 n! O(3 n ) ב. ) ג. ) a,(n - b) a = Θ(n כאשר a,b שני קבועים, 0 > a. (שימו לב, b אינו בהכרח חיובי, הוא יכול להיות גם שלילי או 0)
4 log( n) 6 log( n) n n n n! n log( n) שאלה 5: דרגו את הפונקציות הבאות עפ"י סדר גודל עולה: 6 log( n) n n n n log(log( n)) n 2 log( ) 2 log ( ) 1 n log( n) 2 n n n n n n log(log( )) הערה : אין צורך להוכיח את הדירוג, אך חשוב שתשתכנעו בעצמכם בנכונותו. שאלה 6: בנוסף לסימונים O,Ω,Θ שנראו בכיתה, קיימים שני סימונים חשובים נוספים, o,ω קטן. ההגדרות של o,ω נמצאות במקראה. אומגה קטן ו- אוו 3 f (n) = n 4 n g(n) = 5 n 2 + 3n נתונות f ו - g הבאות : הוכיחו ש- o(f) g = המופיעות שם). עפ"י ההגדרה הראשונה של o קטן מהמקראה (לא על פי ההגדרות הנוספות ניתוח סדרי גודל זמן ריצה - 2 -
5 זמני ריצה של פונקציות איטרטיביות: שאלה 1: נתחו את זמן הריצה של הפונקציות הבאות במונחים של Θ (הוכיחו טענתכם במפורט ): א. void func1(int n) { int i,j,x; for (i = 1; i <= n; i++) if (i % 2 == 1) x++; void func2(int n) { int i,j,y; ב. for (i = n; i >= 1; i = i - 2) for (j = i; j <= n; j++) y--; int func3(int n) { int x, y; ג. y = 1; x = n; while (x > 1){ x = x / 2; y++; return y; int func4(int n) { int j, y; ד. for(j = 1; j <= n; j++){ y = j; while (y > 1) y /= 2; - 3 -
6 int func5(int n) { int j, y; ה. for(j = n; j >= 1; j--){ y = 1; while (y < j) y *= 2; while (y > 2) y = sqrt(y); הערה : ניתן להניח שפעולת sqrt מתבצעת ב- (1 )Θ. int func6(int n) { int j, y; ו. for (j = 2; j <= n; j *= j){ y = 1; while (y < j) y *= 2; while (y > 2) y = sqrt(y); הערה : ניתן להניח שפעולת sqrt מתבצעת ב- (1 )Θ. ז. עבור כל אחד מהסעיפים א' ב' ו- ג' (של שאלה זו), ציירו גרף, המתאר את זמן הריצה (במילי-שניות) של הפונקציות, כפונקציה של גודל הקלט. הריצו את הפונקציות השונות על קלטים בגודל: n=1000; n=5000; n=10,000; n=50,000; n=100,000; n=500,000; n=1,000,000; לשם מדידת הזמנים, השתמשו בפונקציה._ftime() להלן תוכנית דוגמא, המודדת את הזמן של ביצוע הפונקציה, func1 עם קלט בגודל 10,000: #include <stdio.h> #include <sys/timeb.h> #include <time.h> const MILLI_SECONDS_IN_SECOND = 1000; const SECONDS_WINDOW = ; void main(){ struct _timeb Start_timebuffer,End_timebuffer; unsigned long int milli_start, milli_end, milli_diff; int n=10000; _ftime( &Start_timebuffer ); func1(n); _ftime( &End_timebuffer ); milli_start = (Start_timebuffer.time % SECONDS_WINDOW) * MILLI_SECONDS_IN_SECOND + Start_timebuffer.millitm; milli_end = (End_timebuffer.time % SECONDS_WINDOW) * MILLI_SECONDS_IN_SECOND + End_timebuffer.millitm; milli_diff = milli_end - milli_start; printf("this function took %lu milli-seconds\n", milli_diff); - 4 -
7 הערה: עבור קלטים קטנים, או כאשר זמן הריצה של הפונקציה הינו מהיר, זמן הריצה שנמדוד עלול להיות קטן מידי (אולי אפילו 0 מילי-שניות). בכדי להעריך את זמן הריצה במקרים כאלו, ניתן להפעיל את הפונקציה מספר רב של פעמים, ולחלק במספר ההפעלות. כלומר: _ftime( &Start_timebuffer ); for (i=0; i<1000; i++) func1(n); _ftime( &End_timebuffer ); milli_diff = (milli_end - milli_start)/1000.0; כמובן, את ההשמה האחרונה יש לבצע לתוך משתנה מטיפוס double כי אחרת שוב עלולים לקבל. 0 במקום לחלק במספר ההפעלות, אפשר לחילופין לתת את התוצאה ביחידות אחרות. בדוגמה למעלה, אם לא נחלק ב אז התוצאה תהיה במיקרו שניות
8 זמני ריצה של פונקציות רקורסיביות: שאלה 1: פתרו את נוסחאות הנסיגה בסעיפים א-ג על ידי הצבה חוזרת. א. n T(n) = T(n 1) + log כאשר = 1 T(1). ב T(n 3) T(n) = כאשר = 1 T(2). T(0) = T(1) = ג. 1 + ) n T(n) = T( כאשר = 1 T(2). T(1) = ד. הפונקציה הבאה מקבלת כקלט מערך A הכולל n מספרים, ושני אינדקסים :.0 left right n 1 חשבו חסם הדוק במונחי Θ לזמן הריצה של הפונקציה כאשר היא נקראת עם הפרמטרים = 0 left, ו- n 1 right = לפי ההנחיות הבאות: כתבו נוסחת נסיגה לזמן הריצה ופתרו אותה על ידי הצבה חוזרת. void Sort(int A[], int left, int right) { int p; if ( left < right) { p = (right left + 2)/3; Sort(A,left, left + p 1); Sort(A, left + p, left + 2*p 1); MergeSort(A, left + 2*p, right); Merge3(A, left, left + p, left + 2*p, right); היא הפונקציה שראינו בכיתה שממיינת את המערך A בין הגבולות i ל- j בעזרת אלגוריתם MergeSort שלמדנו. כאשר: MergeSort(A, i, j) היא פונקציה הממזגת שלושה חלקים ממוינים הנמצאים בין הגבולות i ל- 1 j j, ל - k 1, ו- k ל -,f ויעילותה ליניארית במספר הנתונים הכולל שהיא ממזגת. (אם אחד החלקים ריק אז הפונקציה ממזגת את שני החלקים הנותרים) Merge3(A, i, j, k, f) - 6 -
9 שאלה 2: פתרו את נוסחאות הנסיגה בסעיפים א-ב על ידי עץ רקורסיה. יש לשרטט את העץ בצורה ברורה ולציין ליד כל רמה את מספר הרמה ואת מספר הפעולות המתבצעות ברמה. כמו כן יש לתת את הנוסחה למספר הפעולות ברמה l כלשהי בעץ. א. n T(n) = T(n/3) + T(n/2) + כאשר = 1 T(1). T(0) = ב. n T(n) = T(2n/5) + T(3n/5) + כאשר = 1 T(1). T(n) = n + k i= 1 T(a n) i שאלה 3: הכלילו את הפתרונות לשאלה 2 כדלקמן. נניח שנוסחת הנסיגה היא כאשר k קבוע ולכל a i, 1 i k הוא קבוע המקיים < 1 i < a 0. מה יהיה פתרון נוסחת הנסיגה כאשר : k i= 1 k i= 1 k i= 1 a i א. < 1 a i ב. = 1 עבור כל אחד מהסעיפים, הסבירו במילים מדוע לדעתכם הפתרון שנתתם נכון (אינכם צריכים לתת את פרטי הפתרון).? a i נמקו. מה יקרה לדעתכם כאשר > 1 שאלה 4: מצאו את נוסחת הנסיגה עבור זמן הריצה של האלגוריתמים הבאים. אין צורך לפתור את הנוסחה שמצאתם. int stam(int Arr[], int n){ int mid1, mid2, mid3; int i, sum; if (n <= 1) return 0; else{ mid1 = n/3; sum = stam(arr, mid1); mid2 = (n - mid1)/2; sum += stam(arr + mid1, mid2); mid3 = (n - mid1 - mid2)/2; sum += stam(arr + mid1 + mid2, mid3); for(i=0; i< 2n; i++) sum += Arr[i]; return sum; - 7 -
10 י" שאלה 5: האלגוריתם הרקורסיבי הבא למציאת האיבר ה- i הקטן ביותר במערך A בעל n איברים ) אלגוריתם,(iii) ), ii) (שלבים pivot דומה לאלגוריתם שלמדנו. ההבדל העיקרי הוא דרך מציאת ה- ( Selection ו- iv) ( להלן.( אם 70 n נמיין את A בעזרת Bubble Sort ונחזיר את האיבר ה - i במערך הממוין. (i) אחרת: יכיל את 5 האיברים נחלק את A ל - n/5 תתי מערכים n/5 A 1, A 2,..., A כך שתת המערך (ii) A 1 A 2 יכיל את 5 האיברים הבאים ב - A, וכך הלאה. הראשונים ב-, A תת המערך (iii) לכל j n / 5,j 1 נמיין את A j בעזרת. Bubble Sort עבור כל מערך A j הממוין כעת, נסמן את האיבר האמצעי (השלישי מתוך החמישה) ב- b j וניצור מערך n/5. B = b 1, b 2,..., b (iv) נמצא ברקורסיה את החציון ב- B (כלומר את האיבר ה- 10/n הקטן ביותר ב - B ). זה יהיה ה-.pivot k יהי ). iv) שמצאנו בשלב pivot - בעזרת ה A על המערך Partition נבצע את אלגוריתם (v) המיקום של ה- pivot שמוחזר ע Partition (כלומר ה- pivot הוא האיבר ה - k הקטן ביותר ב- A)..pivot הקטן ביותר בתת המערך משמאל ל- i - נמצא ברקורסיה את האיבר ה i < k אם (vi) אחרת, אם i > k נמצא ברקורסיה את האיבר ה- (i-k) הקטן ביותר בתת המערך מימין ל-.pivot אחרת, אם i = k נחזיר את ה- pivot הוא האיבר ה- i הקטן ביותר הנדרש. אפשר להראות שכתוצאה מבחירת ה- pivot בצורה שתוארה, הערך k בשלב (v ( מקיים n n 6 k (למעוניינים, אפשר למצוא את הפרטים בחלק מהספרים המומלצים לקורס למשל,.(Introduction to Algorithms, Cormen, Leiserson and Rivest לשם השאלה שלנו נניח שהערך. 7 k בשלב (v ( הוא בדיוק n 1 ושהרקורסיה בשלב (vi) תהיה תמיד לתת המערך הגדול יותר 10 + בהתחשב בהנחות אלו, מצאו נוסחת נסיגה לזמן הריצה T(n) של אלגוריתם ה- Selection שתואר. שאלה : 6 פתרו את נוסחאות הרקורסיה בסעיפים א-ד בעזרת משפט האב. הניחו כי = 1 (1)T. T(n) = 16T(n/4) + n א. T(n) = 6T(n/6) + n ב. T(n) = T(3n/4) + n 2 ג. 7 + T(5n/6) T(n) = ד. T 2 (n) = 2 T( n ) + n / log(n ) שאלה 7: א. נתונה נוסחת הנסיגה הבאה: מצאו חסם הדוק ל-.T(n) ב. נתונה נוסחת הנסיגה הבאה : n T(n) = T( 2) + log(n) מצאו חסם הדוק ל- T(n) והוכיחו את נכונות החסם שמצאתם עפ"י ההגדרה. שימו לב שנדרש שימוש באינדוקציה בסעיף זה
11 מיונים: שאלה 1: נתונים n אברים, המחולקים ל- k קבוצות S 1,S2,, Sk כל אחת מכילה קבוצה קטנים מאברי הקבוצה הבאה וגדולים מאברי הקבוצה הקודמת, כלומר כל אברי n/k אברים. אברי כל S i גדולים. S i+1 i 1, S וקטנים מאברי מאברי א. מצאו חסם תחתון לסדר גודל מספר ההשוואות המינימלי הנדרש כדי למיין את n האברים במקרה הגרוע. הוכיחו תשובתכם. כלומר עליכם להוכיח ששום אלגוריתם לבעיה זו אינו יכול לרוץ בזמן מהיר יותר (בסדר גודל) מהחסם שנתתם. (שימו לב שתשובה לסעיף זה אינה יכולה להיות תאור של אלגוריתם). ב. הראו שהחסם שנתתם הדוק, ע"י תאור אלגוריתם שרץ בזמן זה. הדרכה לסעיף א': חשבו ראשית את מספר העלים בעץ ההכרעה, כלומר את מספר התמורות השונות האפשריות של הקלט לקבלת מערך ממוין. שאלה 2: בכיתה ראינו שאפשר להשתמש ב- Radix Sort על מנת למיין מספרים בתחום {1-, n 2,0 בזמן ליניארי, במקרה הגרוע. א) תארו שתי שיטות לחילוץ המספרים המופיעים ב- log n הביטים הראשונים וב- log n הביטים האחרונים של כל מספר בקלט (מספרים אלו משמשים כמפתח key בהפעלות.(bucket sort שיטה אחת תשתמש בפעולות על ביטים, ושיטה אחת לא תשתמש בפעולות כאלו. ב) נשתמש עתה ב- Radix Sort על מנת למיין מספרים מתחום גבוה יותר מ- n: 2 i) מה יהיה זמן הריצה אם תחום המספרים יהיה {1- l, n,0? (מותר להניח ש- l שלם.) (ii לאילו ערכי l זמן הריצה יישאר ליניארי??Merge Sort המכסימלי כך שהאלגוריתם יהיה יעיל לפחות כמו l מה ערך ה- (iii - 9 -
12 מחסניות ותורים : שאלה 1: נגדיר סדרה בנויה היטב ומדורגת של סוגריים באופן רקורסיבי: הסדרות ),( ],[ { בנויות היטב. דרגתן היא,2,1 ו- 3 בהתאמה. אם, b, a ו - c סדרות בנויות היטב שדרגתן,2,1 ו- 3 בהתאמה אז : (a) סדרה בנויה היטב ודרגתה 1. [a] ו- [b] סדרות בנויות היטב ודרגתן. 2 {b, ו - {c סדרות בנויות היטב ודרגתן. 3,{a אם a ו - b סדרות בנויות היטב שדרגתן היא i ו - j בהתאמה, אז :.max(i,j) היא סדרה בנויה היטב ודרגתה היא b) ו- a כאן לשרשור הסדרות (הכוונה ab למשל,{] ] [,{ ו - ) ] [ ( אינן בנויות היטב, ואילו הסדרה ) ( ] [ { בנויה היטב ודרגתה.3 כתבו אלגוריתם המקבל קלט הבנוי מסוגריים ומכריע האם הוא סדרה בנויה היטב. על האלגוריתם להשתמש רק במחסנית כמבנה נתונים, כאשר השימוש במחסנית יהיה כקופסה שחורה, כלומר רק ע"י הפעולות,Push(x),IsEmpty( ),Top( ),Pop( ) ו- ),MakeEmpty( מבלי להיכנס למימוש הפנימי של המחסנית. אתם יכולים להחליט על טיפוס הנתונים השמורים במחסנית (טיפוס זה יועבר לפעולה Push ויוחזר מהפעולות Pop ו-.( Top לצורך מעבר על הקלט על האלגוריתם להשתמש בפעולה ) GetNextParen( המחזיר את סימן הסוגריים הבא בקלט, או END_OF_INPUT בסוף הקלט. 2 שאלה 2: נניח שמוגדר טיפוס הנתונים המופשט מחסנית Stack היכול להכיל מספרים שלמים, ולבצע את הפעולות הבאות: Push(x), IsEmpty( ), Top( ), Pop( ), ו - ) MakeEmpty(. כמו כן מוגדר טיפוס הנתונים המופשט תור דו-כווני DQueue היכול להכיל מספרים שלמים ולבצע את הפעולות הבאות: ) MakeEmpty( מרוקנת את התור. ) IsEmpty( מחזירה true אם"ם התור ריק. QPush(x) מוסיפה נתון חדש לראש התור. ) QPop( - מורידה ומחזירה את הנתון הנמצא בראש התור. Enqueue(x) מוסיפה נתון חדש בסוף התור. ) Dequeue( מורידה ומחזירה את הנתון הנמצא בסוף התור. תור דו-כווני דומה מאוד לתור, אולם הוא מאפשר להוסיף ולהוריד נתונים משני צדי התור. הראו כיצד ניתן לממש בעזרת מחסנית אחת S, תור דו-כווני אחד,DQ וזיכרון נוסף בגודל קבוע (ללא שימוש ברקורסיה) את טיפוס הנתונים המופשט מחסנית אמצע MStack היכולה להכיל מספרים שלמים, ולבצע את הפעולות הבאות, כל אחת ב- (1 )Θ זמן במקרה הגרוע: MPush(x) מוסיפה נתון חדש לראש המחסנית (כמו מחסנית רגילה) ) MPop( מורידה את הנתון שנמצא בראש המחסנית ומחזירה אותו כערך(כמו מחסנית רגילה) MPushMid(x) מכניסה את x לאמצע המחסנית. n נתונים, ו- n זוגי אז x יכנס בדיוק לאמצע, אך אם n אי-זוגי x יכנס אחרי אם במבנה כרגע n+1. הנתון ה
13 שאלה 3: ברצוננו לממש טיפוס נתונים מופשט מחסנית מקסימום MaxStack שתומך בפעולות,Push(x) ו- Pop() הרגילות המוגדרות על מחסנית, וכן מאפשר לבצע את הפעולה ) Max( שמחזירה את האיבר הגדול ביותר מבין הנתונים שנמצאים כרגע במחסנית (מבלי להוציא אותו מהמחסנית!). א. תארו מבנה נתונים שמאפשר לבצע כל אחת מהפעולות האלה בזמן (1)Θ במקרה הגרוע. ב. נניח שברצוננו להחליף את הפעולה Max() בטיפוס הנתונים המופשט מחסנית מקסימום בפעולה ) DeleteMax( המוציאה את הנתון המקסימלי מהמחסנית ומחזירה את ערכו. הוכיחו כי במודל השוואות, אחת הפעולות Push(x) או ) DeleteMax( תדרוש Ω(log(n)) זמן במקרה הגרוע בכל מימוש שהוא. שאלה 4: נרצה לממש תור בעזרת 2 מחסניות. הסבירו כיצד תתבצע כל אחת מהפעולות הבסיסיות המוגדרות על תור, תוך שימוש בפעולות הבסיסיות של מחסנית כקופסאות שחורות, וכן זיכרון נוסף בגודל קבוע (ללא שימוש ברקורסיה). א. הציעו מימוש פשוט בו היעילות הנדרשת במקרה הגרוע עבור פעולות התור :.O(1) תתבצע ב- EnQueue(x) ) DeQueue( תתבצע ב-,O(k) כאשר k הוא מספר הנתונים כרגע בתור. בנוסף נדרש שסדרה של n פעולות EnQueue ו- DeQueue (בסדר כלשהו) המתחילה מתור ריק )Θ n זמן במקרה הגרוע. 2 תיקח ) שימו לב שמשמעות ה- Θ היא כפולה: א) כוון ה- O: יש להראות שכל n פעולות ייקחו ) 2 O(n זמן. ב) כוון ה- Ω: יש להראות שקיימת סדרת פעולות שתיקח ) 2 Ω(n זמן. ב. הציעו מימוש מתוחכם יותר בו היעילות הנדרשת במקרה הגרוע עבור פעולות התור היא כמו בסעיף א, כלומר:.O(1) תתבצע ב- EnQueue(x) ) DeQueue( תתבצע ב-,O(k) כאשר k הוא מספר הנתונים כרגע בתור. בנוסף נדרש הפעם שסדרה של n פעולות EnQueue ו- DeQueue (בסדר כלשהו) המתחילה מתור ריק תיקח Θ(n) זמן במקרה הגרוע. הערה : חישוב יעילות של סדרת פעולות נקרא.Amortized Analysis התרגיל הוא דוגמה לשני אלגוריתמים שיעילותם במקרה הגרוע זהה לכל פעולה, אך יעילותם שונה לחלוטין עבור סדרה של פעולות. שאלה 5 (רשות לא להגשה): ברצוננו לממש טיפוס נתונים מופשט תור מקסימום MaxQueue שתומך בפעולות EnQueue(x), ו - DeQueue() הרגילות המוגדרות על תור, וכן מאפשר לבצע את הפעולה ) Max( שמחזירה את האיבר הגדול ביותר מבין הנתונים שנמצאים כרגע בתור (מבלי להוציא אותו מהתור!). הציעו מימוש בו היעילות במקרה הגרוע המושגת עבור הפעולות: EnQueue(x) תתבצע ב-,O(k) כאשר k הוא מספר הנתונים כרגע בתור.. O(1) תתבצע ב- DeQueue( ).O(1) תתבצע ב- Max( ) בנוסף נדרש שכל סדרה של n פעולות DeQueue,EnQueue ו- Max (בסדר כלשהו) המתחילה מתור ריק תיקח O(n) במקרה הגרוע. הערה : למעשה אפשר (אך קשה יותר) לבצע את פעולת EnQueue ב- (n O(log במקרה הגרוע. המעוניינים מוזמנים לנסות זאת
14 עצים בינאריים: שאלה 1: נתון עץ בינארי T שבקדקודים שלו יש מספרים טבעיים, חלקם זוגיים, וחלקם אי-זוגיים. העץ ממומש על ידי מצביעים לילדים. כתבו אלגוריתם (T LongestSignChangingPath(Tree שיחזיר את אורכו של המסלול הארוך ביותר שמתחיל בשורש ומורכב מנתונים זוגיים ואי-זוגיים לסירוגין (המסלול אינו חייב להסתיים בעלה). דוגמה: בעץ הבא מודגש המסלול הארוך ביותר (שמתחיל בשורש ומכיל זוגיים ואי-זוגיים לסירוגין), האלגוריתם יחזיר, אם כן, את אורכו לשם כתיבת האלגוריתם השתמשו בשני תורים,Q1. Q2 לכל תור מוגדרות הפעולות הבסיסיות הבאות: ) ( MakeEmpty לרוקן את התור. ) ( IsEmpty מחזירה 1 אם התור ריק, 0 אחרת. data) En Queue (TreeNode מכניסה את הנתון data לתור. הנתון data יכול להיות צומת בעץ, או מצביע לצומת בעץ, עפ"י בחירתכם. ) ( DeQueue מוציאה ומחזירה את הנתון שבראש התור. בנוסף אתם יכולים להשתמש רק בזיכרון נוסף בגודל קבוע (אין להשתמש ברקורסיה). שימו לב, האלגוריתם שלכם ישתמש ב- Q1,Q2 ובפעולות המוגדרות עליהם כבקופסאות שחורות! נתחו את יעילותו של האלגוריתם במקרה הגרוע כפונקציה של מספר הצמתים בעץ, בהנחה שכל פעולות התור יכולות להתבצע ב- (1)O זמן
15 שאלה 2: כתבו אלגוריתם שמדפיס ב- InOrder את כל הנתונים המאוכסנים בעץ בינארי T. האלגוריתם יכול להשתמש בזיכרון נוסף בגודל קבוע בלבד ) אסור לכן למשל להשתמש ברקורסיה, במחסנית או בתור). האלגוריתם ישתמש כקופסה שחורה ב - ADT של עץ בינארי המכיל את הפעולות הבאות : T. מחזירה את הקדקוד שהוא שורש העץ - Root() (n - LeftChild(Node מחזירה את הילד השמאלי של קדקוד n בעץ NULL) T אם אין ילד שמאלי). (n - RightChild(Node מחזירה את הילד הימני של קדקוד n בעץ NULL) T אם אין ילד ימני ). (n Parent(Node מחזירה את הקודקוד שהוא ההורה של n בעץ NULL) T אם n שורש העץ).. T בעץ n מחזירה את הנתונים המאוכסנים בקדקוד - Retrieve(Node (n יש לכתוב את האלגוריתם ב-.Pseudo Code נתחו את יעילותו של האלגוריתם במקרה הגרוע כפונקציה של מספר הצמתים בעץ, בהנחה שכל פעולות ה- ADT יכולות להתבצע ב- (1)O זמן. שאלה 3: הוכיחו שבעץ בינארי מלא (לאו דווקא שלם) מספר העלים גדול באחד ממספר הקדקודים מדרגה 2. שאלה 4: נתון עץ בינארי שלם שגובהו h. חשבו (בסדר גודל) את התוחלת של מספר העלים בתת עץ של צומת בעץ, כפונקציה של h. הניחו שלכל צומת בעץ יש את אותה הסתברות להיבחר
16 עצי חיפוש בינאריים: שאלה 1: נתונים שני קודקודים u ו - v בעץ בינארי T. תארו אלגוריתמים יעילים לחיפוש ההורה הקדמון הנמוך ביותר של u ו- v בעץ במקרים הבאים. ב. העץ הוא עץ רגיל וקיימת (אך ורק) הפעולה (n Parent(Node המחזירה את הקודקוד שהוא ההורה של n בעץ NULL) T אם n שורש העץ ). העץ הוא עץ חיפוש בינארי וקיימות (אך ורק) הפעולות הבאות: T. מחזירה את הקדקוד שהוא שורש העץ - Root() a. - LeftChild(Node (n. b מחזירה את הילד השמאלי של קדקוד n בעץ NULL) T אם אין ילד שמאלי). NULL) אם אין T בעץ n מחזירה את הילד הימני של קדקוד - RightChild(Node (n c. ילד ימני).. T בעץ n מחזירה את הנתונים המאוכסנים בקדקוד - Retrieve(Node n).d כמו ב' אלא שהעץ הוא עץ רגיל. מותר בסעיף זה להשתמש ברקורסיה או במחסנית. א. ג. נתחו את יעילותם במקרה הגרוע של האלגוריתמים שנתתם כפונקציה של גובה העץ. שאלה : 2 נתונים 3 עצים בינאריים, 3 T 1 T, 2 T, וידוע שכל אחד מהם מכיל את n המספרים {n,1,2. עוברים על T 1 ב-,Inorder על T 2 ב- Preorder ועל T 3 ב-.Postorder התוצאה המתקבלת בשלושת המעברים האלה היא, 1,1-n,n, כלומר המספרים מודפסים בסדר יורד. הוכיחו או הפריכו את הטענות הבאות: א. T 1 הוא בהכרח עץ חיפוש בינארי. ב. T 2 הוא בהכרח עץ חיפוש בינארי. ג. אם נעבור על T 2 ב- Postorder ועל T 3 ב- Preorder נקבל אותו פלט בשני המקרים (לאו דווקא הפלט, 1 n-1,.(n,
17 עצים מאוזנים: שאלה 1: עליכם לקרוא בחומר העזר שבמקראה את הנושא AVL Trees ולענות על השאלות הבאות: 8 א. נתון עץ AVL הבא: i) מוסיפים את המפתח 15 לעץ. ציירו את כל השלבים שעובר העץ ואת העץ המתקבל לבסוף. (ii מורידים את המפתח 3 מהעץ המקורי. ציירו את כל השלבים שעובר העץ ואת העץ המתקבל לבסוף. שאלה 2: א. (i) תארו אלגוריתם רקורסיבי IsSearchTree(root) הבודק אם עץ בינארי ששורשו root הוא עץ חיפוש בינארי (הניחו שהעץ ממומש על ידי מצביעים לילדים). האלגוריתם אינו מחזיר שום ערך נוסף (מלבד 0 או 1) ואינו משנה את העץ (אפילו לא זמנית). בנוסף לרקורסיה מותר להשתמש בזיכרון נוסף בגודל קבוע בלבד. (ii) נתחו את יעילותו של אלגוריתם זה במקרה הגרוע כפונקציה של מספר הצמתים בעץ n ושל גובה העץ h. הערה: שימו לב שעליכם להניח ש- n ו- h נתונים ולנתח את זמן הריצה כפונקציה של שניהם. מבין כל העצים בעלי n צמתים שגובהם h, המקרה הגרוע הוא עץ כזה שזמן הריצה של האלגוריתם עליו הוא הגבוה ביותר (איננו יכולים לומר שבמקרה הגרוע גובה העץ הוא n כי זהו רק ערך אפשרי אחד של h, ועלינו לנתח את האלגוריתם לכל h אפשרי). (iii) עתה מותר לאלגוריתם הרקורסיבי IsSearchTree לחשב ולהחזיר ערך אחד נוסף. שנו את האלגוריתם כך שיעילותו כפונקציה של מספר הצמתים בעץ תהפוך לליניארית. הראו שזו אכן יעילותו של האלגוריתם שנתתם. ב. בצעו את השלבים בi, בii, ו- בiii בדומה ל- א' אך הפעם במקום IsSearchTree תארו אלגוריתם רקורסיבי IsAVLTree(root) הבודק אם עץ בינארי ששורשו root הוא עץ AVL (הניחו כמו קודם שהעץ ממומש על ידי מצביעים לילדים)
18 שאלה 3: נתון ה- ADT הבא לשמירת נקודות (y,x) במישור הממשי, התומך בפעולות הבאות: (y Insert(x, מכניס את הנקודה (y,x) למבנה ביעילות,O(log(n)) כאשר n הוא מספר הנקודות במבנה. y) Delete(x, מסיר את הנקודה y) (x, מהמבנה ביעילות O(log(n)), כאשר n הוא מספר הנקודות במבנה. a) SameFactor(double מדפיס את כל הנקודות במבנה המקיימות, x = a y ביעילות log(n)),o(k + כאשר n הוא מספר הנקודות הכולל במבנה, ו- k הוא מספר הנקודות מהמבנה המקיימות קשר זה. הציעו מבנה נתונים למימוש ה- ADT הנ"ל, ופרטו איך תתבצע כל אחת מהפעולות. הערה: ניתן להשתמש במבני הנתונים שנלמדו בכיתה כקופסאות שחורות, מבלי לממשן
19 טבלאות ערבול: שאלה 1: נתונה טבלת ערבול שבה התנגשויות נפתרות בשיטת.Open Addressing הכניסו לטבלה את המפתחות הבאים: 59 90, 17, 28, 16, 4, 31, 22, 10, (מימין לשמאל), כאשר גודל הטבלה הוא = 11 m, תוך שימוש בשיטות הבאות:. h 1 (k) = k mod m כאשר, h(k,i) = (h 1 (k) + i) mod m :Linear Probing א. ב. h(k,i) = (h 1(k) + c1i + c2i 2 ) mod m :Quadratic Probing כאשר (k) h 1 כמו בסעיף א' ו- = 1 1.c 2 = 3 c ג. h(k,i) = (h 1 (k) + ih 2 (k)) mod m :Double Hashing כאשר (k) h 1 כמו בסעיף א,' ו- (m 1)). h 2 (k) = 1+(k mod ציירו את הטבלה המתקבלת בכל אחד מהמקרים. שאלה 2: נתונה טבלת ערבול שבה התנגשויות נפתרות ע"י שרשור, תוך שימוש בשיטת החלוקה ובפונקצית הערבול.h(k) = k mod m הדגימו את הכנסת המפתחות 10,17,12,34,20,16,19,28,5 (מימין לשמאל) טבלה בגודל = 9.m ציירו את הטבלה המתקבלת. שאלה 3: נתונה טבלת ערבול בגודל n ופונקצית ערבול אחידה לטבלה סגורה. איברים המסומנים.(DELETED נניח שיש 5 איברים בטבלה (ואין א. נסמן את ההסתברות שהכנסת המפתח השישי תיקח בדיוק i ניסיונות ב-.pr(i) תנו נוסחה לתוחלת מספר הניסיונות להכנסת המפתח השישי. ב. חשבו ישירות (כלומר ללא שימוש בנוסחאות) את.pr(3) שאלה 4: א. נתונה טבלת ערבול בגודל m שבה התנגשויות נפתרות ע"י שרשור ופונקצית ערבול h. יהי U תחום המפתחות האפשריים. הוכיחו שאם U = m log n אז קיימת תת-קבוצה של log n מפתחות ב- U שכולם ימופו ע"י h לאותו תא בטבלה. ב.נניח עתה ש- h אחידה ושכל m log n המפתחות ב- U הוכנסו בעזרתה לטבלה. מה תהיה יעילות חיפוש מוצלח במקרה הטוב, במקרה הגרוע, ובמקרה הממוצע. הראו את חישוביכם (מותר להשתמש במשפטים שהוכחו בכיתה). שאלה 5: נתונות שתי רשימות משורשרות L, 1 L, 2 כאשר כל רשימה מכילה n נתונים, ונתון בנוסף מספר k. הציעו אלגוריתם שזמן הריצה הממוצע שלו טוב ככל האפשר, אשר בודק אם יש בדיוק k נתונים זהים בשתי הרשימות (k אלו לא חייבים להופיע באותו סדר)
20 שאלה 6: נתון קלט של n מספרים ממשיים הלקוחים בהתפלגות שווה מהקטע (0,1). עליכם לבדוק אם יש בקלט שני מספרים x ו- y כך ש-. x 3 = y א. כתבו אלגוריתם יעיל ככל האפשר במקרה הגרוע. ב. כתבו אלגוריתם יעיל ככל האפשר במקרה הממוצע. בשני המקרים נתחו את יעילות האלגוריתם שלכם
21 ערימות : שאלה 1: נתונה ערמת מקסימום בגודל n כאשר מבנה הנתונים עבורה הוא (כרגיל) מערך ומשתנה המייצג את מספר האיברים בערמה. הניחו שאינדקסי המערך הם, n,1 במקום 1-n,,0 (שינוי זה נועד לפשט את חישוב מיקומו של הורה). תארו אלגוריתם key) PseudoInsert(KeyType המקבל מפתח key ומחזיר את המקום במערך אליו היה נכנס key בסופה של פעולת הערמה key) Insert(KeyType לו בצענו אותה. האלגוריתם PseudoInsert צריך לרוץ בזמן ((n. Ο log(log( הניחו לשם ביצוע האלגוריתם שחישוב כל חזקה של 2 לוקח (1)Θ זמן. הראו ( ) שהאלגוריתם שלכם רץ בזמן הנדרש. שאלה 2: נסתכל על האלגוריתם הבא למיון מערך A בעל n איברים מהגדול לקטן. n יכיל את כך שתת המערך A1,A1,...,A2 A n תת מערכים n A ל- נחלק את (i) A 2 יכיל את n האיברים הבאים ב- A, וכך A, תת המערך האיברים הראשונים ב- הלאה. : 1 i n,i לכל (ii).bubble sort בעזרת A i נמיין את A i אם < 4 o אחרת נמיין את Ai ברקורסיה. o,a1,...,a2 A למערך ממוין אחד בעזרת אלגוריתם n נמזג את תתי המערכים הממוינים (iii) k) = הבא: n למיזוג k מערכים ממוינים (אצלנו נכניס את האיבר הראשון מכל מערך (כלומר הקטן ביותר) לתור עדיפויות מקסימום a. בגודל k. נבצע n איטרציות כדלקמן: b. נוריד את האיבר המקסימלי בתור (בעזרת (DeleteMax ונדפיס אותו. נסמן את i. האיבר שהורדנו ב- y ונניח ש- y הגיע לתור מתת המערך A. j A j (אם נכניס לתור העדיפויות (בעזרת (Insert את האיבר שבא אחרי y ב-.ii קיים איבר נוסף ב- A). j הניחו שתור העדיפויות ממומש ע"י ערימת מקסימום, וששלב a ממומש בעזרת האלגוריתם של,Floyd הבונה ערימה בזמן ליניארי. חשבו חסם הדוק במונחי Θ לזמן הריצה של אלגוריתם המיון שתואר, לפי ההנחיות הבאות: כתבו נוסחת נסיגה לזמן הריצה ופתרו אותה על ידי עץ רקורסיה. יש לשרטט את העץ בצורה ברורה ולהראות את כל החישובים המתבצעים על העץ
22 שאלה 3: נתון עץ בינארי T שבקדקודים שלו יש מספרים שלמים. העץ ממומש על ידי מצביעים לילדים. כתבו אלגוריתם (T OrderedLayers(Tree שידפיס את תוכן הקדקודים של T, רמה אחרי רמה החל מהשורש, כאשר בכל רמה יודפסו המספרים בסדר יורד מהגדול לקטן. דוגמה: עבור העץ הבא יודפס הפלט הבא משמאל לימין,7.,9,3,10,8,5, לשם כתיבת האלגוריתם השתמשו בשני תורי קדימויות מקסימום,Q1 Q2 המכילים זוגות מהצורה (נתונים, מפתח), כאשר שדה הנתונים יכול להכיל קדקוד בעץ (או מצביע לקדקוד), ואילו המפתחות הם מספרים שלמים. סדר הקדימויות בכל תור נקבע כמובן לפי שדה המפתח. לכל תור קדימויות כזה מוגדרות הפעולות הבסיסיות הבאות: ) MakeEmpty( לרוקן את התור. ) ( IsEmpty מחזירה 1 אם התור ריק, 0 אחרת. data) Insert(KeyType key, TreeNod e מכניסה את הזוג data) (key, לתור הקדימויות. ) Max( מחזירה את הזוג data) (key, שהמפתח שלו מקסימלי מבין כל המפתחות בתור. ) DeleteMax( מורידה מהתור את הזוג data) (key, שהמפתח שלו מקסימלי מבין כל המפתחות בתור ומחזירה את הזוג כערך. בנוסף אתם יכולים להשתמש רק בזיכרון נוסף בגודל קבוע ) אין להשתמש ברקורסיה). נתחו גם את מקסימום. יעילותו של האלגוריתם במקרה הגרוע בהנחה שתורי הקדימויות ממומשים על ידי ערימת שימו לב, האלגוריתם שלכם ישתמש ב- Q1,Q2 ובפעולות המוגדרות עליהם כבקופסאות שחורות! שאלה 4: כתבו את הפונקציה key) SetKey(int index, KeyType שמשנה את ערך האיבר הנמצא בתא ה- index במערך המכיל ערימת מקסימום לערך.key הפונקציה תתקן כמובן את הערימה. מה יעילות הפונקציה?
23 שאלה 5: נתונות שתי ערים A,B וביניהן יש p כבישים מקבילים (לא נחתכים), הממוספרים מ - 1 ועד p. במהלך הזמן בונים על הכבישים גשרים, כאשר על כל כביש יכול להיות מספר כלשהו (לא מוגבל) של גשרים, והגובה של כל גשר יכול להיות מספר ממשי חיובי כלשהו. דוגמה: במקרה זה יש = 3 p כבישים בין A ל - B, כאשר על כל כביש מצוירים הגשרים שנבנו עליו, וליד כל גשר רשום גובה הגשר. מספר הגשרים הכולל במקרה זה הוא 6. העירA כביש 3 כביש 2 כביש 1 העירB עליכם לתכנן מבנה נתונים שתומך בפעולות הבאות: Init() אתחול מבנה הנתונים כך שיכיל p כבישים ללא גשרים עליהם. יעילות הפעולה צריכה להיות O(p)..i על כביש מספר h הוספת גשר שגובהו AddBridge(float h, int i) היעילות צריכה להיות (p O(log במקרה הגרוע. (h WhichRoad(float הפונקציה תחזיר מספר של כביש שבו יכולה לנסוע משאית שגובהה h (המשאית תיסע מתחת לגשרים ואסור לה כמובן להיתקל באף אחד מהגשרים שעל הכביש הזה. לכן גובה המשאית צריך להיות קטן ממש מגובה כל הגשרים שעל הכביש). אם יש כמה כבישים שבהם המשאית יכולה לעבור, יוחזר מספרו של אחד מהם. אם המשאית אינה יכולה לעבור באף כביש תחזיר הפונקציה 0. יעילות הפעולה צריכה להיות (1)Θ במקרה הגרוע. i. הפונקציה מדפיסה את הגבהים של כל הגשרים שנמצאים על כביש מספר Print(int (i יעילות הפונקציה צריכה להיות ליניארית במספר הגשרים שעל הכביש. תארו את מבנה הנתונים וכתבו אלגוריתם לכל אחת מהפעולות. הסבירו מדוע יעילות כל אחת מהפעולות היא כנדרש
24 קוד הפמן: שאלה 1: נתון קובץ שבו מספר סוגי התווים השונים הוא n (הקובץ יכול להכיל כמובן כל תו כמה פעמים). נניח שבנינו עץ הפמן לצורך קידוד הקובץ הנתון. כמה צלעות יהיו בעץ שבנינו כפונקציה של n? (שימו לב, אתם מתבקשים לתת תשובה מדויקת ולא במונחים של Θ). הוכיחו תשובתכם. שאלה 2: א. מצאו קוד הפמן עבור השכיחויות הבאות: 16:f :a.,2,2:b :c,4 :d,6 :e,10 מצאו גם את משקלו של הקוד. ב. הוכיחו או הפריכו את הטענה הבאה: נתון קוד הפמן עבור סדרה של שכיחויות ותווים. יהיו x,y שני תווים כך שאורך מילת הקוד של x קטן ממש מאורך מילת הקוד של y. אז בהכרח השכיחות של x קטנה ממש מהשכיחות של y. ג. הוכיחו או הפריכו את הטענה הבאה: נתון קוד הפמן עבור סדרה של שכיחויות ותווים. יהיו x,y שני תווים עם אותו אורך של מילת קוד. אז השכיחות של x שווה לשכיחות של y
25 קבוצות זרות: שאלה 1: נממש את טיפוס הנתונים המופשט (Union- Find) Disjoint Sets כפי שלמדנו בכיתה על ידי רשימות משורשרות כאשר כל איבר מצביע לאיבר הבא בקבוצה וכן מצביע לנציג הקבוצה, ונציג הקבוצה הוא האיבר בראש הרשימה. כמו כן הניחו שבפעולת Union מאחדים קבוצה קטנה לגדולה. כל הנתונים לקוחים מהתחום {n,,1,2. הראו דוגמה של סדרת פעולות MakeSet ו- Union אשר תיקח בסה"כ Ω(nlogn) זמן במבנה הנתונים הזה. שימו לב, הדוגמה צריכה להיות כללית ל- n כלשהו. שאלה 2: נתבונן במשחק הבא: נתון לוח משבצות A בגודל.n n מדי פעם צובעים משבצת בלוח בשחור. כתוצאה מכך נוצרות בלוח צורות שונות. אנחנו נאמר ששתי משבצות שחורות שייכות לאותה צורה בלוח אם אפשר להגיע מאחת המשבצות לשנייה על ידי סדרת משבצות שחורות הנוגעות זו בזו. נגיעה פרושה צלע משותפת; בדוגמה המשבצת (2,4) אינה נוגעת במשבצת (3,3). דוגמה: הלוח A הוא בגודל 4 4. יש בלוח שלוש צורות : (2,1),{(1,1), (2,4) (1,4),,{(1,3),.{(3,3) הציעו מבנה נותנים שיתמוך בפעולות הבאות ביעילות טובה ככל האפשר:.O(n 2 ) אתחול המבנה כך שכל המשבצות יהיו לבנות, בזמן Init( ) y2) SameShape(x1, y1, x2, מחזירים 1 אם זוג המשבצות (x1,y1) ו- (x2,y2) שייכות לאותה צורה בלוח, ואחרת מחזירים 0. Color(x,y) צובעים בשחור את המשבצת,(x,y) כלומר המשבצת שנמצאת בשורה ה- x ובעמודה ה- y. תארו את מבנה הנתונים, וכמו-כן כתבו לכל אחת מהפעולות אלגוריתם, ונתחו את היעילות של כל פעולה במקרה הגרוע. שאלה 3: תארו מימוש של טיפוס נתונים מופשט לייצוג קבוצות זרות שאיבריהן לקוחים מתחום כלשהו (שימו לב שהמימוש שנתנו בכיתה הסתמך על כך שהנתונים הם מהתחום{ n,,1). היעילות הנדרשת לכל אחת מהפעולות (כולל (MakeSet היא (n O(log במקרה הגרוע. תארו את מבני הנתונים שבהם אתם משתמשים, כתבו במילים במדויק כיצד תתבצע כל אחת מהפעולות ונתחו את זמן הריצה שלהן
26 שאלה 4: ברצוננו לממש טיפוס נתונים חדש לייצוג קבוצות זרות שאיבריהן לקוחים מהתחום {n,...,1,2, כך שיתאפשר לבצע את הפעולות הבאות: Makeset(x) יוצרת קבוצה חדשה בעלת איבר יחיד. x האיבר x הינו נציג הקבוצה..x,y מאחדת את שתי הקבוצות שנציגיהן Union(x,y) x. מחזירה את נציג הקבוצה שאליה משתייך - Find(x) Deunion() - מבטלת את השפעתה של פעולת ה- Union האחרונה שבוצעה (לכן k קריאות לפונקציה יבטלו את k פעולות ה - Union האחרונות, בהנחה שבוצעו כמובן לפחות k פעולות Union קודם. אם לא בוצעו פעולות Union קודם לכן, אז הפונקציה Deunion לא תעשה דבר). תארו את מבני הנתונים שבהם אתם משתמשים, כתבו במילים במדויק כיצד תתבצע כל אחת מהפעולות ונתחו את זמן הריצה שלהן
(2) מיונים השאלות. .0 left right n 1. void Sort(int A[], int left, int right) { int p;
מבני נתונים פתרונות לסט שאלות דומה לשאלות בנושאים () זמני ריצה של פונקציות רקורסיביות () מיונים השאלות פתרו את נוסחאות הנסיגה בסעיפים א-ג על ידי הצבה חוזרת T() כאשר = T() = T( ) + log T() = T() כאשר =
Διαβάστε περισσότεραהשאלות..h(k) = k mod m
מבני נתונים פתרונות לסט שאלות דומה לשאלות מתרגיל 5 השאלות 2. נתונה טבלת ערבול שבה התנגשויות נפתרות בשיטת.Open Addressing הכניסו לטבלה את המפתחות הבאים: 59 88, 17, 28, 15, 4, 31, 22, 10, (מימין לשמאל),
Διαβάστε περισσότεραםינותנ ינבמ 3 ליגרתמ תולאשל המוד תולאש טסל תונורתפ תולאשה
מבני נתונים פתרונות לסט שאלות דומה לשאלות מתרגיל 3 השאלות נתונה רשימה משורשרת L המכילה n מספרים שלמים חיוביים מתחום לא חסום כאשר 1 k n = 2 עבור > 0 k כלשהו. נניח שהמספרים ברשימה מקיימים את התכונה הבאה:
Διαβάστε περισσότεραהשאלות ידי מצביעים לילדים.
מבני נתונים פתרונות לסט שאלות דומה לשאלות מתרגיל 4 השאלות 1. כתבו פונקציה לא רקורסיבית שמדפיסה ב- Postorder את כל הנתונים המאוכסנים בעץ בינארי T. הפונקציה אינה צריכה להיות תלויה במימוש העץ T. הניחו שנתון
Διαβάστε περισσότεραפתרון תרגיל 5 מבוא ללוגיקה ותורת הקבוצות, סתיו תשע"ד
פתרון תרגיל 5 מבוא ללוגיקה ותורת הקבוצות, סתיו תשע"ד 1. לכל אחת מן הפונקציות הבאות, קבעו אם היא חח"ע ואם היא על (הקבוצה המתאימה) (א) 3} {1, 2, 3} {1, 2, : f כאשר 1 } 1, 3, 3, 3, { 2, = f לא חח"ע: לדוגמה
Διαβάστε περισσότεραפתרון תרגיל מרחבים וקטורים. x = s t ולכן. ur uur נסמן, ur uur לכן U הוא. ur uur. ur uur
פתרון תרגיל --- 5 מרחבים וקטורים דוגמאות למרחבים וקטורים שונים מושגים בסיסיים: תת מרחב צירוף לינארי x+ y+ z = : R ) בכל סעיף בדקו האם הוא תת מרחב של א } = z = {( x y z) R x+ y+ הוא אוסף הפתרונות של המערכת
Διαβάστε περισσότεραחורף תש''ע פתרון בחינה סופית מועד א'
מד''ח 4 - חורף תש''ע פתרון בחינה סופית מועד א' ( u) u u u < < שאלה : נתונה המד''ח הבאה: א) ב) ג) לכל אחד מן התנאים המצורפים בדקו האם קיים פתרון יחיד אינסוף פתרונות או אף פתרון אם קיים פתרון אחד או יותר
Διαβάστε περισσότερα( n) ( ) ( ) שאלה 1: שאלה 2: שאלה 3: (n 5) = Θ. ב. אם f 1, f 2, g 1, g 2. .g 1 *g 2 = Ω(f 1 *f 2 ) , g. ג. ) n.n! = θ(n*2. n) f ( אז ד. אם ה. אם ו.
נתונים מבני לקט שאלות ממבחנים - 0 - ניתוח סדרי גודל ב. שאלה 1: הוכיחו או הפריכו את הטענות הבאות ישירות על ידי שימוש בהגדרות 3 3 א. ) =Ω( log( ) =Ω( ) ( ) log(log ) = O ( 5) log (+ 5) = O() 6 ( 10 ) =Θ(
Διαβάστε περισσότεραתרגיל 13 משפטי רול ולגראנז הערות
Mthemtics, Summer 20 / Exercise 3 Notes תרגיל 3 משפטי רול ולגראנז הערות. האם קיים פתרון למשוואה + x e x = בקרן )?(0, (רמז: ביחרו x,f (x) = e x הניחו שיש פתרון בקרן, השתמשו במשפט רול והגיעו לסתירה!) פתרון
Διαβάστε περισσότεραפתרון תרגיל 8. מרחבים וקטורים פרישה, תלות \ אי-תלות לינארית, בסיס ומימד ... ( ) ( ) ( ) = L. uuruuruur. { v,v,v ( ) ( ) ( ) ( )
פתרון תרגיל 8. מרחבים וקטורים פרישה, תלות \ אי-תלות לינארית, בסיס ומימד a d U c M ( יהי b (R) a b e ל (R M ( (אין צורך להוכיח). מצאו קבוצה פורשת ל. U בדקו ש - U מהווה תת מרחב ש a d U M (R) Sp,,, c a e
Διαβάστε περισσότεραדף פתרונות 7 נושא: תחשיב הפסוקים: צורה דיסיונקטיבית נורמלית, מערכת קשרים שלמה, עקביות
יסודות לוגיקה ותורת הקבוצות למערכות מידע (סמסטר ב 2012) דף פתרונות 7 נושא: תחשיב הפסוקים: צורה דיסיונקטיבית נורמלית, מערכת קשרים שלמה, עקביות 1. מצאו צורה דיסיונקטיבית נורמלית קנונית לפסוקים הבאים: (ג)
Διαβάστε περισσότεραסדרות - תרגילים הכנה לבגרות 5 יח"ל
סדרות - הכנה לבגרות 5 יח"ל 5 יח"ל סדרות - הכנה לבגרות איברים ראשונים בסדרה) ) S מסמן סכום תרגיל S0 S 5, S6 בסדרה הנדסית נתון: 89 מצא את האיבר הראשון של הסדרה תרגיל גוף ראשון, בשנייה הראשונה לתנועתו עבר
Διαβάστε περισσότεραיסודות לוגיקה ותורת הקבוצות למערכות מידע (סמסטר ב 2012)
יסודות לוגיקה ותורת הקבוצות למערכות מידע (סמסטר ב 2012) דף פתרונות 6 נושא: תחשיב הפסוקים: הפונקציה,val גרירה לוגית, שקילות לוגית 1. כיתבו טבלאות אמת לפסוקים הבאים: (ג) r)).((p q) r) ((p r) (q p q r (p
Διαβάστε περισσότεραצעד ראשון להצטיינות מבוא: קבוצות מיוחדות של מספרים ממשיים
מבוא: קבוצות מיוחדות של מספרים ממשיים קבוצות של מספרים ממשיים צעד ראשון להצטיינות קבוצה היא אוסף של עצמים הנקראים האיברים של הקבוצה אנו נתמקד בקבוצות של מספרים ממשיים בדרך כלל מסמנים את הקבוצה באות גדולה
Διαβάστε περισσότεραגבול ורציפות של פונקציה סקלרית שאלות נוספות
08 005 שאלה גבול ורציפות של פונקציה סקלרית שאלות נוספות f ( ) f ( ) g( ) f ( ) ו- lim f ( ) ו- ( ) (00) lim ( ) (00) f ( בסביבת הנקודה (00) ) נתון: מצאו ) lim g( ( ) (00) ננסה להיעזר בכלל הסנדביץ לשם כך
Διαβάστε περισσότεραל הזכויות שמורות לדפנה וסטרייך
מרובע שכל זוג צלעות נגדיות בו שוות זו לזו נקרא h באיור שלעיל, הצלעות ו- הן צלעות נגדיות ומתקיים, וכן הצלעות ו- הן צלעות נגדיות ומתקיים. תכונות ה כל שתי זוויות נגדיות שוות זו לזו. 1. כל שתי צלעות נגדיות
Διαβάστε περισσότερα( )( ) ( ) f : B C היא פונקציה חח"ע ועל מכיוון שהיא מוגדרת ע"י. מכיוון ש f היא פונקציהאז )) 2 ( ( = ) ( ( )) היא פונקציה חח"ע אז ועל פי הגדרת
הרצאה 7 יהיו :, : C פונקציות, אז : C חח"ע ו חח"ע,אז א אם על ו על,אז ב אם ( על פי הגדרת ההרכבה )( x ) = ( )( x x, כךש ) x א יהיו = ( x ) x חח"ע נקבל ש מכיוון ש חח"ע נקבל ש מכיוון ש ( b) = c כך ש b ( ) (
Διαβάστε περισσότερα= 2. + sin(240 ) = = 3 ( tan(α) = 5 2 = sin(α) = sin(α) = 5. os(α) = + c ot(α) = π)) sin( 60 ) sin( 60 ) sin(
א. s in(0 c os(0 s in(60 c os(0 s in(0 c os(0 s in(0 c os(0 s in(0 0 s in(70 מתאים לזהות של cos(θsin(φ : s in(θ φ s in(θcos(φ sin ( π cot ( π cos ( 4πtan ( 4π sin ( π cos ( π sin ( π cos ( 4π sin ( 4π
Διαβάστε περισσότεραתרגול 1 חזרה טורי פורייה והתמרות אינטגרליות חורף תשע"ב זהויות טריגונומטריות
תרגול חזרה זהויות טריגונומטריות si π α) si α π α) α si π π ), Z si α π α) t α cot π α) t α si α cot α α α si α si α + α siα ± β) si α β ± α si β α ± β) α β si α si β si α si α α α α si α si α α α + α si
Διαβάστε περισσότεραמבני נתונים מבחן מועד ב' סמסטר חורף תשס"ו
TECHNION - ISRAEL INSTITUTE OF TECHNOLOGY DEPARTMENT OF COMPUTER SCIENCE הטכניון - מכון טכנולוגי לישראל הפקולטה למדעי המחשב מרצים: רן אל-יניב, נאדר בשותי מבני נתונים 234218-1 מבחן מועד ב' סמסטר חורף תשס"ו
Διαβάστε περισσότεραI. גבולות. x 0. מתקיים L < ε. lim אם ורק אם. ( x) = 1. lim = 1. lim. x x ( ) הפונקציה נגזרות Δ 0. x Δx
דפי נוסחאות I גבולות נאמר כי כך שלכל δ קיים > ε לכל > lim ( ) L המקיים ( ) מתקיים L < ε הגדרת הגבול : < < δ lim ( ) lim ורק ( ) משפט הכריך (סנדוויץ') : תהיינה ( ( ( )g ( )h פונקציות המוגדרות בסביבה נקובה
Διαβάστε περισσότεραשדות תזכורת: פולינום ממעלה 2 או 3 מעל שדה הוא פריק אם ורק אם יש לו שורש בשדה. שקיימים 5 מספרים שלמים שונים , ראשוני. שעבורם
תזכורת: פולינום ממעלה או מעל שדה הוא פריק אם ורק אם יש לו שורש בשדה p f ( m i ) = p m1 m5 תרגיל: נתון עבור x] f ( x) Z[ ראשוני שקיימים 5 מספרים שלמים שונים שעבורם p x f ( x ) f ( ) = נניח בשלילה ש הוא
Διαβάστε περισσότεραמבני נתונים ויעילות אלגוריתמים
מבני נתונים ויעילות אלגוריתמים (8..05). טענה אודות סדר גודל. log טענה: מתקיים Θ(log) (!) = הוכחה: ברור שמתקיים: 3 4... 4 4 4... 43 פעמים במילים אחרות:! נוציא לוגריתם משני האגפים: log(!) log( ) log(a b
Διαβάστε περισσότεραTECHNION - ISRAEL INSTITUTE OF TECHNOLOGY DEPARTMENT OF COMPUTER SCIENCE סמסטר אביב תשס"ו מס' סטודנט:
TECHNION ISRAEL INSTITUTE OF TECHNOLOGY DEPARTMENT OF COMPUTER SCIENCE הטכניון מכון טכנולוגי לישראל הפקולטה למדעי המחשב מבני נתונים 234218 1 מבחן מועד ב ' סמסטר אביב תשס"ו מרצה: אהוד ריבלין מתרגלים: איתן
Διαβάστε περισσότεραשאלה 1 V AB פתרון AB 30 R3 20 R
תרגילים בתורת החשמל כתה יג שאלה א. חשב את המתח AB לפי משפט מילמן. חשב את הזרם בכל נגד לפי המתח שקיבלת בסעיף א. A 60 0 8 0 0.A B 8 60 0 0. AB 5. v 60 AB 0 0 ( 5.) 0.55A 60 א. פתרון 0 AB 0 ( 5.) 0 0.776A
Διαβάστε περισσότεραמשוואות רקורסיביות רקורסיה זו משוואה או אי שוויון אשר מתארת פונקציה בעזרת ערכי הפונקציה על ארגומנטים קטנים. למשל: יונתן יניב, דוד וייץ
משוואות רקורסיביות הגדרה: רקורסיה זו משוואה או אי שוויון אשר מתארת פונקציה בעזרת ערכי הפונקציה על ארגומנטים קטנים למשל: T = Θ 1 if = 1 T + Θ if > 1 יונתן יניב, דוד וייץ 1 דוגמא נסתכל על האלגוריתם הבא למציאת
Διαβάστε περισσότεραלדוגמה: במפורט: x C. ,a,7 ו- 13. כלומר בקיצור
הרצאה מס' 1. תורת הקבוצות. מושגי יסוד בתורת הקבוצות.. 1.1 הקבוצה ואיברי הקבוצות. המושג קבוצה הוא מושג בסיסי במתמטיקה. אין מושגים בסיסים יותר, אשר באמצעותם הגדרתו מתאפשרת. הניסיון והאינטואיציה עוזרים להבין
Διαβάστε περισσότεραLogic and Set Theory for Comp. Sci.
234293 - Logic and Set Theory for Comp. Sci. Spring 2008 Moed A Final [partial] solution Slava Koyfman, 2009. 1 שאלה 1 לא נכון. דוגמא נגדית מפורשת: יהיו } 2,(p 1 p 2 ) (p 2 p 1 ).Σ 2 = {p 2 p 1 },Σ 1 =
Διαβάστε περισσότεραמבני נתונים ואלגוריתמים תרגול #3 נושאים: תור קדימויות/ערימה, עצים
מבני נתונים ואלגוריתמים תרגול #3 נושאים: תור קדימויות/ערימה, עצים חזרה מבנה נתונים אמצעי לאחסון נתונים במחשב. יש הרבה סוגים שונים, וצריך להשתמש במבנה שהכי מתאים לבעיה שלנו מבחינת שימוש בנתונים הוספה, מחיקה
Διαβάστε περισσότεραgcd 24,15 = 3 3 =
מחלק משותף מקסימאלי משפט אם gcd a, b = g Z אז קיימים x, y שלמים כך ש.g = xa + yb במלים אחרות, אם ה כך ש.gcd a, b = xa + yb gcd,a b של שני משתנים הוא מספר שלם, אז קיימים שני מקדמים שלמים כאלה gcd 4,15 =
Διαβάστε περισσότεραתוכן הפרק: ,best case, average case דוגמאות 1. זמן - נמדד באמצעות מס' פעולות סיבוכיות, דוגמאות, שיפור בפקטור קבוע האלגוריתם. וגודלם. איטרטיביים. לקלט.
פרק סיבוכיות פרק סיבוכיות המושג יעילות מהו? במדעי המחשב היעילות נמדדת בעזרת מדדי סיבוכיות, החשובים שבהם: של אלגוריתמים יעילותם תוכן הפרק: יעילות מהי (זיכרון וזמן, זמן ריצה T( של אלגוריתם מהו, מהם case,
Διαβάστε περισσότεραתרגול פעולות מומצאות 3
תרגול פעולות מומצאות. ^ = ^ הפעולה החשבונית סמן את הביטוי הגדול ביותר:. ^ ^ ^ π ^ הפעולה החשבונית c) #(,, מחשבת את ממוצע המספרים בסוגריים.. מהי תוצאת הפעולה (.7,.0,.)#....0 הפעולה החשבונית משמשת חנות גדולה
Διαβάστε περισσότερα3-9 - a < x < a, a < x < a
1 עמוד 59, שאלהמס', 4 סעיףג' תיקוני הקלדה שאלון 806 צריך להיות : ג. מצאאתמקומושלאיברבסדרהזו, שקטןב- 5 מסכוםכלהאיבריםשלפניו. עמוד 147, שאלהמס' 45 ישלמחוקאתהשאלה (מופיעהפעמיים) עמוד 184, שאלהמס', 9 סעיףב',תשובה.
Διαβάστε περισσότεραאסימפטוטיים תוכנית הקורס עצי AVL עצי 2-3 עצי דרגות סיבוכיות משוערכת מיון מיון שימושים: גרפים איסוף אשפה
תוכנית הקורס cs, Technion 2..3.4 מבני נתונים בסיסיים וסימונים אסימפטוטיים מערכים ורשימות מקושרות עצים ועצי חיפוש עצי AVL עצי 2-3 עצי דרגות.5 רשימות דילוגים סיבוכיות משוערכת.6.7.8.9.0..3.4 מטרת הקורס: מבני
Διαβάστε περισσότεραלוגיקה ותורת הקבוצות פתרון תרגיל בית 8 חורף תשע"ו ( ) ... חלק ראשון: שאלות שאינן להגשה נפריד למקרים:
לוגיקה ותורת הקבוצות פתרון תרגיל בית 8 חורף תשע"ו ( 2016 2015 )............................................................................................................. חלק ראשון: שאלות שאינן להגשה.1
Διαβάστε περισσότεραמבני נתונים מבחן מועד א' סמסטר אביב תשס"ו
TECHNION ISRAEL INSTITUTE OF TECHNOLOGY DEPARTMENT OF COMPUTER SCIENCE הטכניון מכון טכנולוגי לישראל הפקולטה למדעי המחשב מרצה: אהוד ריבלין מבני נתונים 234218 1 מבחן מועד א' סמסטר אביב תשס"ו מתרגלים: איתן
Διαβάστε περισσότερα2 יח"ל ) השלמה ל - 5 יח"ל) (50 נקודות) מעבר חוקי, ו-'שקר' אחרת.
1 6 מאי, 2004 מועד הבחינה: 2 יח"ל ) השלמה ל - 5 יח"ל) פרק ראשון (50 נקודות) :1 Ï (מקור: שירלי רוזנברג כהן) נגדיר טיפוס נתונים חדש בשם תלת-מחסנית, כמבנה המכיל 3 מחסניות S3. S2, S1, נגדיר את הפעולות הבאות
Διαβάστε περισσότεραמבני נתונים 08a תרגול 8 14/2/2008 המשך ערמות ליאור שפירא
מבני נתונים 08a תרגול 8 14/2/2008 המשך ערמות ליאור שפירא ערמות פיבונאצ'י Operation Linked List Binary Heap Binomial Heap Fibonacci Heap Relaxed Heap make-heap 1 1 1 1 1 is-empty 1 1 1 1 1 insert 1 log
Διαβάστε περισσότεραחלק א' שאלה 3. a=3, b=2, k=0 3. T ( n) היותר H /m.
פתרון למבחן במבני נתונים, מועד א', קיץ 2005 חלק א' שאלה 1 א. רכיב הקשירות החזק של קודקוד x בגרף מכוון הינו אוסף כל הקודקודים y שמקימים שיש מסלול מ- x ל- y וכן מסלול מy ל- x. טעויות נפוצות שכחו לכתוב שזה
Διαβάστε περισσότεραלוגיקה ותורת הקבוצות פתרון תרגיל בית 4 אביב תשע"ו (2016)
לוגיקה ותורת הקבוצות פתרון תרגיל בית 4 אביב תשע"ו (2016)............................................................................................................. חלק ראשון: שאלות שאינן להגשה 1. עבור
Διαβάστε περισσότεραאלגברה ליניארית (1) - תרגיל 6
אלגברה ליניארית (1) - תרגיל 6 התרגיל להגשה עד יום חמישי (12.12.14) בשעה 16:00 בתא המתאים בבניין מתמטיקה. נא לא לשכוח פתקית סימון. 1. עבור כל אחד מתת המרחבים הבאים, מצאו בסיס ואת המימד: (א) 3)} (0, 6, 3,,
Διαβάστε περισσότεραמיונים א': מיון (Sorting) HeapSort. QuickSort תור עדיפויות / ערימה
מיון (Sorting) void BubbleSort(int* A, int n){ for (i = ; i < n-; i++) for (j = n-; j >= i; j--) if ( a[j] > a[j+]) swap(&a[j], &a[j+]); מערך בן מספרים. קלט: מערך ובו המספרים מאוחסנים בסדר עולה (או יורד).
Διαβάστε περισσότεραתשובות מלאות לבחינת הבגרות במתמטיקה מועד ג' תשע"ד, מיום 0/8/0610 שאלונים: 315, מוצע על ידי בית הספר לבגרות ולפסיכומטרי של אבירם פלדמן
תשובות מלאות לבחינת הבגרות במתמטיקה מועד ג' תשע"ד, מיום 0/8/0610 שאלונים: 315, 635865 מוצע על ידי בית הספר לבגרות ולפסיכומטרי של אבירם פלדמן שאלה מספר 1 נתון: 1. סדרה חשבונית שיש בה n איברים...2 3. האיבר
Διαβάστε περισσότεραתרגיל 7 פונקציות טריגונומטריות הערות
תרגיל 7 פונקציות טריגונומטריות הערות. פתרו את המשוואות הבאות. לא מספיק למצוא פתרון אחד יש למצוא את כולם! sin ( π (א) = x sin (ב) = x cos (ג) = x tan (ד) = x) (ה) = tan x (ו) = 0 x sin (x) + sin (ז) 3 =
Διαβάστε περισσότεραbrookal/logic.html לוגיקה מתמטית תרגיל אלון ברוק
יום א 14 : 00 15 : 00 בניין 605 חדר 103 http://u.cs.biu.ac.il/ brookal/logic.html לוגיקה מתמטית תרגיל אלון ברוק 29/11/2017 1 הגדרת קבוצת הנוסחאות הבנויות היטב באינדוקציה הגדרה : קבוצת הנוסחאות הבנויות
Διαβάστε περισσότεραתרגול מס' 6 פתרון מערכת משוואות ליניארית
אנליזה נומרית 0211 סתיו - תרגול מס' 6 פתרון מערכת משוואות ליניארית נרצה לפתור את מערכת המשוואות יהי פתרון מקורב של נגדיר את השארית: ואת השגיאה: שאלה 1: נתונה מערכת המשוואות הבאה: הערך את השגיאה היחסית
Διαβάστε περισσότεραחידה לחימום. כתבו תכappleית מחשב, המקבלת כקלט את M ו- N, מחליטה האם ברצוappleה להיות השחקן הפותח או השחקן השappleי, ותשחק כך שהיא תappleצח תמיד.
חידה לחימום ( M ש- N > (כך מספרים טבעיים Mו- N שappleי appleתוappleים בעלי אותה הזוגיות (שappleיהם זוגיים או שappleיהם אי - זוגיים). המספרים הטבעיים מ- Mעד Nמסודרים בשורה, ושappleי שחקappleים משחקים במשחק.
Διαβάστε περισσότερα{ : Halts on every input}
אוטומטים - תרגול 13: רדוקציות, משפט רייס וחזרה למבחן E תכונה תכונה הינה אוסף השפות מעל.(property המקיימות תנאים מסוימים (תכונה במובן של Σ תכונה לא טריביאלית: תכונה היא תכונה לא טריוויאלית אם היא מקיימת:.
Διαβάστε περισσότεραמבני נתונים ויעילות אלגוריתמים
חידה לחימום בסל מקש יש צמר. כדורי 00 שני שחקנים משחקים בתורות: כל שחקן, בתורו, צריך להוציא כמות כלשהי של כדורי צמר מהסל לפחות כדור אחד, אך לא יותר ממחצית מכמות כדורי הצמר שבסל. מי שלא יכול לעשות מהלך (מתי
Διαβάστε περισσότερα[ ] Observability, Controllability תרגול 6. ( t) t t קונטרולבילית H למימדים!!) והאובז' דוגמא: x. נשתמש בעובדה ש ) SS rank( S) = rank( עבור מטריצה m
Observabiliy, Conrollabiliy תרגול 6 אובזרווביליות אם בכל רגע ניתן לשחזר את ( (ומכאן גם את המצב לאורך זמן, מתוך ידיעת הכניסה והיציאה עד לרגע, וזה עבור כל צמד כניסה יציאה, אז המערכת אובזרוובילית. קונטרולביליות
Διαβάστε περισσότεραאלגוריתמים 1, סמסטר אביב 2017
BFS, DFS, Topological Sort תרגיל בית 1 מוסכמות והנחות להלן רשימת הנחות ומוסכמות אשר תקפות לכל השאלות, אלא אם כן נכתב אחרת במפורש בגוף השאלה. עליכם להוכיח נכונות ולנתח סיבוכיות עבור כל אלגוריתם מוצע. במידה
Διαβάστε περισσότεραתורת הגרפים - סימונים
תורת הגרפים - סימונים.n = V,m = E בהינתן גרף,G = V,E נסמן: בתוך סימוני ה O,o,Ω,ω,Θ נרשה לעצמנו אף להיפטר מהערך המוחלט.. E V,O V + E כלומר, O V + E נכתוב במקום אם כי בכל מקרה אחר נכתוב או קשת של גרף לא
Διαβάστε περισσότεραHash Tables (המשך) ערבול (Hashing)
מילון עם מפתחות שלמים Lecture of Geiger & Itai s slide brochure www.cs.technion.ac.il/~dang/courseds טבלאות ערבול הפעולות הבסיסיות של מילון הן כזכור חיפוש, הכנסה, והוצאה. אם המפתחות מספרים שלמים בתחום
Διαβάστε περισσότεραתאריך הבחינה: שם המרצה: רפי כהן שם המתרגל: יסודות מבני נתונים שם הקורס:
תאריך הבחינה:... נובה פנדינה שם המרצה: רפי כהן שם המתרגל: יסודות מבני נתונים שם הקורס:..00 מספר הקורס:. סמסטר: א' מועד: שנה: שלוש שעות משך הבחינה: ללא חומר עזר חומר עזר: ב' הנחיות חשובות: רצוי לפתור את
Διαβάστε περισσότεραדוגמה: יהי T עץ בינארי כפי שמתואר בציור הבא:
של שאלות מבחינות פתרונות.1 שאלהזוהופיעהבמבחןמועדג 01 דוגמה: יהי T עץ בינארי כפי שמתואר בציור הבא: הגדרות: עבור צומת בעץ בינארי T נסמן ב- T את תת העץ של T ששורשו. (תת העץ הזה כולל את ). נגדיר את תת העץ
Διαβάστε περισσότεραמתמטיקה בדידה תרגול מס' 5
מתמטיקה בדידה תרגול מס' 5 נושאי התרגול: פונקציות 1 פונקציות הגדרה 1.1 פונקציה f מ A (התחום) ל B (הטווח) היא קבוצה חלקית של A B המקיימת שלכל a A קיים b B יחיד כך ש. a, b f a A.f (a) = ιb B. a, b f או, בסימון
Διαβάστε περισσότεραתורת הקבוצות תרגיל בית 2 פתרונות
תורת הקבוצות תרגיל בית 2 פתרונות חיים שרגא רוזנר כ"ה בניסן, תשע"ה תזכורות תקציר איזומורפיזם סדר, רישא, טרנזיטיביות, סודרים, השוואת סודרים, סודר עוקב, סודר גבולי. 1. טרנזיטיבות וסודרים קבוצה A היא טרנזיטיבית
Διαβάστε περισσότεραמבחן מועד ב' בהצלחה! אנא קיראו היטב את ההוראות שלהלן: ודאו כי כל עמודי הבחינה נמצאים בידכם.
7.8.2017 מבחן מועד ב' תאריך הבחינה: שמות המרצים: מר בועז ארד פרופ' עמוס ביימל מר יהונתן כהן דר' עדן כלמטץ' גב' מיכל שמש אנא קיראו היטב את ההוראות שלהלן: שם הקורס: תכנון אלגוריתמים מספר הקורס: 202-1-2041
Διαβάστε περισσότεραאוסף שאלות מס. 3 פתרונות
אוסף שאלות מס. 3 פתרונות שאלה מצאו את תחום ההגדרה D R של כל אחת מהפונקציות הבאות, ושרטטו אותו במישור. f (x, y) = x + y x y, f 3 (x, y) = f (x, y) = xy x x + y, f 4(x, y) = xy x y f 5 (x, y) = 4x + 9y 36,
Διαβάστε περισσότεραמתמטיקה בדידה תרגול מס' 12
מתמטיקה בדידה תרגול מס' 2 נושאי התרגול: נוסחאות נסיגה נוסחאות נסיגה באמצעות פונקציות יוצרות נוסחאות נסיגה באמצעות פולינום אופייני נוסחאות נסיגה לעתים מפורש לבעיה קומבינטורית אינו ידוע, אך יחסית קל להגיע
Διαβάστε περισσότεραהגדרה: קבוצת פעילויות חוקית היא קבוצה בה כל שתי פעילויות
אלגוריתמים חמדניים אלגוריתם חמדן, הוא כזה שבכל צעד עושה את הבחירה הטובה ביותר האפשרית, ולא מתחרט בהמשך גישה זו נראית פשטנית מדי, וכמובן שלא תמיד היא נכונה, אך במקרים רבים היא מוצאת פתרון אופטימאלי בתרגול
Διαβάστε περισσότεραסיכום- בעיות מינימוםמקסימום - שאלון 806
סיכום- בעיות מינימוםמקסימום - שאלון 806 בבעיותמינימום מקסימוםישלחפשאתנקודותהמינימוםהמוחלטוהמקסימוםהמוחלט. בשאלות מינימוםמקסימוםחובהלהראותבעזרתטבלה אובעזרתנגזרתשנייהשאכן מדובר עלמינימוםאומקסימום. לצורךקיצורהתהליך,
Διαβάστε περισσότεραמתכנס בהחלט אם n n=1 a. k=m. k=m a k n n שקטן מאפסילון. אם קח, ניקח את ה- N שאנחנו. sin 2n מתכנס משום ש- n=1 n. ( 1) n 1
1 טורים כלליים 1. 1 התכנסות בהחלט מתכנס. מתכנס בהחלט אם n a הגדרה.1 אומרים שהטור a n משפט 1. טור מתכנס בהחלט הוא מתכנס. הוכחה. נוכיח עם קריטריון קושי. יהי אפסילון גדול מ- 0, אז אנחנו יודעים ש- n N n>m>n
Διαβάστε περισσότεραכלליים זמן: S מחסנית, top(s) ראש המחסנית. (Depth First Search) For each unmarked DFS(v) / BFS(v) רקורסיבי. אלגוריתם :BFS
כלליים שיטות חיפוש בבגרפים שיטה 1: חיפוש לרוחב S (readth irst Search) זמן: ) Θ( V + הרעיון: שימוש בתור.O שיטה 2: חיפוש לעומק S (epth irst Search) Θ( V + ) יהי =(V,) גרף כלשהו, V הוא צומת התחלת החיפוש.
Διαβάστε περισσότεραמבני נתונים (234218) 1
מבני נתונים (234218) 1 חומר עזר לבחינה 13 בספטמבר 2016 שימו לב: מותר לצטט טענות המופיעות בדף זה ללא הוכחה. כל טענה אחרת, שאינה מופיעה באופן מפורש, יש לנמק באופן מלא. נימוקים מהצורה "בדומה לטענה שבחומר
Διαβάστε περισσότεραניהול תמיכה מערכות שלבים: DFfactor=a-1 DFt=an-1 DFeror=a(n-1) (סכום _ הנתונים ( (מספר _ חזרות ( (מספר _ רמות ( (סכום _ ריבועי _ כל _ הנתונים (
תכנון ניסויים כאשר קיימת אישביעות רצון מהמצב הקיים (למשל כשלים חוזרים בבקרת תהליכים סטטיסטית) נחפש דרכים לשיפור/ייעול המערכת. ניתן לבצע ניסויים על גורם בודד, שני גורמים או יותר. ניסויים עם גורם בודד: נבצע
Διαβάστε περισσότεραמבני נתונים מבחן מועד א' סמסטר חורף תשס"ו
TECHNION - ISRAEL INSTITUTE OF TECHNOLOGY DEPARTMENT OF COMPUTER SCIENCE הטכניון - מכון טכנולוגי לישראל הפקולטה למדעי המחשב מרצים: רן אל-יניב, נאדר בשותי מבני נתונים 234218-1 מבחן מועד א' סמסטר חורף תשס"ו
Διαβάστε περισσότεραאלגברה מודרנית פתרון שיעורי בית 6
אלגברה מודרנית פתרון שיעורי בית 6 15 בינואר 016 1. יהי F שדה ויהיו q(x) p(x), שני פולינומים מעל F. מצאו פולינומים R(x) S(x), כך שמתקיים R(x),p(x) = S(x)q(x) + כאשר deg(q),deg(r) < עבור המקרים הבאים: (תזכורת:
Διαβάστε περισσότεραתאריך עדכון אחרון: 27 בפברואר ניתוח לשיעורין analysis) (amortized הוא טכניקה לניתוח זמן ריצה לסדרת פעולות, אשר מאפשר קבלת
תרגול 3 ניתוח לשיעורין תאריך עדכון אחרון: 27 בפברואר 2011. ניתוח לשיעורין analysis) (amortized הוא טכניקה לניתוח זמן ריצה לסדרת פעולות, אשר מאפשר קבלת חסמי זמן ריצה נמוכים יותר מאשר חסמים המתקבלים כאשר
Διαβάστε περισσότεραסיכום בנושא של דיפרנציאביליות ונגזרות כיווניות
סיכום בנושא של דיפרנציאביליות ונגזרות כיווניות 25 בדצמבר 2016 תזכורת: תהי ) n f ( 1, 2,..., פונקציה המוגדרת בסביבה של f. 0 גזירה חלקית לפי משתנה ) ( = 0, אם קיים הגבול : 1 0, 2 0,..., בנקודה n 0 i f(,..,n,).lim
Διαβάστε περισσότεραבחינה בסיבוכיות עמר ברקמן, ישי חביב מדבקית ברקוד
בחינה בסיבוכיות עמר ברקמן, ישי חביב מדבקית ברקוד סמסטר: א' מועד: א' תאריך: יום ה' 0100004 שעה: 04:00 משך הבחינה: שלוש שעות חומר עזר: אין בבחינה שני פרקים בפרק הראשון 8 שאלות אמריקאיות ולכל אחת מהן מוצעות
Διαβάστε περισσότεραמבני נתונים הגבלת אחריות פרק - 1 אלגוריתמי מיון ואנליזה אסימפטוטית. מיון בועות Sort Bubble מאת : סשה גולדשטיין,
009 מבני נתונים סיכום למבחן, יולי sashag@cs מאת : סשה גולדשטיין, 7:50,3.7.09 עדכון אחרון : בשעה הגבלת אחריות הסיכום להלן הוא האינטרפרטציה שלי של החומר, שממש לא חייבת להיות נכונה או מייצגת את זו של הסגל.
Διαβάστε περισσότεραאלגברה ליניארית 1 א' פתרון 2
אלגברה ליניארית א' פתרון 3 4 3 3 7 9 3. נשתמש בכתיבה בעזרת מטריצה בכל הסעיפים. א. פתרון: 3 3 3 3 3 3 9 אז ישנו פתרון יחיד והוא = 3.x =, x =, x 3 3 הערה: אפשר גם לפתור בדרך קצת יותר ארוכה, אבל מבלי להתעסק
Διαβάστε περισσότεραקיום ויחידות פתרונות למשוואות דיפרנציאליות
קיום ויחידות פתרונות למשוואות דיפרנציאליות 1 מוטיבציה למשפט הקיום והיחידות אנו יודעים לפתור משוואות דיפרנציאליות ממחלקות מסוימות, כמו משוואות פרידות או משוואות לינאריות. עם זאת, קל לכתוב משוואה דיפרנציאלית
Διαβάστε περισσότεραלוגיקה ותורת הקבוצות מבחן סופי אביב תשע"ב (2012) דפי עזר
לוגיקה ותורת הקבוצות מבחן סופי אביב תשע"ב (2012) דפי עזר תורת הקבוצות: סימונים.N + = N \ {0} קבוצת המספרים הטבעיים; N Z קבוצת המספרים השלמים. Q קבוצת המספרים הרציונליים. R קבוצת המספרים הממשיים. הרכבת
Διαβάστε περισσότεραמבני נתונים עצים שיעור 7
בס ד מבני נתונים עצים שיעור 7 שי גולן כ ח בניסן, תשע ו 6 במאי 2016 תקציר בתרגול זה נתחיל לדון בעצים. נגדיר עצים כלליים ועצים בינאריים, ונציג את ההגדרות הבסיסיות בתחום. נתרגל הוכחת תכונות של עצים באמצעות
Διαβάστε περισσότεραתכנון אלגוריתמים 2016 עבודה 1 שאלה 1 פתרון נתונות שתי בעיות. יש למצוא: אורך מסלול קצר ביותר המתחיל באחד מן הקודקודים s 1,..., s k ומסתיים ב t.
תכנון אלגוריתמים 2016 עבודה 1 פתרון שאלה 1 נזכר כי בגרף (E G, =,V) עבור שני קודקודים d(u, (v,u, v הוא אורך מסלול קצר ביותר מ u ל v. אם אין מסלול מ u ל.d(u, v) =,v נתונות שתי בעיות. בעיה א' מופע: גרף מכוון
Διαβάστε περισσότεραפתרון תרגיל בית 6 מבוא לתורת החבורות סמסטר א תשע ז
פתרון תרגיל בית 6 מבוא לתורת החבורות 88-211 סמסטר א תשע ז הוראות בהגשת הפתרון יש לרשום שם מלא, מספר ת ז ומספר קבוצת תרגול. תאריך הגשת התרגיל הוא בתרגול בשבוע המתחיל בתאריך ג טבת ה תשע ז, 1.1.2017. שאלות
Διαβάστε περισσότεραx a x n D f (iii) x n a ,Cauchy
גבולות ורציפות גבול של פונקציה בנקודה הגדרה: קבוצה אשר מכילה קטע פתוח שמכיל את a תקרא סביבה של a. קבוצה אשר מכילה קטע פתוח שמכיל את a אך לא מכילה את a עצמו תקרא סביבה מנוקבת של a. יהו a R ו f פונקציה מוגדרת
Διαβάστε περισσότεραs ק"מ קמ"ש מ - A A מ - מ - 5 p vp v=
את זמני הליכת הולכי הרגל עד הפגישות שלהם עם רוכב האופניים (שעות). בגרות ע מאי 0 מועד קיץ מבוטל שאלון 5006 מהירות - v קמ"ש t, א. () נסמן ב- p נכניס את הנתונים לטבלה מתאימה: רוכב אופניים עד הפגישה זמן -
Διαβάστε περισσότεραקבוצה היא שם כללי לתיאור אוסף כלשהו של איברים.
א{ www.sikumuna.co.il מהי קבוצה? קבוצה היא שם כללי לתיאור אוסף כלשהו של איברים. קבוצה היא מושג יסודי במתמטיקה.התיאור האינטואיטיבי של קבוצה הוא אוסף של עצמים כלשהם. העצמים הנמצאים בקבוצה הם איברי הקבוצה.
Διαβάστε περισσότεραמתמטיקה בדידה תרגול מס' 13
מתמטיקה בדידה תרגול מס' 13 נושאי התרגול: תורת הגרפים. 1 מושגים בסיסיים נדון בגרפים מכוונים. הגדרה 1.1 גרף מכוון הוא זוג סדור E G =,V כך ש V ו E. V הגרף נקרא פשוט אם E יחס אי רפלקסיבי. כלומר, גם ללא לולאות.
Διαβάστε περισσότεραאינפי - 1 תרגול בינואר 2012
אינפי - תרגול 4 3 בינואר 0 רציפות במידה שווה הגדרה. נאמר שפונקציה f : D R היא רציפה במידה שווה אם לכל > 0 ε קיים. f(x) f(y) < ε אז x y < δ אם,x, y D כך שלכל δ > 0 נביט במקרה בו D הוא קטע (חסום או לא חסום,
Διαβάστε περισσότεραעצי 2-3 תזכורת: בנים. דוגמאות: Chapter 19: B trees ( ) Chapter 15: Augmenting data structures ( )
עצים מאוזנים Lecture 5 of Geiger & Itai s slide brochure www.cs.technion.ac.il/~dang/courseds תזכורת: משפחת עצים נקראת מאוזנת אם ( h. = (log עצי -3 ועצי דרגות עצי AVL הם עצים מאוזנים. עצי 3- מהווים דוגמא
Διαβάστε περισσότεραםינותנ ינבמ (הנכות ידימלתל)
מבני נתונים (לתלמידי תוכנה) 0368.2158 מועד ב', גירסה 1 2 מתוך 2 שיטת האב Method Master n Tn ( ) = at( ) + fn ( ) b logba logba ε Θ ( n ) if : ε > 0, f( n) = O( n ) logba logba Tn ( ) = Θ ( n lg n) if:
Διαβάστε περισσότερα' 2 סמ ליגרת ןורתפ םיפרגה תרותב םימתירוגלא דדצ 1 : הלאש ןורתפ רבסה תורעה
אלגוריתמים בתורת הגרפים פתרון תרגיל מס' 2 לשאלות והערות נא לפנות לאילן גרונאו (shrilan@cs.technion.ac.il) א) ב) ג) גרף דו-צדדי (bipartite) הינו גרף (E )G V, אשר קיימת חלוקה של צמתיו לשתי קבוצות U,W e =
Διαβάστε περισσότεραמיון. 1 מיון ערימה (Heapsort) חלק I 1.1 הגדרת ערימה 0.1 הגדרה של המושג מיון מסקנה: הערך הכי גבוה בערימה נמצא בשורש העץ!
מיון ערימה (Heapsort) מבני נתונים חלק I מיון מבני נתונים ד"ר ערן לונדון. הגדרת ערימה ערימה (בינארית) הינה מערך אשר ניתן להציגו כמו עץ בינארי מלא או כמעט מלא כאשר כל קודקוד בעץ מתאים לתא במערך. העץ הינו
Διαβάστε περισσότεραפתרונות , כך שאי השוויון המבוקש הוא ברור מאליו ולכן גם קודמו תקף ובכך מוכחת המונוטוניות העולה של הסדרה הנתונה.
בחינת סיווג במתמטיקה.9.017 פתרונות.1 סדרת מספרים ממשיים } n {a נקראת מונוטונית עולה אם לכל n 1 מתקיים n+1.a n a האם הסדרה {n a} n = n היא מונוטונית עולה? הוכיחו תשובתכם. הסדרה } n a} היא אכן מונוטונית
Διαβάστε περισσότεραאוטומט סופי דטרמיניסטי מוגדר ע"י החמישייה:
2 תרגול אוטומט סופי דטרמיניסטי אוטומטים ושפות פורמליות בר אילן תשעז 2017 עקיבא קליינרמן הגדרה אוטומט סופי דטרמיניסטי מוגדר ע"י החמישייה: (,, 0,, ) כאשר: א= "ב שפת הקלט = קבוצה סופית לא ריקה של מצבים מצב
Διαβάστε περισσότεραתרגילים באמצעות Q. תרגיל 2 CD,BF,AE הם גבהים במשולש .ABC הקטעים. ABC D נמצאת על המעגל בין A ל- C כך ש-. AD BF ABC FME
הנדסת המישור - תרגילים הכנה לבגרות תרגילים הנדסת המישור - תרגילים הכנה לבגרות באמצעות Q תרגיל 1 מעגל העובר דרך הקודקודים ו- של המקבילית ו- חותך את האלכסונים שלה בנקודות (ראה ציור) מונחות על,,, הוכח כי
Διαβάστε περισσότερα1 תוחלת מותנה. c ארזים 3 במאי G מדיד לפי Y.1 E (X1 A ) = E (Y 1 A )
הסתברות למתמטיקאים c ארזים 3 במאי 2017 1 תוחלת מותנה הגדרה 1.1 לכל משתנה מקרי X אינטגרבילית ותת סיגמא אלגברה G F קיים משתנה מקרי G) Y := E (X המקיים: E (X1 A ) = E (Y 1 A ).G מדיד לפי Y.1.E Y
Διαβάστε περισσότεραתוכן עניינים I בעיות מיון 2 1 סימון אסימפטוטי... 2 II מבני נתונים 20 8 מבני נתונים מופשטים משפט האב גרפים... 37
תוכן עניינים I בעיות מיון 2 1 סימון אסימפטוטי................................................ 2 2 מיון בועות. Bubble Sort............................................ 2 3 מיון מיזוג. Merge Sort............................................
Διαβάστε περισσότεραמבני נתונים ואלגוריתמים תרגול #11
מבני נתונים ואלגוריתמים תרגול # התאמת מחרוזות סימונים והגדרות: P[,,m] כך Σ * טקסט T )מערך של תווים( באורך T[,,n] n ותבנית P באורך m ש.m n התווים של P ו T נלקחים מאלפבית סופי Σ. לדוגמא: {a,b,,z},{,}=σ.
Διαβάστε περισσότεραאוניברסיטת בר אילן מבני נתונים תרגולים מרצה: פרופ' שמואל טומי קליין סמסטר ב', תש"ע
אוניברסיטת בר אילן מבני נתונים 89-120 תרגולים (חלקי) מרצה: פרופ' שמואל טומי קליין נכתב ונערך ע"י: גלעד אשרוב סמסטר ב', תש"ע הערות כלליות. המסמך מכיל סיכומי תרגולים שניתנו במהלך הסמסטר (סמסטר ב', תש"ע).
Διαβάστε περισσότεραהגדרה: מצבים k -בני-הפרדה
פרק 12: שקילות מצבים וצמצום מכונות לעי תים קרובות, תכנון המכונה מתוך סיפור המעשה מביא להגדרת מצבים יתי רים states) :(redundant הפונקציה שהם ממלאים ניתנת להשגה באמצעו ת מצבים א חרים. כיוון שמספר רכיבי הזיכרון
Διαβάστε περισσότεραNir Adar גירסה 1.00 עמוד 1
גירסה 1.00 מבני נתונים מסמך זה הורד מהאתר. אין להפיץ מסמך זה במדיה כלשהי, ללא אישור מפורש מאת המחבר. מחבר המסמך איננו אחראי לכל נזק, ישיר או עקיף, שיגרם עקב השימוש במידע המופיע במסמך, וכן לנכונות התוכן
Διαβάστε περισσότεραפתרון תרגיל 4 יסודות מבני נתונים סמסטר א' תשע"ה שאלה 1:
פתרון תרגיל 4 שאלה 1: הציעו דרך לממש תור )FIFO( באמצעות ערימה, תשובתכם צריכה לכלול פסאודו-קוד, המתאר את הפעולות הבאות: isempty(),enqueue(x), dequeue(), בנוסף נתחו זמן ריצה במקרה הגרוע ביותר עבור כ"א מהפעולות
Διαβάστε περισσότεραסיכום חקירת משוואות מהמעלה הראשונה ומהמעלה השנייה פרק זה הינו חלק מסיכום כולל לשאלון 005 שנכתב על-ידי מאיר בכור
סיכום חקירת משוואות מהמעלה הראשונה ומהמעלה השנייה פרק זה הינו חלק מסיכום כולל לשאלון 5 שנכתב על-ידי מאיר בכור. חקירת משוואה מהמעלה הראשונה עם נעלם אחד = הצורה הנורמלית של המשוואה, אליה יש להגיע, היא: b
Διαβάστε περισσότεραתרגול מס' 1 3 בנובמבר 2012
תרגול מס' 1 3 בנובמבר 2012 1 מערכת המספרים השלמים בשיעור הקרוב אנו נעסוק בקבוצת המספרים השלמים Z עם הפעולות (+) ו ( ), ויחס סדר (>) או ( ). כל התכונות הרגילות והידועות של השלמים מתקיימות: חוק הקיבוץ (אסוציאטיביות),
Διαβάστε περισσότεραעץץץץ AVL. עץ AVL הוא עץ חיפוש בינארי שמקיים את התנאי הבא: לכל צומת x בעץ גורם האיזון של x הוא 1, 0, או 1-. הגדרה: במילים אחרות: לכל צומת x בעץ,
עץץץץ AVL הגדרה: עץ AVL הוא עץ חיפוש בינארי שמקיים את התנאי הבא: לכל צומת x בעץ גורם האיזון של x הוא 1,, או 1-. h(t left(x) ) - h(t right(x) ) 1 במילים אחרות: לכל צומת x בעץ, בעץ AVL שומרים עבור כל צומת
Διαβάστε περισσότερα