שעור 6

מסמכים קשורים
אוניברסיטת חיפה החוג למדעי המחשב.5.6 מבוא למדעי המחשב סמסטר א' תשע"ז בחינה סופית מועד א', מרצה: שולי וינטנר מתרגלים: סמאח אידריס, ראמי עילבו

PowerPoint Presentation

תאריך פרסום: תאריך הגשה: מבנה נתונים תרגיל 5 )תיאורטי( מרצה ומתרגל אחראים: צחי רוזן, דינה סבטליצקי נהלי הגשת עבודה: -את העבודה יש לה

מקביליות

תכנות מונחה עצמים א' – תש"ע

תרגול 1

מקביליות

אוניברסיטת חיפה החוג למדעי המחשב מרצה: שולי וינטנר מתרגלים: נעמה טוויטו, מחמוד שריף מבוא למדעי המחשב סמסטר א' תשע"ב בחינת סיום, מועד א', הנחי

מבוא למדעי המחשב

מבוא למדעי המחשב - חובלים

מבחן סוף סמסטר מועד ב 28/10/08 מרצה אחראית: דר שירלי הלוי גינסברג מתרגלים: גלעד קותיאל, גדי אלכסנדרוביץ הוראות: א. בטופס המבחן 6 עמודים (כולל דף זה) ו

תרגיל 5-1

פייתון

Microsoft Word B

Slide 1

פתרון מוצע לבחינת מה"ט ב_שפת c מועד ב אביב תשע"ט, אפריל 2019 מחברת: גב' זהבה לביא, מכללת אורט רחובות שאלה מספר 1 מוגדרת מחרוזת המורכבת מהספרות 0 עד 9.

שאלהIgal : מערכים דו מימדיים רקורסיה:

תכנון אלגוריתמים, אביב 1021, תרגול מס' 4 תכנון דינאמי תכנון דינאמי בתרגול זה נדון בבעיית הכפלת סדרת מטריצות (16.1.(CLR ראשית נראה דוגמא: דוגמא: תהינה

מבוא לתכנות ב- JAVA תרגול 11

Tutorial 11

שאלהIgal : מערכים דו מימדיים רקורסיה:

Data Structure Assignment no.3 תאריך הגשה: p.m. 11/09/16, 23:59 את העבודה יש להגיש בזוגות במערכת ההגשות.submission system על העבודה להיות מוגשות כקובץ

Microsoft Word - tutorial Dynamic Programming _Jun_-05.doc

מבוא למדעי המחשב

מקביליות

אוניברסיטת חיפה החוג למדעי המחשב מרצה: שולי וינטנר מתרגלים: נעמה טוויטו, מחמוד שריף מבוא למדעי המחשב סמסטר א' תשע"ב בחינת סיום, מועד א', הנחי

הגשה תוך שבוע בשעת התרגול

מבוא למדעי המחשב - חובלים

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

Microsoft Word - Sol_Moedb10-1-2,4

Slide 1

<4D F736F F D20EEF9E5E5E0E5FA20E3E9F4F8F0F6E9E0ECE9E5FA2E646F63>

Algorithms Tirgul 1

Microsoft Word - עבודת פסח לכיתה י 5 יחל.doc

מערכות הפעלה

שאלהIgal : מערכים דו מימדיים רקורסיה:

אוניברסיטת בן גוריון בנגב תאריך המבחן: שם המרצה: מר אלכסנדר שקולניק, בשפת JAVA מבחן ב: מבוא לתכנות מס' הקורס : מיועד לתלמידי : הנד

תרגול מס' 1

הטכניון מכון טכנולוגי לישראל אלגוריתמים 1 )443432( סמסטר חורף הפקולטה למדעי המחשב תרגול 9 מסלולים קלים ביותר תרגיל APSP - 1 עד כה דנו באלגור

Microsoft Word - c_SimA_MoedB2005.doc

! 1! משוואות מסדר ראשו! (הפרדת משתני*, הומוגנית, לינארית) xyy = 1 x y xy 2 = 2xy 2 מצא את הפתרו' הכללי: x y y = 3 א) y ג) ב) ד) y tan x = y (1 ( x+ y

שימו לב! יש לענות על כל השאלות בתוך טופס הבחינה, מחברות טיוטא הולכות לגריסה. על השאלות יש לענות במקום המיועד אחרי כל שאלה. תאריך הבחינה: שם

Microsoft PowerPoint - rec3.ppt

Limit

אוניברסיטת חיפה החוג למדעי המחשב מבוא למדעי המחשב מועד א' סמסטר ב', תשע"ג, משך המבחן: שעתיים וחצי חומר עזר: אסור הנחיות: וודאו כי יש בידיכם

מהוא לתכנות ב- JAVA מעבדה 3

תרגיל 9 מבוא ללוגיקה ותורת הקבוצות, סתיו תשע"ד 1. תהי L השפה בעלת סימן פונקצייה דו מקומי G, סימן פונקציה חד מקומי T, סימן יחס תלת מקומי.c, d וקבועים L

2019 שאלות מומלצות לתרגול מס' דיפרנציאביליות של פונקציה סקלרית )המשך(. כלל השרשרת. S = ( x, y, z) z = x + 3y על המשטח מצאו נקודה בה מישור משיק

מבוא למדעי המחשב

מספר מחברת: עמוד 1 מתוך 11 ת"ז: תשע"א מועד ב סמסטר א' תאריך: 00:11 שעה: 0 שעות הבחינה: משך כל חומר עזר אסור בשימוש בחינה בקורס: מבוא למדעי ה

מטלת סיום שם הקורס: מורי מורים "עברית על הרצף" מוגשת ל- ד"ר האני מוסא תאריך הגשה: מגישה: זייד עביר יסודי ספר בית קחאוש אלפחם אום 1

תורת הקומפילציה

עמוד 1 מתוך 5 יוחאי אלדור, סטטיסטיקאי סטטיסטיקה תיאורית + לוחות שכיחות בדידים/רציפים בגדול מקצוע הסטטיסטיקה נחלק ל- 2 תחומים עיקריים- סטט

Slide 1

מבחן סוף סמסטר מועד א 15/02/08 מרצה אחראית: דר שירלי הלוי גינסברג מתרגלים: גלעד קותיאל, דניאל גנקין הוראות: א. בטופס המבחן 7 עמודים ו 4 דפי נוסחאות. ב

PowerPoint Presentation

תרגול מס' 7 – חזרה על MST ואלגוריתם Dijkstra

ע 003 מרץ 10 מועד מיוחד פתרונות עפר

שבוע 4 סינטקס של HACK ASSEMBLY ניתן להשתמש בשלושה אוגרים בלבד:,A,D,M כולם בעלי 16 ביטים. M אינו אוגר ישיר- הוא מסמן את האוגר של ה RAM שאנחנו מצביעים ע

סרגל כלים ל-Outlook או לExplorer- מדריך למשתמש

שיטות הסתברותיות ואלגוריתמים חוברת התרגילים 25 באוקטובר 2015 חוברת זו מכילה תרגילים נבחרים מהיסטוריית הקורס ופתרונם. בשעות האימון יוצג מבחר מהתרגילים

<4D F736F F D20F9E9F2E5F820F1E9EEF0E920E7ECE5F7E4>

PowerPoint Presentation

Microsoft PowerPoint - rec1.ppt

מבחן 7002 פרטים כלליים מועד הבחינה: בכל זמן מספר השאלון: 1 משך הבחינה: 3 שעות חומר עזר בשימוש: הכל )ספרים ומחברות( המלצות: קרא המלצות לפני הבחינה ובדי

Microsoft Word - c_SimA_MoedA2006.doc

מספר זהות: סמסטר ב' מועד א' תאריך: 11102/4// שעה: 9:22 משך הבחינה: 3 שעות חומר עזר: אין מותר השימוש במחשבון פשוט בחינה בקורס: מבני נתונים מרצה: הדר בי

סדנת תכנות ב C/C++

Microsoft Word - solutions.doc

מבוא למדעי המחשב

מועד: א בחינה סופית במתמטיקה דיסקרטית משך הבחינה: 2 1 שעות מרצה: פרופ' תאופיק מנסור תאריך: סמסטר: א תשע"ח m 2 הוראות לנבחן: )1( הבחינה מו

תאריך הבחינה 30

PowerPoint Presentation

מדריך לחיפוש במאגר JCR Journal Citation Reports מעודכן לדצמבר 2015 כל הזכויות שמורות לתחום היעץ, אוניברסיטת חיפה, הספריה

הטכניון מכון טכנולוגי לישראל הפקולטה למדעי המחשב הוראות הגשה: ההגשה בזוגות. הוסיפו שמות, ת.ז., אי-מייל, תא אליו יש להחזיר את התרגיל ואת תשובותיכם לתרג

. [1,3] ו = 0 f(3) f(1) = עמוד 1 מתוך 6 דר' ז. אולחא מס' הקורס 9711 חדו''א הנ מכונות 1 f ( x) = ( x 1)( x 2)( x 3) c= f c = c (1,3), c תשובות I 1) פונ

PRESENTATION NAME

מטלת מנחה (ממ"ן) 11 הקורס: חשבון אינפיניטסימלי II חומר הלימוד למטלה: יחידות 2,1 4 מספר השאלות: 7 משקל המטלה: נקודות סמסטר: ב 2007 מו

Slide 1

Microsoft Word - ex04ans.docx

Microsoft Word - SDAROT 806 PITRONOT.doc

תוכן העניינים

פקולטה לחינוך מנהל סטודנטים Beit Berl College الكلية االكاديمية بيت بيرل 20/06/2016 י"ד/סיון/תשע"ו ייעוץ וירטואלי הרכבת מערכת )רישום לקורסים( באמצעות

. שאלה 1: ה אי x] T : R 4[ x] R 4[ אופרטור ליניארי מוגדר על-ידי T( ax bx cx d) bx ax cx c )13 נק'( א( מצאו את הערכים העצמיים, המרחבים העצמיים

Overview of new Office 365 plans for SMBs

PowerPoint Presentation

כנס הסברה בנושא ההוסטל

עוצמת ההורשה מה הופך את ההורשה לכלי כל כך עוצמתי? מעבר לכך שהוא מקל בהגדרת מחלקות חדשות על סמך מחלקות קיימות, יש לנו אפשרות להתייחס לאובייקט מסויים בכ

Microsoft Word - ExamA_Final_Solution.docx

<4D F736F F D20F4F2E5ECE5FA20EEE5EEF6E0E5FA20312E646F63>

הגנה - שקפי תרגול

<4D F736F F D20FAF8E2E9EC203220E0F7E520EEE020FAF9F2E1>

שיעור 1

מתכונת עיצוב 3013

DCA & A/B Testing

801-2

מבוא לאנליזה נומרית na191 Assignment 2 solution - Finding Roots of Nonlinear Equations y cos(x) שאלה 1 היכן נחתכים הגרפים של? y x 3 1 ושל ממש פתרונות

Slide 1

תמליל:

שעור 6 Open addressing אין רשימות מקושרות. (נניח שהאלמנטים מאוחסנים בטבלה עצמה, לחילופין קיים מצביע בהכנסה המתאימה לאלמנט אם אין שרשור). ב- addressing open הטבלה עלולה להימלא ב- factor α load תמיד. במקום לעקוב אחר מצביעים, אנו מחשבים את סידרת התאים בהם עלינו לחפש. המקום שבוזבז ע"י מצביעים משמש למערך גדול יותר שמאפשר מספר קטן יותר של התנגשויות ופענוח h : V { 0,,, -} {0,,..., -} <h(k, 0), h(k, ),,h(k, -)> מהיר יותר. (לא תומך ב- deletions העניינים מסתבכים אם מרשים.(deletions כאשר h(k) h(k,o) = ו-( i h(k, התא שנגיע באיטרציה ה- i -ית (בהנחה שבאיטרציה הקודמת הגענו לתאים מלאים). אנו דורשים שהסדרה -)) (h(k, 0), h(k, ),, h(k, תהיה פרמוטציה של -} {0,,..., כך שבסופו של דבר נבחן את כל תאי הטבלה. למה: עבור ראשוני אם 0 x od אז i לכל ix od = y 0. x od, x od,... ( ) הערכים x od מהווים פרמוטציה של..{,..., -} הוכחה: -ים. כיוון שכל מספר שאינו אם א. = 0 ix od עבור i אז מתחלק ל- y <. אינו מתחלק ב- k אם y, i אז iy < אינו מתחלק ב-. (i j) x = (b a) (j i) x od = 0 - -

i < j אזי V = ix od = אם ב. jx od ix = a + V jx = b + V Insert (T, k) i 0 repeat j h(k, i) if T[j] is epty T[j] k return j i i+ until i = error "hash table overflow" פרוצדורת חיפוש בוחנת את תאי הטבלה לפי אותו הסדר. החיפוש יכול להסתיים (ללא הצלחה) כאשר נתקלים בתא ריק. Search (T, k) i 0 repeat j h(k, i) if T[j] contains k return j i i + until T[j] is epty or i + return null כאן השתמשנו בהנחה שאין.deletions אם הינו רוצים לתמוך ב- deletions הינו צריכים לסמן את התא שהתפנה כ- deleted (במקום.(null במהלך חיפוש הינו ממשיכים לחפש מעבר לתא שסומן כ- delete ובמהלך ההכנסה הינו מתייחסים לתא שסומן כ- deleted כתא ריק. - -

.α הבעיה בפתרון המוצע היא שעתה זמן החיפוש לא תלוי יותר ב- factor load (יתכן שהטבלה כמעט ריקה עכשיו, כלומר, רוב הכניסות מסומנות כ- deleted ). Unifor hashing היינו רוצים: בהינתן מפתח כלשהו k, ההסתברות של כל אחת מ-! הפרמוטציות של {-,..., 0, }להיות.! מטריצת הביקורים שמחושב ל- k היא Linear probing פונקצית hash רגילה. h ( k, i) = ( h'( k) + i) od, i = 0,,..., h' : V {0,,,..., }.T[ ] T[ h'( k) + ], התא הבא - T[ h'( k)] כלומר התא הראשון בו נבקר הוא - וכו', עד שנגיע ל-.T[ h'( k) התא הבא יהיה [0]T וכו' עד שנגיע לבסוף ל- [ עם linear probing יש רק סדרות ביקור שונות, כיוון שהסדרה נקבעת ע"י.h'(k) Linear probing לא כל כך טוב כי במשך הזמן נוצרים רצפים ארוכים. רצפים ארוכים גורמים לכך שזמן החיפוש הממוצע גדל.. 3 n = למשל: אם לעומת זאת אם וכל התאים עם אינדקס זוגי תפוסים, אזי זמן הממוצע של חיפוש ערך הוא התאים הראשונים תפוסים אזי הזמן הממוצע של חיפוש ערך הוא: ( ) ( )...... + + + + + + + = = 8 5 + 4 = + 8 5 4 8 ( + )( + ) -+ - 3 - =

i + הסיבה שנוצרים רצפים ארוכים היא: אם תא ריק בא אחרי i תאים מלאים, אזי ההסתברות שתא יתמלא בהכנסה הבאה היא במקרה שהתא הקודם הוא ריק. להבדיל מ- Hashing Direct addressing Chaining Open addressing Linear probing Double hashing Double hashing h ( k, i) = ( h ( k) + ih ( k)) od i = 0,,... h,h כאשר הן פונקציות hash רגילות. ב-. linear probing O( שיטה זו טובה מאוד. יש ) רצפים שמשתמשים בהם במקום h ( k ) T[ h התא הראשון [(k ( ואח"כ מתקדמים בקפיצות של שלא כמו ב- probing.linear סדרת הביקורים עבור מפתח k תלויה ב- k בשתי דרכים, אם התא הראשון וגם ה- offset מחלקות שקילות לתא הראשון ו- להמשך הרצף - 4 -

א. המחלק המשותף הגדול ביותר של (k) h ו- חייב להיות כדי שנקבל סידרת חיפוש ובאורך מלא. h (k) = k od h (k) = + (k od -) בחירת ראשוני ו- h מחזירה מספר בתחום - : ו h מחזיר תמיד ערכים אי-זוגיים (המצאה של פרופ' שלומי דולב). ( + (od ) h ( k) = ב. = l α משפט: המספר הממוצע של בדיקות בחיפוש לא מוצלח בהנחת.unifor hashing n ( α = < ) = = α ומספר הביקורים בממוצע הוא למשל אם הטבלה חצי מלאה, אזי הסתברות למצוא ריק הסתברות למצוא מלא α k k α ( α) = α k = ( α k = ( α) kα k = α k = kα α k α = α = ( ) α k = k מ.ש.ל ) ידוע ש- הגזירה תיתן תוחלת אורך החיפוש הערך: מסקנה: זה גם התוצאה עבור insertion (כי זה מחייב חיפוש עקר). ln α α משפט: מספר הביקורים הממוצע בחיפוש מוצלח = α נקבל.38 חיפושים. = α נקבל.55 חיפושים. למשל : 9 0 אם אם - 5 -

דוגמא: נתון: זיכרון 0000 ביטים מספר המילים שתופסת רשומה 7 מספר המילים שתופס מצביע מספר הרשומות 000 6 מהחיפושים מסתיימים בהצלחה (והשאר עקרים) מה עדיף? Double hashing עם רשימות מקושרות (חד כיווניות) או Chaining זמן חישוב פונקצית hash שווה לפעמיים לזמן השוואות. אין רשומות בטבלה עצמה. Chaining 000 רשומות 000 שתופסות 7000 מילים S-7000 L-000 T-0000 T L S עבור כל רשומה נצטרך מצביע + next, כלומר: 000 מילים ו- 000 מילים עבור המצביעים בטבלה - 6 -

3 יחידות = +α חישוב h α.5 חישוב = + יחידותh חיפוש עקר: חיפוש מוצלח: α = = חישוב h 5.5 + 3 3 6 6 5 30 + 3 זמן חיפוש ממוצע: Double hashing T 3000 7000 α = 3 באיטרציה ראשונה של חיפוש נחשב את (k) h בעלות ובאיטרציה השנייה של החיפוש נחשב את בעלות כאשר האינטרציות עלות החישוב היא נניח 0. = α 3 חיפוש עקר: h (k) α = 3 חיפוש מוצלח: ln α α - 7 -

זמן חיפוש ממוצע (מניחים לשם הפשטות שתמיד שתי פונקציות מחושבות למרות שזה לא ממש 3 3 5 [( 3ln ) + 4] + ( + 4) 5.5 6 6 נכון) : מסקנה: double hashing אינו עדיף. חישוב פונקציה כפול h + מספר השוואות h לא מוצלח מוצלח 0.9 4.58 חישוב פונקציה כפול h + h איך נקודד משתנים שאינם? integers להתבונן ב- web. למשל: טבלת משתנים קומפיילרים מחזיקים בד"כ ב- table.hash שם המשתנה salary תרגום למספרים טבעיים ע"י: ערך 5 4 key = ASCII(' S') 8 + ASCII(' G') 8 +... + ASCII(' Y ') if k = l i= k i l then k od = ( ( ki od))od and i= ( x y)odk = (( x odk)( y odk))odk אלה מספרים ענקיים, אם: Hornor's forula: k = a 0 (...(( a n + a x + a x + a n x ) x + a +... + a x n n n = ) x +...) x + a 0-8 -

To copute k od we copute: b a n for i (n-) to 0 b (bx+a i ) od For exaple: k = a (( x + a 3 0 + ax + a x + a3x = a3x + a ) x + a) 0 then k od is coputed as follows: ) b ( a x a ) od 3 + ) b ( bx + a) od 3) b ( bx + a ) 0 od. Linear probing: http://www.gnifty.net/cs/cs6/javaprogs/hash/hash.htl סימולציות:. Chaining: http://web.engr.oregonstate.edu/~inoura/cs6/javaprogs/hash/hashl.htl 3. http://ciips.ee.uwa.edu.au/~orris/year/plds0/hash_tables.htl 4. http://www.utdallas.edu/~ivor/cs35/hash/hash.htl - 9 -