في البرمجة ، من المهم جدا اختيار بنية البيانات الصحيحة لحل مهمة معينة. كيف وغالبا ما كنت تأتي عبر مصطلحات مثل قائمة الانتظار, ديك والمكدس? بالتأكيد ، سمع كل مبرمج على الأقل عن هياكل البيانات هذه ، لكنه لا يفهم دائما الاختلافات بينها وبين تطبيقها.
قائمة الانتظار هي واحدة من هياكل البيانات الرئيسية ولها مبدأ "أولا في ، أولا خارج" أو "فيفو" (أولا في ، أولا خارج). هذا يعني أن العنصر الأول المضاف إلى قائمة الانتظار سيكون أول عنصر يتم حذفه. يمكن تخيل قائمة الانتظار كأشخاص يقفون في طابور عند الخروج في متجر: الشخص الذي جاء أولا سيكون أول من يخدم.
يمكن تنفيذ قائمة انتظار مرتبطة واحدة باستخدام القوائم أو المصفوفات المرتبطة. عند إضافة عنصر جديد ، يتم وضعه في نهاية قائمة الانتظار ، وعندما يلزم حذف عنصر ، يتم أخذه من بداية قائمة الانتظار. في قائمة انتظار مرتبطة بشكل مضاعف (ديك) ، فمن الممكن لحذف العناصر من كل من نهاية وبداية قائمة الانتظار. هذا مناسب ، على سبيل المثال ، عند معالجة المهام بترتيب مختلف.
المكدس يعمل على مبدأ" آخر في ، أولا خارج "أو" ليفو " (آخر في ، أولا خارج). بالمقارنة مع قائمة الانتظار ، يمكن تمثيل المكدس ككومة من الكتب: سيكون الكتاب الأخير الذي تم وضعه على المكدس هو أول كتاب يتم أخذه. في المكدس ، تعمل دائما فقط مع الجزء العلوي من المكدس.
من المهم اختيار بنية البيانات الصحيحة اعتمادا على المهمة المحددة. يمكن أن يؤدي استخدام قائمة انتظار أو قائمة انتظار متصلة بشكل مضاعف أو مكدس إلى تبسيط برنامجك أو تعقيده بشكل كبير. قبل البدء في التطوير ، قم بتقييم قدرات كل هيكل بأثر رجعي واختر الهيكل الأمثل لمهمتك.
- الاختلافات بين قائمة الانتظار, ديك والمكدس: ما هي الاختلافات الرئيسية?
- تنظيم البيانات في قائمة الانتظار ، ديكي ، والمكدس
- قائمة الانتظار (قائمة الانتظار)
- ديكي (طابور ثنائي الاتجاه)
- كومة (كومة)
- تطبيق هياكل البيانات
- قائمة الانتظار ، ديكي والمكدس وظيفة: ماذا يفعل كل هيكل?
- مقارنة الأداء في سيناريوهات الاستخدام المختلفة
- تطبيق قائمة الانتظار ، ديكي وكومة في مختلف المجالات
- باستخدام قائمة الانتظار:
- تطبيق ديكي:
- تطبيق المكدس:
- العمل مع العناصر: إضافة البيانات وحذفها والوصول إليها
- ميزات التنفيذ بلغات البرمجة المختلفة
- قائمة الانتظار
- قائمة انتظار ثنائية الاتجاه (ديك)
- المكدس
- اختيار بنية البيانات الصحيحة:طابور, ديك أو كومة?
- سؤال وجواب
- ما هي الطرق المتاحة لقائمة الانتظار, ديك, وكومة الطبقات?
- ما هي الاختلافات بين قائمة الانتظار وديكي?
- أين يمكنني استخدام طابور, ديك ومكدس هياكل البيانات?
الاختلافات بين قائمة الانتظار, ديك والمكدس: ما هي الاختلافات الرئيسية?
قائمة الانتظار ، ديكي ، والمكدس هي هياكل البيانات المستخدمة لتخزين وتنظيم العناصر. ومع ذلك ، لديهم ميزات مختلفة وتستخدم في حالات مختلفة.
1. قائمة الانتظار هي مجموعة من العناصر التي يتم فيها إضافة عناصر جديدة إلى نهاية قائمة الانتظار ، ويتم الوصول إلى العناصر فقط من بداية قائمة الانتظار. وهذا هو ، يتم إضافة عناصر إلى قائمة الانتظار في الترتيب الذي يصلون ، ويتم الوصول على مبدأ" أولا في أول من " (فيفو). يمكن أن تكون أمثلة استخدام قائمة الانتظار مهام معالجة استعلام الشبكة أو جدولة الوظائف.
2. ديكي هو أيضا مجموعة من العناصر ، ولكن لديها طرفي-بداية ونهاية. مع إضافة العناصر والوصول إليها ، يمكنك العمل من البداية ومن نهاية سطح السفينة. يتيح لك ذلك إجراء عمليات إضافة وإزالة العناصر في بداية ونهاية المجموعة. أمثلة على استخدام ديكي يمكن أن تكون تطبيقات خوارزميات البحث اتساع أولا أو الرسم البياني باثفيندينغ.
3. المكدس عبارة عن مجموعة من العناصر التي تتم فيها إضافة عناصر جديدة إلى الجزء العلوي من المكدس ، ويتم الوصول إلى العناصر فقط من أعلى المكدس. وهذا هو ، يتم إضافة العناصر وإزالتها من الجزء العلوي من المكدس وفقا لمبدأ آخر في أول (ليفو). يمكن أن تكون أمثلة استخدام المكدس تنفيذ خوارزميات للكتابة البولندية العكسية أو التراجع عن الإجراءات في برامج تحرير النصوص.
ويبين الجدول أدناه الاختلافات الرئيسية بين قائمة الانتظار ، ديك والمكدس:
| هيكل البيانات | إضافة عناصر | حذف العناصر | الوصول إلى العناصر | مبدأ العملية | أمثلة الاستخدام |
|---|---|---|---|---|---|
| قائمة الانتظار | إلى نهاية قائمة الانتظار | من بداية قائمة الانتظار | من بداية قائمة الانتظار | فيفو (الأول في أول خروج) | معالجة الطلبات ، تخطيط المهام |
| ديكي | في بداية ونهاية سطح السفينة | من بداية ونهاية سطح السفينة | من بداية ونهاية سطح السفينة | — | الاتساع-البحث الأول ، البحث عن المسار في الرسم البياني |
| المكدس | إلى الجزء العلوي من المكدس | من أعلى المكدس | من أعلى المكدس | ليفو (آخر خروج في البداية) | خوارزميات لعكس تدوين البولندية ، التراجع عن الإجراءات في برامج تحرير النصوص |
ونتيجة لذلك ، فإن الاختلافات الرئيسية بين قائمة الانتظار ، ديكي والمكدس هي الترتيب الذي يتم إضافة العناصر وإزالتها ، وكذلك الوصول إلى العناصر. يتم استخدام قائمة الانتظار لمعالجة العناصر في ترتيب وصولها ، ديك يسمح لك للعمل مع العناصر على حد سواء من البداية ومن النهاية ، والمكدس يعمل على مبدأ "آخر في— أولا الخروج".
تنظيم البيانات في قائمة الانتظار ، ديكي ، والمكدس
قائمة الانتظار ، ديكي ، والمكدس هي هياكل البيانات التي تستخدم لتخزين وتنظيم العناصر. كل من هذه الهياكل لها خصائصها الخاصة وأساليب عملها المحددة.
قائمة الانتظار (قائمة الانتظار)
قائمة الانتظار هي بنية بيانات تخزن العناصر بترتيب إضافتها. تتم إضافة العناصر الموجودة في قائمة الانتظار إلى النهاية واسترجاعها من البداية. ويسمى هذا النهج "فيفو" (أولا في أول خارج) ، مما يعني أن العنصر الأول المضافة سيكون أول واحد المستخرجة.
قائمة الانتظار تدعم عمليات إضافة عنصر إلى النهاية (إنكيو) ، وإزالة عنصر من البداية (ديكوي) والحصول على عنصر من البداية دون حذفه (نظرة خاطفة).
ديك (طابور ثنائي الاتجاه) اثنان
- قائمة انتظار الطريق هي بنية بيانات مشابهة لقائمة الانتظار ، ولكن مع القدرة على إضافة وإزالة العناصر في البداية والنهاية. أي أنه يمكن إضافة العناصر وإزالتها على اليمين واليسار.
ديكي يدعم عمليات إضافة عنصر إلى البداية (دفع الجبهة) ، إضافة عنصر إلى النهاية (دفع العودة) ، وإزالة عنصر من البداية (بوب الجبهة) ، وإزالة عنصر من النهاية (بوب العودة) والحصول على عنصر من البداية أو النهاية دون حذفه (بيك الجبهة ، بيك باك).
كومة (كومة)
المكدس عبارة عن بنية بيانات تخزن العناصر بترتيب إضافتها واسترجاعها. تتم إضافة العناصر واستخراجها من طرف واحد فقط ، يسمى "الرأس". ويسمى هذا النهج" ليفو " (آخر في أول الخروج) ، مما يعني أن العنصر الأخير المضافة سيكون أول واحد المستخرجة.
كومة يدعم عمليات إضافة عنصر إلى قمة الرأس (دفع) ، وإزالة عنصر من قمة الرأس (البوب) ، والحصول على عنصر من قمة الرأس دون إزالته (نظرة خاطفة).
تطبيق هياكل البيانات
تستخدم قائمة الانتظار على نطاق واسع في السيناريوهات حيث يكون من الضروري الحفاظ على ترتيب الإجراءات ، على سبيل المثال ، في معالجة المهام أو في تنظيم الرسائل لتبادل المعلومات.
يستخدم ديكي في السيناريوهات التي تتطلب إضافة فعالة وإزالة العناصر في كل من البداية والنهاية. على سبيل المثال ، عند تنفيذ ورقة مهمة أو في المهام التي تتطلب معالجة العناصر على طول الحواف.
يجد المكدس التطبيق في السيناريوهات حيث من المهم اتباع ترتيب عناصر المعالجة بترتيب عكسي. على سبيل المثال ، عند تنفيذ وظيفة "التراجع" في محرر النصوص أو في تنفيذ الخوارزميات العودية.
طابور, ظائف ديك والمكدس:ماذا يفعل كل هيكل?
قائمة الانتظار هي بنية بيانات تعمل على مبدأ" أولا ، أولا " (فيفو). لديها الوظائف التالية:
- إضافة عنصر — قائمة انتظار) - يضيف عنصرا إلى نهاية قائمة الانتظار;
- حذف عنصر — ديكو) - يزيل ويعيد عنصرا من بداية قائمة الانتظار;
- الحصول على العنصر الأول (الأمامي) - إرجاع عنصر من بداية قائمة الانتظار دون حذفه;
- التحقق من وجود عناصر (إيسمبتي) - يعود صحيح إذا كانت قائمة الانتظار فارغة ، وكاذبة خلاف ذلك;
- مسح قائمة الانتظار-يزيل جميع العناصر من قائمة الانتظار.
أ ديك (طابور ثنائي الاتجاه) هو بنية البيانات التي تعمل على مبدأ "أولا في ، أولا خارج" (فيفو) أو "آخر في ، أولا خارج" (ليفو) ، اعتمادا على العملية المحددة. يوفر الوظائف التالية:
- إضافة عنصر إلى البداية — بوشفرونت) - يضيف عنصرا إلى بداية قائمة الانتظار;
- إضافة عنصر إلى النهاية — التراجع) - يضيف عنصرا إلى نهاية قائمة الانتظار;
- إزالة عنصر من البداية (واجهة منبثقة) - إزالة عنصر وإرجاعه من بداية قائمة الانتظار;
- إزالة عنصر من النهاية — بوباك) - يزيل ويعيد عنصر من نهاية قائمة الانتظار;
- الحصول على العنصر الأول (الأمامي) - إرجاع عنصر من بداية قائمة الانتظار دون حذفه;
- الحصول على العنصر الأخير — رجوع) - إرجاع عنصر من نهاية قائمة الانتظار دون حذفه;
- التحقق من وجود عناصر (إيسمبتي) - يعود صحيح إذا كانت قائمة الانتظار فارغة ، وكاذبة خلاف ذلك;
- مسح قائمة الانتظار-يزيل جميع العناصر من قائمة الانتظار.
المكدس هو بنية البيانات التي تعمل على مبدأ" آخر في ، أولا الخروج " (ليفو). لديها الوظائف التالية:
- إضافة عنصر (دفع) - يضيف عنصرا إلى الجزء العلوي من المكدس;
- حذف عنصر (بوب — - يزيل ويعيد عنصرا من أعلى المكدس;
- الحصول على العنصر العلوي (أعلى) - إرجاع عنصر من أعلى المكدس دون حذفه;
- التحقق من وجود عناصر (إيسمبتي) - يعود صحيح إذا المكدس فارغ ، وكاذبة خلاف ذلك;
- مسح المكدس (مسح) - يزيل جميع العناصر من المكدس.
كل من هياكل البيانات هذه لها خصائصها الخاصة وهي الأنسب لمهام معينة ، لذا فإن اختيار الهيكل يعتمد على متطلبات وخصائص المهمة نفسها.
مقارنة الأداء في سيناريوهات الاستخدام المختلفة
عند اختيار بنية بيانات لحل مهمة معينة ، يعد الأداء معيارا مهما. في حالة قائمة الانتظار ، ديكي ، والمكدس ، يمكن أن تكون اختلافات الأداء ملحوظة في سيناريوهات الاستخدام المختلفة.
إضافة عناصر:
قوائم الانتظار (قائمة الانتظار وديك) وكومة (كومة) على حد سواء دعم إضافة سريعة من العناصر إلى نهاية الهيكل. ومع ذلك ، عند العمل مع قائمة انتظار ، من المهم مراعاة أن إضافة عناصر إلى بداية قائمة الانتظار أو في منتصفها يمكن أن تكون عملية بطيئة إلى حد ما ، لأنها تتطلب نقل جميع العناصر. في حالة ديك ، يمكنك إضافة عناصر إلى كل من البداية والنهاية دون أي تكلفة كبيرة.
حذف العناصر:
قوائم الانتظار (قائمة الانتظار وديك) وكومة (كومة) تسمح لك لإزالة العناصر بسرعة من نهاية الهيكل. ومع ذلك ، عند العمل مع قائمة انتظار ، قد يتم إبطاء حذف العناصر من البداية أو الوسط ، لأنه يتطلب نقل جميع العناصر المتبقية. في حالة ديك ، يمكنك أيضا إزالة العناصر بسرعة من كل من البداية والنهاية.
الوصول إلى العناصر:
الوصول إلى العناصر في المكدس سريع ويتم تنفيذه في وقت ثابت س (1). في الحالات مع قائمة الانتظار وديك ، والوصول إلى العناصر من خلال البداية والوسط قد تباطأ ، لأنه يتطلب عبور العناصر إلى الفهرس المطلوب. ويترتب على ذلك أنه إذا كان الوصول المتكرر إلى العناصر مطلوبا ، فسيكون المكدس هو الأفضل.
بشكل عام ، والاختيار بين قائمة الانتظار ، ديك والمكدس يعتمد على متطلبات مهمة وأداء محددة. إذا كان الوصول السريع وإضافة العناصر أمرا مهما ، ونادرا ما يحدث الحذف أو فقط من النهاية ، فقد يكون المكدس هو الخيار الأفضل. إذا كنت بحاجة إلى الوصول بسرعة وحذف العناصر من كل من البداية والنهاية ، قد يكون ديك بنية البيانات أكثر ملاءمة. إذا كنت بحاجة إلى الحفاظ على ترتيب إضافة العناصر وإجراء عمليات متكررة لإضافة وإزالة كل من البداية والنهاية ، فقد تكون قائمة الانتظار هي الخيار الأكثر فعالية.
ومع ذلك ، يجب أن يؤخذ في الاعتبار أن أداء كل بنية بيانات قد يعتمد على التنفيذ المحدد ولغة البرمجة المستخدمة. يوصى بإجراء اختبار الأداء في حالة الاستخدام المحددة الخاصة بك لتحديد بنية البيانات الأكثر ملاءمة.
تطبيق قائمة الانتظار ، ديكي وكومة في مختلف المجالات
قائمة الانتظار ، ديكي ، والمكدس هي هياكل البيانات التي تستخدم لتخزين وإدارة البيانات. يمكن تطبيقها في مجالات مختلفة ولها خصائصها الخاصة.
باستخدام قائمة الانتظار:
- تعتبر قوائم الانتظار ملائمة للاستخدام في الأنظمة حيث يكون من الضروري معالجة المهام بالترتيب الذي يتم استلامها به. على سبيل المثال ، في أنظمة تشغيل الكمبيوتر لجدولة المهام.
- غالبا ما يتم استخدام قائمة الانتظار في تطبيقات الشبكة لطلبات قائمة الانتظار.
- وتستخدم قوائم الانتظار أيضا في خوارزميات البحث اتساع أولا (بفس) وخوارزميات اجتياز الرسم البياني.
تطبيق ديكي:
- ديك يمكن استخدامها كقائمة انتظار في اتجاهين حيث يمكن إضافة العناصر وإزالتها من كل من بداية ونهاية قائمة الانتظار.
- يستخدم ديكي في خوارزميات البحث (على سبيل المثال ، خوارزمية ديكسترا).
- ويمكن أيضا أن تستخدم ديك في تنفيذ مداخن وقوائم الانتظار.
تطبيق المكدس:
- يستخدم المكدس على نطاق واسع في الخوارزميات العودية وخوارزميات اجتياز الأشجار.
- يستخدم المكدس في العديد من لغات البرمجة لدعم مكدسات استدعاء الوظائف.
- يمكن أيضا استخدام المكدس في معالجة السلسلة وخوارزميات مطابقة الأقواس.
كل من هياكل البيانات هذه لها مزاياها وعيوبها ، لذا فإن اختيار هيكل معين يعتمد على المهمة المحددة ومتطلباتها.
العمل مع العناصر: إضافة البيانات وحذفها والوصول إليها
واحدة من الاختلافات الرئيسية بين قائمة الانتظار ، ديك والمكدس هو الطريقة التي تعمل مع العناصر والوصول إلى البيانات.
- قائمة الانتظار: تتم إضافة العناصر الموجودة في قائمة الانتظار إلى النهاية وإزالتها من البداية. إضافة عنصر جديد (إنكيو) يحدث عن طريق وضعه في نهاية قائمة الانتظار ، وحذف عنصر (ديكيو) يحدث عن طريق إزالة عنصر من بداية قائمة الانتظار. لا يمكن الوصول إلى البيانات إلا من خلال العنصر الأول ، الموجود في بداية قائمة الانتظار. الوظائف التي تستخدم عادة عند العمل مع قائمة انتظار هي إنكيو ، ديكو و نظرة خاطفة.
- ديك: يمكن إضافة عناصر وإزالتها من كل من بداية ونهاية سطح السفينة. يطلق على إدخال عنصر جديد في بداية المجموعة اسم الدفع الأمامي ، والإدخال في النهاية هو الدفع الخلفي. حذف العنصر الأول هو واجهة منبثقة ، وحذف العنصر الأخير هو ظهور منبثق. الوصول إلى البيانات ممكن لكل من العنصر الأول والأخير من سطح السفينة. الوظائف التي يتم استخدامها بشكل شائع عند العمل مع سطح السفينة هي الدفع الأمامي ، الدفع الخلفي ، الجبهة المنبثقة ، المنبثقة الخلفية والأمامية/الخلفية للوصول إلى البيانات في البداية والنهاية.
- المكدس: تتم إضافة العناصر وإزالتها فقط من أعلى المكدس. إدراج عنصر جديد (دفع) يحدث عن طريق وضعه على الجزء العلوي من المكدس ، وحذف عنصر (البوب) — عن طريق إزالة عنصر من الجزء العلوي من المكدس. لا يمكن الوصول إلى البيانات إلا من خلال العنصر الأخير ، الموجود أعلى المكدس. الوظائف التي يشيع استخدامها عند العمل مع المكدس هي الدفع والبوب والأعلى.
من المهم التمييز بين ترتيب إضافة وإزالة العناصر عند العمل مع قائمة الانتظار ، ديكي والمكدس ، لأنها يمكن أن تؤثر على تشغيل الخوارزميات ومعالجة البيانات.
| النوع | إضافة | إزالة | الوصول إلى البيانات |
|---|---|---|---|
| قائمة الانتظار | قائمة الانتظار (حتى النهاية) | ديكو (من البداية) | نظرة خاطفة (العنصر الأول) |
| ديكي | دفع إلى الأمام (إلى البداية) ، دفع إلى الخلف (إلى النهاية) | واجهة منبثقة (من البداية) ، خلفية منبثقة (من النهاية) | أمامي (بداية) ، خلفي (نهاية) |
| المكدس | دفع (إلى الأعلى) | البوب (من الأعلى) | أعلى (العنصر الأخير) |
لاحظ أن هذه العمليات قد يكون لها أوقات تنفيذ مختلفة بلغات برمجة مختلفة أو تطبيقات لهياكل البيانات.
ميزات التنفيذ بلغات البرمجة المختلفة
في لغات البرمجة المختلفة ، هناك العديد من الطرق لتنفيذ قوائم الانتظار وقوائم الانتظار ثنائية الاتجاه (الطوابق) والمداخن. دعونا ننظر إلى بعض منهم.
- .
- .
- من المكتبة القياسية.
قائمة انتظار ثنائية الاتجاه (ديك)
- .
- .
- من المكتبة القياسية.
- .
- تستخدم لإضافة وإزالة العناصر.
- من المكتبة القياسية.
هناك لغات برمجة أخرى قد يختلف فيها تنفيذ قوائم الانتظار وقوائم الانتظار ثنائية الاتجاه والمداخن. ومع ذلك ، بغض النظر عن لغة البرمجة ، هذه الهياكل البيانات توفر أساليب مريحة للعمل مع العناصر وفقا لمبادئ فيفو (أولا في ، أولا المغادرة) لقوائم الانتظار و ليفو (آخر في ، أولا المغادرة) للمداخن.
اختيار بنية البيانات الصحيحة:طابور, ديك أو كومة?
عند حل المشكلات المتعلقة بهياكل البيانات ، من المهم اختيار الهيكل المناسب للحل الأمثل. في مثل هذه الحالات ، غالبا ما يطرح السؤال: ما هي بنية البيانات التي يجب أن أستخدمها-قائمة انتظار أو قائمة انتظار ثنائية الاتجاه أو مكدس?
قائمة الانتظار هي بنية بيانات تعمل على مبدأ" أولا في— أولا خارج " (فيفو — أولا في ، أولا خارج). تتم إضافة العناصر إلى نهاية قائمة الانتظار ، ويتم استلامها من بداية قائمة الانتظار. قائمة الانتظار ملائمة لتنفيذ الخوارزميات حيث من المهم اتباع ترتيب العناصر ، على سبيل المثال ، عند معالجة المهام في قائمة الانتظار.
قائمة انتظار ثنائية الاتجاه (ديك) يعمل مع العناصر في كلا طرفي المجموعة. يتيح لك ذلك إضافة واستقبال العناصر من بداية ونهاية بنية البيانات. يمكن استخدام قائمة انتظار ثنائية الاتجاه عندما يكون من الضروري إضافة العناصر وإزالتها بسرعة من بداية المجموعة ونهايتها. وهي مناسبة ، على سبيل المثال ، لتنفيذ خوارزميات البحث أولا أو لحل المشكلات التي تحتاج إلى معالجة العناصر بترتيب مختلف.
المكدس عبارة عن بنية بيانات تعمل على مبدأ "آخر دخول ، أول خروج" (ليفو — آخر دخول ، أول خروج). تتم إضافة العناصر واستلامها من طرف واحد فقط من المكدس ، يسمى الجزء العلوي من المكدس. المكدس مفيد في الحالات التي يكون فيها من الضروري الحفاظ على ترتيب العمليات. غالبا ما يتم استخدامه ، على سبيل المثال ، عند تنفيذ خوارزميات متكررة أو عند العمل مع استدعاءات الوظائف.
يعتمد الاختيار الصحيح بين قائمة الانتظار وقائمة الانتظار ثنائية الاتجاه والمكدس على المهمة المحددة. إذا كان ترتيب العناصر مهما ويتم تنفيذ العمليات من طرف واحد فقط ، فمن الأفضل استخدام قائمة انتظار أو مكدس. إذا كان من الضروري إضافة العناصر واستلامها بسرعة من كلا الطرفين ، فيجب أن يقع الاختيار في قائمة انتظار ثنائية الاتجاه. بالنظر إلى تفاصيل كل بنية بيانات ، يمكنك اختيار الهيكل المناسب لكل مهمة محددة وتحقيق أفضل النتائج.
سؤال وجواب
ما هي الطرق المتاحة لقائمة الانتظار, ديك, وكومة الطبقات?
تحتوي فئة قائمة الانتظار على طرق دفع ، فرقعة ، أمامية ، خلفية ، فارغة ، حجم. فئة ديك لديها دفع الجبهة ، دفع الظهر ، بوب الجبهة ، بوبباك ، الجبهة ، الظهر ، فارغة ، الحجم. فئة المكدس لديها دفع ، البوب ، أعلى ، فارغة ، الحجم.
ما هي الاختلافات بين قائمة الانتظار وديكي?
والفرق الرئيسي بين قائمة الانتظار وديك هو الطريقة التي يتم الوصول إلى العناصر. في قائمة الانتظار ، تتم إضافة العناصر إلى النهاية وإزالتها من البداية ، وهو ما يتوافق مع مبدأ "أولا ، أولا". في ديك ، يمكنك إضافة عناصر إلى كل من البداية والنهاية ، ويمكن حذف العناصر من كلا الطرفين. أيضا ، ديك هو أكثر مرونة بالمقارنة مع قائمة الانتظار.
أين يمكنني استخدام طابور, ديك ومكدس هياكل البيانات?
يمكن استخدام بنية بيانات قائمة الانتظار في مهام مثل معالجة المهام بالترتيب الذي تصل إليه (على سبيل المثال ، في قائمة انتظار المهام) ، ومعالجة الرسائل في تطبيقات الشبكة. يمكن أن تكون قائمة الانتظار ثنائية الاتجاه مفيدة في مهام مثل اجتياز الشجرة الثنائية ، والبحث عن الاتساع أولا ، والخوارزميات المختلفة التي تتطلب معالجة العناصر من جانبين. يمكن استخدام بنية بيانات المكدس في العمليات الحسابية باستخدام تدوين التلميع العكسي ، والتحقق من صحة تسلسلات الأقواس ، والمهام الأخرى التي تتطلب معالجة العناصر بترتيب "آخر دخول ، أول خروج".