גיבוב קוקייה – הבדלי גרסאות

מתוך ויקיפדיה, האנציקלופדיה החופשית
תוכן שנמחק תוכן שנוסף
מאין תקציר עריכה
תגיות: עריכה ממכשיר נייד עריכה דרך האתר הנייד
שורה 9: שורה 9:


==קישורים חיצוניים==
==קישורים חיצוניים==
* [http://www.theiling.de/projects/lookuptable.html Static cuckoo hashtable generator for C/C++]
* {{משמאל לימין|[http://www.theiling.de/projects/lookuptable.html Static cuckoo hashtable generator for C/C++]}}
* [http://lmonson.com/blog/?p=100 Cuckoo hashtable written in Java]
* [http://lmonson.com/blog/?p=100 Cuckoo hashtable written in Java]
* [http://github.com/joacima/Cuckoo-hash-map/blob/master/CuckooHashMap.java Generic Cuckoo hashmap in Java]
* [http://github.com/joacima/Cuckoo-hash-map/blob/master/CuckooHashMap.java Generic Cuckoo hashmap in Java]

גרסה מ־21:53, 2 בינואר 2018

גִּבּוּב קוקייהאנגלית: Cuckoo hashing) הוא שיטה במדעי המחשב ליישוב התנגשויות בטבלת גיבוב. בשיטה זו, כל איבר ממופה לשני תאים במערך. כאשר מכניסים איבר חדש למערך, בודקים אם אחד מהתאים אליהם האיבר ממופה פנוי. אם כן, ממקמים בו את האיבר החדש. אם שני התאים אליהם האיבר החדש ממופה תפוסים, ממקמים את האיבר החדש באחד מהתאים התפוסים, ומעבירים את האיבר ששכן בתא קודם לכן לתא האלטרנטיבי שלו.

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

השיטה תוארה לראשונה על ידי רסמוס פה (Rasmus Pagh) ופלמינג פריש רודלר (Flemming Friche Rodler) בשנת 2001.

הכללות

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

קישורים חיצוניים

ערך זה הוא קצרמר בנושא מדעי המחשב. אתם מוזמנים לתרום לוויקיפדיה ולהרחיב אותו.