الفرق بين Stack و Heap

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

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

فيديو: الفرق بين Stack و Heap
فيديو: What is 4G - LTE, WiMAX, HSPA+, HSDPA & 3G Explained 2024, يوليو
Anonim

Stack vs Heap

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

ما هو المكدس؟

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

صورة
صورة

ما هي الكومة؟

كما ذكرنا سابقًا ، الكومة عبارة عن شجرة كاملة تفي بخاصية الكومة.تنص خاصية Heap على أنه إذا كانت y هي عقدة فرعية لـ x ، فيجب أن تكون القيمة المخزنة في العقدة x أكبر من القيمة المخزنة في العقدة y أو مساوية لها (أي القيمة (x) ≥ value (y)). تشير هذه الخاصية إلى أن العقدة ذات القيمة الأكبر ستوضع دائمًا في الجذر. تسمى الكومة التي تم إنشاؤها باستخدام هذه الخاصية باسم max-heap. هناك تباين آخر لخاصية الكومة التي تنص على عكس ذلك. (أي القيمة (س) ≤ القيمة (ص)). هذا يعني أن العقدة ذات القيمة الأصغر ستوضع دائمًا في الجذر ، وبالتالي تسمى min-heap. هناك مجموعة واسعة من العمليات التي يتم إجراؤها على أكوام مثل العثور على الحد الأدنى (في min-heaps) أو الحد الأقصى (في max-heaps) ، وحذف الحد الأدنى (في min-heaps) أو الحد الأقصى (في max-heaps) ، وزيادة (في max-heaps) -heaps) أو النقصان (in min-heaps) ، إلخ.

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

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

موصى به: