|
||||
|
||||
מה רע בפונקציית הערבול הסטנדרטית למחרוזות (למשל זו של ג'אווה)? hash אמור להיות קצת יותר מהיר מ-trie, ובמחשבה חפוזה נראה לי שצורך פחות תקורה של זכרון. פרקטית, שיקול חביב הוא שהרבה שפות או סביבות של תכנות נותנות לך hash מן המוכן, ואילו trie קצת יותר נדיר. אבל רגע, אם אני זוכר נכון לקח מאיזשהו קורס, מה שנכון למבני נתונים בזכרון גישה אקראית, לא בהכרח נכון לנתונים בדיסק - שם יש שיקולים של גישות סמוכות וכאלו, מה שעשוי להיות רלוונטי לאתר מבוקש כמו tinyurl. |
|
||||
|
||||
נזכרתי למה Trie. כי המפתח שאני רוצה לייצר צריך להיות גם קריא לדפדפנים (שכן זו הרי הבעיה שרצינו לפתור - קישורים ש"נשברים"). Trie, עם האלפבית המוגבל שלו, מתאים למשימה - אני מגדיר מהו האלפבית, ואני אגדיר כזה שמכיל רק אותיות מתאימות. עם זאת, ברור שאפשר בקלות להגדיר פונקציה חד-חד ערכית פשוטה גם על התוצאה של פונקציית הערבול הסטנדרטית שהטווח שלה הוא מילים מהאלפבית המוגבל הנ"ל. |
חזרה לעמוד הראשי | המאמר המלא |
מערכת האייל הקורא אינה אחראית לתוכן תגובות שנכתבו בידי קוראים | |
RSS מאמרים | כתבו למערכת | אודות האתר | טרם התעדכנת | ארכיון | חיפוש | עזרה | תנאי שימוש | © כל הזכויות שמורות |