דו-תור
דו-תור (אנגלית: Double-Ended Queue), הוא מבנה נתונים מופשט הדומה לתור אך מאפשר הכנסה והוצאה של ערכים משני צידיו. ניתן להגדיר גרסה של דו-תור המאפשרת הכנסה משני צידי התור אך הוצאה רק מראשו, או דו-תור המאפשר הכנסה רק מהזנב והוצאה משני הצדדים.
בדומה לתור רגיל, ניתן לממש דו-תור באמצעות רשימה מקושרת דו כיוונית או באמצעות מערך. הפעולות המוגדרות על מבנה הנתונים מתבצעות בסיבוכיות קבועה של
.
ניתן להשתמש בדו-תור במקומות בהם נדרש מימוש של תור רגיל אך יש לאפשר הכנסה מיידית של נתונים כך שיופיעו בראש התור או כאשר יש צורך להוציא חלק מהנתונים לפני העברתם ליעד.
| מבני נתונים | ||
|---|---|---|
| מבנים מופשטים |
רשימה • מחסנית • קבוצה • רב קבוצה • תור • דו-תור • תור עדיפויות • מילון • מחרוזת |
|
| מימושים לינאריים |
מערך • טבלת גיבוב • רשימה מקושרת • רשימת דילוגים • חוצץ |
|
| גרפים ועצים |
ערימה • עץ אדום שחור • עץ 2-3 • עץ 2-3-4 • עץ חיפוש • עץ סיפות • עץ B • עץ +B • עץ AVL • עץ Splay • עץ BSP • עץ kd |
|
| הסתברותיים | ||