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

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

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

القائمة المرتبطة دائريا circular linked list: عبارة عن نسخة معدلة من القائمة المتصلة linked list بحيث يشير الأول الى العنصر الاخير, وكذلك يشير العنصر الاخير الى العنصر الاول.

يمكن لكلا النوعين: “القائمة المتصلة المفردة singly lined list والقائمة المتصلة مزدوجة الارتباط doubly linked list ان تكونا دائريتان بحسب الوصف السابق.

 

القائمة المتصلة  – الدائرية Singly linked list as circular

في القائمة المتصلة احادية الاتجاه, يجب ان يشير المؤشر التالي للعنصر الاخير next pointer of last item الى اول عنصر – عقدة ضمن القائمة.

singly_circular_linked_list.jpg

القائمة المزدوجة الارتباط الدائرية doubly linked list as circular

يجب ان يشير رابط التالي next link للعنصر الاخير الى العنصر الاول في القائمة, وان يشير رابط السابق prev link للعنصر الاول الى اخر عنصر ضمن القائمة.

doubly_circular_linked_list.jpg

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

من الاشكال السابقة, نلاحظ بأن هنالك عدة نقاط مهمة يجب التنويه اليها:

في كلا نوعي القوائم المتصلة – المفردة والمزدوجة: نجد بأن رابط التالي next  للعقدة الاخيرة في القائمة يشير الى العنصر الاول في القائمة.

اما في القائمة مزدوجة الارتباط فإن رابط السابق prev link للعنصر الاول يؤشر الى العنصر الاخير ضمن السلسلة

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

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

  • الاضافة insert : اضافة عنصر عند بداية القائمة.
  • الحذف delete: حذف عنصر من بداية القائمة list .
  • العرض display : عرض عناصر القائمة list .

عملية الاضافة insertion operation

الكود التالي يوضح عملية الاضافة الى بداية القائمة المتصلة الدائرية الاحادية

مثال

insert operation.JPG

عملية الحذف deletion operation

الكود التالي يمثل عملية حذف العنصر الاول من قائمة متصلة احادية الاتجاهsingle linked list

delete operation.JPG

عملية عرض القائمة display list operation

الكود التالي يمثل عملية عرض عناصر قائمة متصلة احادية الاتجاهsingle linked list

display op.JPG

وبهذا ننهي حديثنا عن القوائم المتصلة, لننتقل للحديث عن موضوع شيق الا وهو بنية المطيات المكدس Stack data structure

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

مع تحيات:

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

 

الترجمة المصطلح
بنى المعطيات, او هياكل المعطيات 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/

 

 

 

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 مدونون معجبون بهذه: