الفرق بين قائمة مرتبط منفردة وقائمة مرتبط المضاعفة
قائمة مرتبط منفردة مقابل قائمة مرتبطة مضاعف
قائمة مرتبطة هو بنية البيانات الخطية التي تستخدم لتخزين مجموعة من البيانات. تقوم قائمة مرتبطة بتخصيص الذاكرة لعناصرها بشكل منفصل في كتلة الذاكرة الخاصة بها ويتم الحصول على الهيكل العام من خلال ربط هذه العناصر كروابط في سلسلة. وتتألف قائمة مرتبطة منفردة تتكون من سلسلة من العقد وكل عقدة لديها إشارة إلى العقدة التالية في التسلسل. تحتوي قائمة ذات ارتباط مضاعف على تسلسل من العقد التي تحتوي كل عقدة على إشارة إلى العقدة التالية وكذلك إلى العقدة السابقة.
- 1>>قائمة مرتبطة بشكل فردي
كل عنصر في قائمة مرتبطة منفردة له حقلان كما هو مبين في الشكل 1. يحتوي حقل البيانات على البيانات الفعلية المخزنة والحقل التالي يحمل الإشارة إلى العنصر التالي في السلسلة. يتم تخزين العنصر الأول من القائمة المرتبطة كرئيس للقائمة المرتبطة.
الشكل 2 يصور قائمة مرتبطة منفردا مع ثلاثة عناصر. يخزن كل عنصر بياناته وجميع العناصر باستثناء آخر مخزن واحد مرجع للعنصر التالي. يحمل العنصر الأخير قيمة خالية في الحقل التالي. يمكن الوصول إلى أي عنصر في القائمة من خلال البدء في الرأس وبعد المؤشر التالي حتى تستوفي العنصر المطلوب.
قائمة مرتبطة مضاعف
كل عنصر في قائمة مرتبطة مضاعف ثلاثة مجالات كما هو مبين في الشكل 3. مماثلة إلى قائمة مرتبطة منفردة، يحمل حقل البيانات المخزنة على البيانات الفعلية والحقل التالي يحمل إشارة إلى العنصر التالي في السلسلة. بالإضافة إلى ذلك، يحتوي الحقل السابق على الإشارة إلى العنصر السابق في السلسلة. يتم تخزين العنصر الأول من القائمة المرتبطة كرئيس للقائمة المرتبطة.
الشكل 4 يصور قائمة ذات صلة مضاعفة مع ثلاثة عناصر. تخزن جميع العناصر الوسيطة مراجع للعنصرين الأول والسابق. يحمل العنصر الأخير في القائمة قيمة خالية في الحقل التالي، بينما يحمل العنصر الأول في القائمة قيمة خالية في الحقل السابق. قائمة يمكن ربطها بشكل مضاعف إلى الأمام عن طريق اتباع المراجع التالية في كل عنصر، وبالمثل يمكن اجتيازها إلى الوراء باستخدام المراجع السابقة في كل عنصر.
ما هو الفرق بين قائمة سينغلي المرتبطة وقائمة مرتبطة بشكل مضاعف؟
يحتوي كل عنصر في القائمة المرتبطة منفردة على مرجع للعنصر التالي في القائمة، في حين يحتوي كل عنصر في القائمة ذات الارتباط المزدوج على مراجع للعنصر التالي وكذلك العنصر السابق في القائمة. القوائم المرتبطة بشكل مضاعف تتطلب مساحة أكبر لكل عنصر في القائمة والعمليات الأولية مثل الإدراج والحذف هو أكثر تعقيدا لأن لديهم للتعامل مع اثنين من المراجع. ولكن قوائم الارتباط مضاعفة تسمح التلاعب أسهل لأنه يسمح عبور القائمة في الأمام والخلف الاتجاهات.