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

תוכן שנמחק תוכן שנוסף
אין תקציר עריכה
Felagund-bot (שיחה | תרומות)
בוט - מחליף '[[Category' ב'[[קטגוריה', 'דוגמא' ב'דוגמה'
שורה 7:
[[תמונה:XORlinked2.png]]
 
לדוגמאלדוגמה, כאשר עוברים על הרשימה משמאל לימין, אם אנו נמצאים בתא B, אנו ניקח את הכתובת של התא הקודם - A - ונבצע עליו פעולת XOR יחד עם הערך שנמצא במשתנה בתא B. כתוצאה מהפעולה, נקבל את כתובת התא C ונוכל להמשיך לעבור על הרשימה. בדומה, אם נלך מהכיוון ההפוך, אנו ניקח את הכתובת של תא C ונפעיל עליו פעולת XOR יחד עם הערך שנמצא במשתנה בתא B, כדי לקבל את כתובת A.
 
מכך יוצא שבכדי לעבור על הרשימה בכיוון כלשהו מנקודה מסוימת, אנו נזדקק לכתובות של שני תאים סמוכים, ולא רק אחד כמו ברשימה מקושרת רגילה. למרות זאת, זהו חסכון ניכר בזכרון - אנו נזדקק למספר קבוע של משתנים (שניים) כדי להחזיק את הכתובות של התאים הרצויים, ונחסוך בחצי הזכרון שדרוש לרשימה מקושרת דו צדדית רגילה (גודלו של זכרון זה תלוי ברשימה ולכן אינו קבוע ויכול, תיאורטית, להיות בלתי מוגבל).
שורה 19:
* [[אלגוריתם ההחלפה של XOR]]
 
[[Categoryקטגוריה:מבני נתונים]]
[[en:Xor linked list]]