Data Structures, CS, TAU, Perfect Hashing

Slides:



Advertisements
מצגות קשורות
מבוא לביואינפורמטיקה יואלה יריב רוברט בצאם 17.june.2002.
Advertisements

אוגרים ומונים – Registers & Counters
תיכון מקיף נשר כיתות י'-י"ב רכזת מגמה: שמחה כהן מנהלת: ד"ר חיה ילינק
"בנגב ייבחן העם בישראל ויעמוד בהצלחה בכל הבחינות "
© Keren Kalif JPA קרן כליף.
האתר ללימוד מתמטיקה, שפות, גיאוגרפיה, ביולוגיה ומדעים.
הרצאה 02 סוגי משתנים קרן כליף.
יהי X משתנה מקרי חיובי. אזי
ישעיהו יא' 1-10 תמונה יפה ופסטורלית
ייצוגים שונים של פונקציה
מבנה מחשבים ספרתיים זיכרון מטמון - המשך
יצירת מקרו הפעלת מקרו יצירת לחצן / פקד דוגמה מסכמת
טיפים מנצחים: לחפש ולמצוא במהירות ובדיוק
עקרונות WEB2.0 ועולם ניהול הידע הארגוני
בניית תוכנית בית ספרית שנתית
מיונים (SORTS) שמושים ביישומים רבים
ייצוג קבוצות מתוחכם עצי חיפוש בינאריים BINARY SEARCH TREES
יצוג קבוצות מתוחכם עצי חיפוש בינאריים BINARY SEARCH TREES
Marina Kogan Sadetsky –
הטבלה המחזורית.
Jump tables, review questions
רקורסיה ופתרונות רקורסיביים
Present Perfect Simple
תירגול 11: מיונים וחיפוש בינארי
רקורסיה ופתרונות רקורסיביים
למידת חקר עבודת חקר – מהי
Entity Relationship Diagram – ERD
תיעוד מההכנות לחנוכה בגן הקדם חובה של המרכז הקהילתי היהודי בדאלאס טקסס שם המורה: לאה קרוסבי Documentation from variety of activities for Hanukkah.
Engineering Programming A
במקום סבב היכרות אני שולחת לכם שתי שאלות ?
S. Even, "Graph Algorithms", Computer Science Press, 1979
Carry Save Adder (CSA).
פתרון של מערכת משוואות לינארית
טיולים מהווים כלי נהדר לחינוך דרך התנסות אישית, אתגרים וגיבוש.
סיבות להחזקת מלאי לשם מה צריך מלאי?
Harel Mazor Open Source GIS Meetup / 11-jun-2018 / Tel-Aviv
הרצאה 10: אלגוריתמי מיון רקורסיביים Merge sort ו-Quick sort
יום עיון, לשכות המסחר , איתן גרנות net
Data Science by levels Dr. Alon Hasgall.
SQL - כתיבת שאילתות למתחילים
אלגוריתמי מיון רקורסיביים
סטטסיטיקה והסתברות לשאלון 002.
Branch Prediction בעריכת אורן קצנגולד Updated by Franck Sala.
Branch Prediction Oren Katzengold, Franck Sala, Elad Shtiegmann.
תרגול 13 : חזרה נכתב על-ידי לימור ליבוביץ נערך ע"י ישראל גוטר
המודל ההיסטורי של התפתחות אמצעי התקשורת:
Marina Kogan Sadetsky –
© המרכז להוראת המדעים האוניברסיטה העברית בירושלים
הוועדה המייעצת לחיזוק מערכת הבריאות הציבורית
מבוא לתכנות ב- JAVA מעבדה 4
המשפט המורכב זאב ייני ©.
Proquest Central
מבנה כללי של היררכיית הקבצים עבור המסלול /A/B.txt
Ci,j=Σκ Ai,κxBκ,j מכפלת מטריצות מכפלת מטריצות ב- O(n3)
תיאוריית תכנון סכמות למסדי נתונים יחסיים חלק 2
מצלמות תרמיות אינפרא אדומות לראייה בחושך
ניתוח כלכלי של בעיות משפטיות ליטיגציה ותובענות ייצוגיות
לבית: המשיכו וקראו עד סוף פרק א' נושא תנועה.
(או כיצד ללמוד בצורה נכונה מתחילת הסמסטר)
(או כיצד ללמוד בצורה נכונה מתחילת הסמסטר)
מעבדה 2- עיצוב (עבור חלק ג)
אם ניקח ½ ק"ג מים ונהפכם לקרח האם המסה תשתנה?
התנייה אופרנטית כיצד מאמנים כלבי נחייה?
כימיה – "מסע אל תוך החומר".
ניהול שינויים במחסן נתונים יש עומק היסטורי הארגון משתנה במשך הזמן
רקורסיה ופתרונות רקורסיביים
והתאמתה למאפייני הסטודנטים
Java Programming רשימות מקושרות - המשך
פריודיזציה באימון אתלטים צעירים אתלטיקה קלה
הדרכה לשימוש במאגרי.
תמליל מצגת:

Data Structures, CS, TAU, Perfect Hashing בעיה: נתונה קבוצה S של n מפתחות מתחום U רוצים: לבנות טבלת T Lookup בגודל (O(n שבאמצעותה אפשר לבדוק חברות, בזמן קבוע (1)O . השוואה ל- Hash : * טבלה קבועה (Hash רגיל - דינאמי) * רוצים זמן קבוע Worst case * מוכנים להשקיע בבניית הטבלה (זמן בנייה (O(n בתוחלת) * מקום: (O(n שיטה: טבלה דו-שלבית Data Structures, CS, TAU, Perfect Hashing

Data Structures, CS, TAU, Perfect Hashing מפתחות 1 i 2 n ²|Bi|  Bi gi (Hash) f (hash) עקרונות: 1) f ממפה את כל n המפתחות לטבלת ביניים בגודל n .  בטבלת הביניים קיימים תאים עם יותר ממפתח אחד. 2) gi- פונקציה אישית של תא i : ממפה מ- Bi לתחום בגודל ²|Bi|  בצורה חד-חד ערכית. ? Data Structures, CS, TAU, Perfect Hashing

Data Structures, CS, TAU, Perfect Hashing בעיות שיש להתמודד איתן 1) אם Bi גדול מידי  T לא תהיה (O(n  צריך לחפש f כזה כך שלא יהיו Bi גדולים. 2) צריך למצוא (לחפש) פונקציות gi שימפו את Bi ל ²|Bi|  בלי התנגשויות בסיס לפתרון: הסתברות !! * הסתברות למציאת פתרונות ל-1) ו-2) היא גבוהה.  * לא נצטרך לחפש הרבה  בתוחלת זמן לינארי Data Structures, CS, TAU, Perfect Hashing

Data Structures, CS, TAU, Perfect Hashing 1 i n Bi f * ממפה n אלמנטים ל - 1…n * ממפה לדליים B1 …Bn * | bi = | Bi * תכונה נדרשת * דרך להשגה : בחרו f עד שתצליחו! (מפונקציה אוניברסלית) אנליזה: 1) בוחרים  בצורה אקראית מקבוצה אוניברסלית של פונקציות Hash f: U [1…n] 2) משפט: אם f אוניברסלית וממפה N מפתחות ל B סלים אז תוחלת מס’ התנגשויות של מפתח בודד הינו (N-1)/B Data Structures, CS, TAU, Perfect Hashing

Data Structures, CS, TAU, Perfect Hashing תוחלת מס’ ההתנגשויות של איבר בודד: n-1/n 1…n  תוחלת מס’ ההתנגשויות של כל האיברים: n(n-1/n)= n-1 #collisions = אבל: ולכן  ניקח תוחלת Data Structures, CS, TAU, Perfect Hashing

Data Structures, CS, TAU, Perfect Hashing 4) אי שוויון מרקוב: אם x משתנה אקראי לא שלילי 5) ולכן 6) נבחר f באקראי. סיכוי להצלחה בכל ניסוי > 1/2  תוחלת מספר הניסיונות = 2 Data Structures, CS, TAU, Perfect Hashing

Data Structures, CS, TAU, Perfect Hashing  גודל הטבלה לינארית + זמן הריצה של חיפוש f קבוע בתוחלת Data Structures, CS, TAU, Perfect Hashing

Data Structures, CS, TAU, Perfect Hashing בחירת פונקציה gi: * נתונים מפתחות * נמפה אותם לתחום נבחר * נבחר gi מאוסף אוניברסלי: * תוחלת מס’ התנגשויות של מפתח בודד * אי שוויון מרקוב: * תוחלת מס’ התנגשויות של כל המפתחות * אי שוויון Boole: Data Structures, CS, TAU, Perfect Hashing

Data Structures, CS, TAU, Perfect Hashing   תוחלת מס’ הניסיונות עד שנמצא gi כך שאין התנגשויות היא 2 Data Structures, CS, TAU, Perfect Hashing

Data Structures, CS, TAU, Perfect Hashing עלות בניית פונקציה gi: * עבור כל gi שמנסים צריך לבדוק אם בקבוצה Bi יש התנגשויות. * בונים וקטור ביטים בגודל * יש לאתחלו  פעולות. * היות (בחרנו קודם את f כדי שתקיים את זה!)  עלות כוללת של בחירת כל gi כבבחירה ראשונה הינה worst case O(n)  היות ומס’ בחירות בתוחלת הינו 2 (עבור gi )  עלות כל בחירת gi בתוחלת O(n) Data Structures, CS, TAU, Perfect Hashing

Data Structures, CS, TAU, Perfect Hashing סיכום 1) עלות העבודה בכל שלבי ההכנה בתוחלת. O(n) 2) עלות ביצוע find: : Worst Case O(1) Data Structures, CS, TAU, Perfect Hashing