Professional Documents
Culture Documents
4 - Skip List
4 - Skip List
4 / April / 2019
قوائم التخطي (1 - )Skip Lists
ً ً
تحتوي القوائم املرتبطة على عيب واحد خطير ،فهي تتطلب مسحا تسلسليا لتحديد عنصر
مطلوب البحث عنه.
حيث يبدأ البحث من بداية القائمة ( )headويتوقف عند العثور على العنصر املطلوب
البحث عنه أو الوصول إلى نهاية القائمة دون العثور على هذا العنصر.
يمكن أن يؤدي ترتيب العناصر (وفق عالقة أكبر أو أصغر ملواصفة أو مواصفات الغرض) في
ً
القائمة إلى تسريع عملية البحث ،ولكن ال يزال البحث املتسلسل مطلوبا.
لذلك ،قد نفكر في القوائم التي تسمح بتخطي بعض العقد لتجنب املعالجة املتسلسلة.
قائمة التخطي :هي نوع مثير لإلهتمام من القوائم املرتبطة املرتبة والتي تجعل املعالجة غير
املتسلسلة ممكنة.
قوائم التخطي (2 - )Skip Lists
قائمة التخطي هي بنية بيانات تسمح بـ:
تعقيد بحث )𝑛 𝑂 (log
Level
null
4
null
3
22
10 45
null
2
7 17 31
5 8 12 19 28 37
null
1
head 2nd node 4th node 8th node tail
make all nodes level 1
j ← 1
while the number of nodes at level j > 1 do
معلومات من اإلنترنيت
for each i'th node at level j do
if i is odd
يمكن أن نجعل
if i is not the last node at level j
randomly choose whether to promote it to level j+1
مستويات البنية شبه
else
do not promote
عشوائية وفق
end if
else if i is even and node i-1 was not promoted
:الخوارزمية التالية
promote it to level j+1
end if
repeat : الشكل التالي كمثال
j ← j + 1
repeat
معلومات من اإلنترنيت
خوارزمية البحث في قوائم التخطي ()Search
معلومات من اإلنترنيت
Level
null
4
null
3
22
10 45
null
2
7 17 31
5 8 12 19 28 37
null
1
head 2nd node 4th node 8th node tail