طابور (هياكل بيانات)
من ويكيبيديا، الموسوعة encyclopedia
يشير مصطلح الطابور[1] (بالإنجليزية: Queue) في علوم الحاسب بأنه بنية معطيات مجردة مكونة من مجموعة تحتوي على عدد من العناصر التي يتم الحفاظ على ترتيبها وفق قانون محدد، تسمح هذه المجموعة للمستخدم بإجراء مجموعة من العمليات على العناصر بما فيها إضافة عنصر جديد إلى مؤخرة المجموعة (تسمى هذه العملية إدراج (بالإنجليزية: Enqueue) وحذف العنصر الموجود في مقدمة المجموعة (تسمى هذه العملية سحب (بالإنجليزية: Dequeue).[2][3][4] تجعل هذه العمليات الرتل بنية معطيات يشار إليها عادةً باسم الداخل-أولاً-يخرج-أولاً (بالإنجليزية: First In First Out) أو اختصاراً (FIFO) ذلك أن ترتيب العناصر المدرجة يوافق تماماً ترتيب العناصر المسحوبة. يتوافق ترتيب إدراج وسحب العناصر بهذه الطريقة مع الكثير من الحالات التي يتطلب فيها إدخال عنصر جديد إخراج كافة العناصر السابقة قبل التمكن من الحصول عليه مرة أخرى. غالباً ما تضاف عمليات أخرى مثل عملية الاستراق (بالإنجليزية: Peek) أو المقدمة (بالإنجليزية: Front) التي تعيد قيمة العنصر الموجود في مقدمة الرتل دون سحبه من الرتل. يعتبر الرتل مثالاً على بنى المعطيات الخطية، أو بمعنى أكثر تجريداً مجموعةً متسلسلة.
{{{name}}} | ||
---|---|---|
النوع | {{{type}}} | |
المتوسط | أسوء حالة | |
المساحة | ||
بحث | ||
ادراج | ||
مسح |
يستخدم الرتل بكثرة في علوم الحاسب والنقل وبحوث العمليات التي عادةً ما تشتمل على وجود العديد من العناصر كالكائنات البيانية والأشخاص أو حتى الأحداث التي يتم تخزينها بغرض معالجتها لاحقاً. في هذه الحالات يستخدم الرتل كخابئ لهذه العناصر.
تستخدم الأرتال بشكل شائع في البرامج الحاسوبية حيث يتم تحقيقها كبنى معطيات مجهزة بعمليات الإدراج والسحب المشار إليها سابقاً، تشتمل التحقيقات أيضاً على الخوابئ الدائرية (بالإنجليزية: Circular Buffers) والقوائم المتصلة (بالإنجليزية: Linked Lists).