טבלת גיבוב – הבדלי גרסאות
תוכן שנמחק תוכן שנוסף
Badidipedia (שיחה | תרומות) הרחבה |
Badidipedia (שיחה | תרומות) |
||
שורה 6:
טבלת הגיבוב מורכבת ממערך, והתאים שבו מפנים לרשומה הרצויה. כדי להגיע אל התא הרצוי נעשה שימוש בפונקציה שנקראת '''פונקציית גיבוב''' או פונקציית ערבול. הפונקציה מקבלת את המפתח של הרשומה ומחזירה את מספר התא שמפנה אל הרשומה אם היא קיימת. הפונקציה משמשת לחיפוש רשומה רצויה, מציאת מקום מתאים עבור הכנסה של רשומה חדשה, ומציאת המקום של רשומה שצריך למחוק.
כדוגמה לטבלת גיבוב פשוטה נוכל לקחת מפעל קטן שבו רוצים לשמור רשומות המכילות את פרטי העובדים והגישה לרשומות תהיה לפי מספר עובד בן 3 ספרות. כדי לבנות טבלת גיבוב מתאימה, נוכל להשתמש במערך בעל אלף תאים ונבחר פונקציית גיבוב פשוטה שעבור כל מספר עובד, מחזירה את המספר עצמו (
פעמים רבות לא ניתן להשתמש להשתמש בפונקציה
עבור טבלת גיבוב
▲== פתרון בעיית ההתנגשות ==
▲טבלת גיבוב היא [[טבלה]] המכילה B תאים. קיימים שני סוגים עיקריים לטבלת הגיבוב הפשוטה (פרט למגוון של [[מבנה נתונים|מבני נתונים]] הנגזרים ממנה): טבלה פתוחה וטבלה סגורה.
'''טבלה פתוחה''' מסתמכת על כך שבמקרה הנדיר בו [[פונקציית גיבוב|פונקציית הגיבוב]] כושלת ושולחת נתון חדש לתא מאוכלס, תבדוק הטבלה את זמינותו של התא הבא, וכך שוב ושוב עד שימצא מקום פנוי בטבלה. היתרון הוא בניצול מקסימלי של המקום, כאשר מספר האיברים המקסימלי הוא B.
|