الفرق بين Stack و Queue

الفرق بين Stack و Queue
الفرق بين Stack و Queue

فيديو: الفرق بين Stack و Queue

فيديو: الفرق بين Stack و Queue
فيديو: [ أصول البرمجة ] 9- الحجز الديناميكي - Stack Vs Heap ( مهم ) 2024, يوليو
Anonim

Stack vs Queue

Stack هي قائمة مرتبة لا يمكن فيها إدراج وحذف عناصر القائمة إلا في طرف واحد يسمى الجزء العلوي. لهذا السبب ، يعتبر المكدس بنية بيانات أخيرًا يصرف أولاً (LIFO). قائمة الانتظار هي أيضًا قائمة مرتبة يتم فيها إدراج عناصر القائمة في أحد الطرفين يسمى الجزء الخلفي ، ويتم حذف العناصر في الطرف الآخر الذي يسمى الجبهة. آلية الإدراج والحذف هذه تجعل قائمة الانتظار هي بنية بيانات First in First out (FIFO).

ما هو المكدس؟

كما ذكرنا سابقًا ، المكدس عبارة عن بنية بيانات يتم فيها إضافة العناصر وإزالتها من طرف واحد فقط يسمى الجزء العلوي.تسمح الأكوام بعمليتين أساسيتين فقط تسمى push and pop. تضيف عملية الدفع عنصرًا جديدًا إلى أعلى المكدس. تزيل عملية الانبثاق عنصرًا من أعلى المكدس. إذا كان المكدس ممتلئًا بالفعل ، عند إجراء عملية دفع ، فإنه يعتبر بمثابة تجاوز للمكدس. إذا تم تنفيذ عملية فرقعة على مكدس فارغ بالفعل ، فسيتم اعتباره تدفقًا تحت المكدس. نظرًا للعدد القليل من العمليات التي يمكن إجراؤها على المكدس ، فإنه يعتبر بمثابة بنية بيانات مقيدة. بالإضافة إلى ذلك ، وفقًا للطريقة التي يتم بها تحديد عمليات الدفع والفرقعة ، من الواضح أن العناصر التي تمت إضافتها مؤخرًا إلى المكدس تخرج من المكدس أولاً. لذلك يعتبر المكدس بمثابة بنية بيانات LIFO.

صورة
صورة
صورة
صورة

ما هي قائمة الانتظار؟

في قائمة الانتظار ، تتم إضافة العناصر من الجزء الخلفي من قائمة الانتظار وإزالتها من مقدمة قائمة الانتظار. نظرًا لأنه سيتم إزالة العناصر التي تمت إضافتها أولاً من قائمة الانتظار أولاً ، فإنها تحافظ على ترتيب FIFO. بسبب هذا الترتيب لإضافة العناصر وإزالتها ، تمثل قائمة الانتظار فكرة سطر الخروج. العمليات العامة التي تدعمها قائمة انتظار هي عمليات en-queue و de-queue. ستضيف عملية En-queue عنصرًا في الجزء الخلفي من قائمة الانتظار ، بينما تزيل عملية de-queue عنصرًا من مقدمة قائمة الانتظار. بشكل عام ، لا تحتوي قوائم الانتظار على حد لعدد العناصر التي يمكن إضافتها إلى قائمة الانتظار إلى جانب قيود الذاكرة.

ما الفرق بين Stack و Queue؟

على الرغم من أن كلاً من الرصّات وقوائم الانتظار هي أنواع من القوائم المرتبة ، إلا أن هناك بعض الاختلافات المهمة. في المكدسات ، لا يمكن إضافة العناصر أو حذفها إلا من طرف واحد يسمى الجزء العلوي ، بينما تتم إضافة العناصر في قوائم الانتظار من طرف يسمى الجزء الخلفي ويتم حذف العناصر من الطرف الآخر الذي يسمى الجزء الأمامي.في المكدس ، ستتم إزالة العناصر التي تمت إضافتها أخيرًا إلى المكدس أولاً من المكدس. لذلك يعتبر المكدس بمثابة بنية بيانات LIFO. في قوائم الانتظار ، ستتم إزالة العناصر التي تمت إضافتها أولاً من قائمة الانتظار أولاً. لذلك تعتبر قائمة الانتظار بمثابة بنية بيانات FIFO.

رابط ذو صلة:

الفرق بين المكدس والكوامة

موصى به: