أهم 17 أسئلة وأجوبة لمقابلة القائمة المرتبطة

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


1) اذكر ما هي القوائم المرتبطة؟

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

تنزيل PDF مجاني: قائمة مرتبطة أسئلة وأجوبة المقابلة


2) ما هو نوع تخصيص الذاكرة المشار إليه للقوائم المرتبطة؟

تتم الإشارة إلى تخصيص الذاكرة الديناميكية للقوائم المرتبطة.


3) اذكر ما هو الاجتياز في القوائم المرتبطة؟

يُستخدم مصطلح "اجتياز" للإشارة إلى عملية معالجة كل عنصر في القائمة.


4) وصف ما هي العقدة في قائمة الروابط؟ وتسمية أنواع القوائم المرتبطة؟

يشار معًا (بيانات + رابط) باسم Node. أنواع القوائم المرتبطة هي،

  • قائمة مرتبطة بشكل فردي
  • قائمة مرتبطة بشكل مضاعف
  • ضرب القائمة المرتبطة
  • قائمة مرتبطة دائرية

5) اذكر ما هي القائمة المرتبطة بشكل فردي؟

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

أسئلة المقابلة الخاصة بالقائمة المرتبطة
أسئلة المقابلة الخاصة بالقائمة المرتبطة

6) اذكر ما الفرق بين الخطي مجموعة والقائمة المرتبطة؟

الفرق بين المصفوفة الخطية والقائمة المرتبطة موضح أدناه،

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

7) اذكر ما هي تطبيقات القوائم المرتبطة؟

تطبيقات القوائم المرتبطة هي،

  • تُستخدم القوائم المرتبطة لتنفيذ قوائم الانتظار والمكدسات والرسوم البيانية وما إلى ذلك.
  • في القوائم المرتبطة، لا تحتاج إلى معرفة الحجم مسبقًا.
  • تتيح لك القوائم المرتبطة إدراج عناصر في بداية القائمة ونهايتها.

8) ماذا يحتوي الرأس الوهمي في القائمة المرتبطة؟

في القائمة المرتبطة، يحتوي الرأس الوهمي على السجل الأول للبيانات الفعلية


9) اذكر خطوات إدراج البيانات في بداية القائمة المرتبطة بشكل فردي؟

تتضمن خطوات إدراج البيانات في بداية القائمة المرتبطة بشكل فردي ما يلي:

  • إنشاء عقدة جديدة
  • أدخل عقدة جديدة عن طريق تخصيص مؤشر الرأس للعقدة الجديدة للمؤشر التالي
  • تحديث مؤشر الرأس إلى نقطة العقدة الجديدة.
Node *head;

void InsertNodeAtFront(int data)

{

/* 1. create the new node*/

Node *temp = new Node;

temp->data = data;

/* 2. insert it at the first position*/

temp->next = head;

/* 3. update the head to point to this new node*/

head = temp;

}

10) اذكر ما الفرق بين القوائم المرتبطة المفردة والمزدوجة؟

تحتوي عقد القائمة المرتبطة بشكل مزدوج على ثلاثة حقول:

  • قيمة عددية و
  • رابطين إلى العقد الأخرى
  • واحد للإشارة إلى العقدة السابقة و
  • أخرى للإشارة إلى العقدة التالية.

في حين أن القائمة المرتبطة بشكل فردي تحتوي على نقاط إلى العقدة التالية فقط.


11) اذكر ما هي التطبيقات التي تستخدم القوائم المرتبطة؟

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


12) شرح كيفية إضافة عنصر إلى بداية القائمة؟

لإضافة عنصر إلى بداية القائمة، عليك القيام بما يلي:

  • إنشاء عنصر جديد وتحديد قيمته
  • ربط العنصر الجديد للإشارة إلى رأس القائمة
  • قم بتعيين رأس القائمة ليكون العنصر الجديد لدينا

إذا كنت تستخدم دالة للقيام بهذه العملية، فستحتاج إلى تغيير متغير الرأس. للقيام بذلك، يجب عليك تمرير مؤشر إلى متغير المؤشر (مؤشر مزدوج). لذلك سوف تكون قادرًا على تعديل المؤشر نفسه.


13) اذكر ما هي أكبر ميزة للقوائم المرتبطة؟

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


14) اذكر كيفية حذف العقدة الأولى من القائمة المرتبطة بشكل فردي؟

لحذف العقدة الأولى من القائمة المرتبطة بشكل فردي

  • تخزين البداية الحالية في مؤشر مؤقت آخر
  • حرك مؤشر البداية بمقدار موضع واحد للأمام
  • احذف درجة الحرارة، أي عقدة البداية السابقة حيث قمنا بتحديث إصدار مؤشر البداية

15) اذكر كيفية عرض القائمة المرتبطة بشكل فردي من الأول إلى الأخير؟

لعرض القائمة المرتبطة بشكل فردي من الأول إلى الأخير،

  • قم بإنشاء قائمة مرتبطة باستخدام create().
  • لا يمكنك تغيير العنوان المخزن داخل المتغير العام "start" لذلك عليك الإعلان عن متغير مؤقت واحد - "temp" من نوع العقدة
  • للانتقال من البداية إلى النهاية، يجب عليك تخصيص عنوان عقدة البداية في متغير المؤشر، أي درجة الحرارة.
struct node *temp;  //Declare temp

temp = start;       //Assign Starting Address to temp

إذا كانت درجة الحرارة فارغة، فيمكنك القول أنه تم الوصول إلى العقدة الأخيرة.

while(temp!=NULL)

{

printf("%d",temp->data);

temp=temp->next;

}

16) اذكر كيفية إدراج عقدة جديدة في القائمة المرتبطة حيث ستكون العقدة المجانية متاحة؟

لإدراج عقدة جديدة في القائمة المرتبطة، ستكون العقدة المجانية متاحة في قائمة التوفر.


17) اذكر أي قائمة رؤوس ستجد أن العقدة الأخيرة تحتوي على مؤشر فارغ؟

بالنسبة لقائمة الرؤوس المؤرضة، ستجد أن العقدة الأخيرة تحتوي على المؤشر الفارغ.

ستساعد أسئلة المقابلة هذه أيضًا في حياتك (شفهي)

مشاركة

6 تعليقات

  1. الصورة الرمزية هابيل يقول:

    لطيف جدا

  2. الصورة الرمزية سمير يقول:

    أسئلتها جميلة جدا . . . . . . . . . . .

  3. الصورة الرمزية عمريثا يقول:

    لقد ساعدني ذلك كثيرًا شكرًا لك

  4. الصورة الرمزية سارة يقول:

    من فضلك كيف يمكنني حل هذه المشكلة
    (قائمة مرتبطة بعقدة رأس وهمية)
    بالنظر إلى قائمتين مرتبطتين L1 وL2، قرر إجراء بلغة زائفة تستخدم قائمة ADT المرتبطة لإدراج L2 بعد العنصر الثالث من العنصر الأخير من L1

    إذا كان L1 هو 1-2-3-4-5-6-7-8-9 وL2 هو 1-1-1

    The result is 1-2-3-4-5-6-7-1-1-1-8-9

    1. الصورة الرمزية مهند شماسنة يقول:

      تحتاج إلى اجتياز L1 أولاً بمؤشرين:
      المؤشر 1 - خطوة واحدة من الرأس.
      المؤشر 2 - 3 خطوات من الرأس.
      بينما (pointer2.next!=null){
      pointer2 = pointer2.next;
      pointer1 = pointer1.next;
      }
      // الآن سيكون لديك مؤشر 1 يشير إلى العقدة الثالثة من الأخيرة.
      درجة الحرارة = pointer1.next
      pointer1.next = L2;
      traversL2 إلى النهاية للحصول على العنصر الأخير->
      LastElementOfL2.Next = temp;
      ...

  5. الصورة الرمزية جون يقول:

    جيد جدا

اترك تعليق

لن يتم نشر عنوان بريدك الإلكتروني. الحقول المشار إليها إلزامية *