10- الخوارزميات وبنى المعطيات – القائمة المتصلة مزدوجة الارتباط Algorithms and Data Structure – Linked List

facebook-groupالسلام عليكم ورحمة الله وبركاته

Algorithms and Data Structure – Doubly Linked List
الخوارزميات وبنى المعطيات –  القائمة المتصلة المزدوجة الارتباط

القائمة المتصلة المزدوجة الارتباط: عبارة عن نسخة معدلة من القائمة المزودجة, بحيث تمكن التجوال باتجاهين – للامام والخلف – بسهولة التجوال المتواجد ضمن القائمة المتصلة linked list .

فيما يلي قائمة بالمصطلحات المهمة فيما يتعلق بالقائمة المتصلة المزدوجة الارتباط Doubly Linked List:

  • الرابط Link: يمكن لكل رابط – من روابط القائمة المتصلة – ان يخزن المعطيات, وتدعى هذه المعطيات باسم العنصر element.
  • التالي Next: يحوي كل رابط Link ضمن القائمة المتصلة على رابط للعنصر التالي مباشرة, ويدعى هذا الرابط باسم التالي Next.
  • التالي Prev: يحوي كل رابط Link ضمن القائمة المتصلة على رابط للعنصر السابق مباشرة, ويدعى هذا الرابط باسم التالي Prev.

 

تمثيل القائمة المتصلة المزدوجة الارتباط doubly linked list representation

doubly_linked_list

فيما يلي بعض النقاط الهامة التي يجدر الانتباه اليها في القائمة المتصلة المزدوجة الارتباطdoubly linked list :

  • تحوي على رابط يدعلى الرابط الاول first link, وعلى رابط يدعى الرابط الاخير last link.
  • كل رابط Link يحوي على حقل معطيات – او عدة حقول – وعلى حقلين خاصين بالروابط links يدعيان التالي next والسابق Prev.
  • يحوي العنصر الاخير على رابط next يشير الى القيمة Null معلنا بذلك نهاية القائمة.

العمليات الأساسية:

فيما يلي قائمة بالعمليات الاساسية المدعومة ضمن القائمة المتصلة:

  • الاضافة insertion : اضافة عنصر الى بداية القائمة المتصلة
  • الحذف deletion: حذف عنصر من بداية القائمة المتصلة
  • الاضافة للاخير insert last: اضافة عنصر الى اخر القائمة المتصلة
  • حذف العنصر الاخير delete last: حذف عنصر من نهاية السلسلة.
  • الاضافة بعد عنصر insert after: اضافة عنصر بعد عنصر محدد من القائمة>
  • الحذف delete : حذف عنصر من القائمة باستخدام مفتاح محددkey .
  • العرض قدما Display forward: عرض كامل السلسلة من البداية للنهاية
  • العرض بشكل تراجعي display backward: عرض كامل محتويات السلسلة بشكل تراجعي من النهاية للبداية.

 

عملية الاضافة Insertion Operation

الكود التالي يبين عملية اضافة عنصر الى بداية القائمة المتصلة المزدوجة الارتباط doubly linked list

مثال:

insert begining 1.JPG

عملية الحذف Deletion Operation

الكود التالي يمثل عملية الحذف لعنصر من بداية القائمة المتصلة المزدوجة الارتباط

مثال:

delete example.JPG

الاضافة الى نهاية السلسلة Insertion at the End of an doubly linked list

الكود ادناه يمثل عملية اضافة عنصر الى نهاية قائمة متصلة مزدوجة.

insert at the end of the list.JPG

وبهذا القدر ننتهي من الحديث عن القائمة المتصلة المزدوجة الارتباط

كتمرين, بامانكم كتابة خوارزمية تنفيذ بقية العمليات على هذا النوع من القوائم

نلتقي في الدرس القادم للحديث عن القوائم المتصلة الدائرية

circular linked list

والى ذلك الحين استودعكم الله والسلام عليكم ورحمة الله وبركاته

مع تحيات:

م. نور الصباحي

 

الترجمة المصطلح
بنى المعطيات, او هياكل المعطيات Data Structure
الخوارزميات Algorithm
قائمة متصلة Linked list
عملية Operation
عقدة Node
رابط Link
زمن التنفيذ Running time/execution time
البحث عن المعطيات Data search
سرعة المعالجة Processor speed
الطلبات المتعددة Multiple Request
التعقيد الزمني Time complexity
التعقيد المكاني Space complexity
التحليل المقار Asymptotic Analysis
أفضل حالة Best case
الحالة الوسيطية Average case
اسوء حالة Worst case

 

References
https://www.tutorialspoint.com/data_structures_algorithms/index.htm

 

 

 

Advertisements

, , , , , , , , , , , , ,

  1. أضف تعليق

اترك رد

Please log in using one of these methods to post your comment:

شعار وردبرس.كوم

أنت تعلق بإستخدام حساب WordPress.com. تسجيل خروج   /  تغيير )

Google+ photo

أنت تعلق بإستخدام حساب Google+. تسجيل خروج   /  تغيير )

صورة تويتر

أنت تعلق بإستخدام حساب Twitter. تسجيل خروج   /  تغيير )

Facebook photo

أنت تعلق بإستخدام حساب Facebook. تسجيل خروج   /  تغيير )

Connecting to %s

%d مدونون معجبون بهذه: