עמוד 1 מתוך 1

שאלה לגבי פונקציית hash (חלק ב')

הודעהפורסם: 11:08 25/05/2009
על ידי yinongo
יש לי שאלה...
אם אני אשתמש בפונקציית hash מורכבת, שלמשל מורכבת מ-3 פונקציות שונות, שבכל פעם שהאינדקס שנמצא בשימוש, הפונקצייה אוטומטית מנסה לאתר אינדקס אחר.
(ככה אפשר לקבל התפלגות טובה על המערך)

הבעיה היא -
כשאני ארצה לחפש ת"ז, ואני אפעיל עליה את הפונקציה כדי "להיזכר" איפה שמתי אותה במערך... הרי שהפונקציה אוטומטית תנסה לאתר לי מקום חדש פנוי ולכן יש סיכוי שאני אקבל אינדקס שמצביע על false בעוד שידוע שהת"ז שאני מחפש אכן נמצאת בעץ!

אז, יכול להיות שלא כל כך הבנתי את העיניין הזה של איך צריכה לעבוד הפונקצייה hash...
מישהו מהאחראים פה יכול להסביר?

תודה.

הודעהפורסם: 10:42 27/05/2009
על ידי TA_Isana
שלום

אתה צריך לבחור פונקציית hash שעל מפתח מסוים תמיד תחזיר את אותו הערך (היא לא צריכה לנסות לחפש מקום פנוי, אם התא תפוס). עקרון הפעולה שלה הוא כמו ב- chainig, שתי תעודות זהות שונות יכולות להגיע לאותו תא.