SlideShare a Scribd company logo
DATA STRUCTURES|QUEUES ANDLINKED LISTS|Page 1 of 5|
| ‫رضــــــــوان‬ ‫احـمــــــد‬ .‫م‬arash982@gmail.com
‫الـطــابـــــور‬QUEUE
‫يخرج‬ ‫ما‬ ‫أول‬ ‫هو‬ ‫الطابور‬ ‫يدخل‬ ‫شيء‬ ‫أول‬ ‫ويكون‬ ،‫تتوالى‬ ‫بحيث‬ ‫ألشياء‬ ‫ترتيب‬ ‫هو‬ ‫الطابور‬ ،‫الحاسوب‬ ‫علوم‬ ‫في‬
.‫منه‬ ‫يخرج‬ ‫ما‬ ‫آخر‬ ‫هو‬ ‫يدخله‬ ‫ما‬ ‫وآخر‬ ،‫منه‬
‫هو‬ ‫الترتيب‬ ‫في‬ ‫مبدأ‬ ‫لها‬FIFO:First In First Outً‫ال‬‫أو‬ ‫خارج‬ ً‫ال‬‫او‬ ‫الداخل‬
‫للطابور‬ ‫يمكن‬queue: ‫اشهرها‬ ‫من‬ ‫بطرق‬ ‫يبنى‬ ‫او‬ ‫يمثل‬ ‫ان‬
o‫مصفوفة‬ ‫شكل‬ ‫على‬Array
o‫متصلة‬ ‫قوائم‬ ‫شكل‬ ‫على‬Linked List) ‫الطريقة‬ ‫بهذه‬ ‫الطوابير‬ ‫تمثل‬ ‫ما‬ ً‫ا‬‫(غالب‬
o‫الداينميكية‬ ‫المصفوفات‬ ‫شكل‬ ‫على‬DYNAMIC ARRAYS
: ‫الطوابير‬ ‫أنواع‬
‫خطية‬ ‫طوابير‬linear queues
‫دائرية‬ ‫طوابير‬circular queues
‫الطابور‬ ‫إستخدام‬ ‫على‬ ‫امثلة‬examples for using queues
‫طابور‬ ‫في‬ ‫تدخل‬ ‫االوامر‬ ‫فإن‬ ‫ما‬ ‫لطابعة‬ ‫طباعة‬ ‫امر‬ ‫من‬ ‫اكثر‬ ‫إعطاء‬ ‫عند‬
‫مهمة‬ ‫من‬ ‫اكثر‬ ‫لتنفيذ‬ ‫مرة‬ ‫من‬ ‫ألكثر‬ ‫الماوس‬ ‫الى‬ ‫النقر‬ ‫عند‬
‫ـ‬ ‫وغيرها‬ ... ‫المفاتيح‬ ‫لوحة‬ ‫ـ‬ ‫اإلدخال‬ ‫أجهزة‬ ‫مثل‬ ( ‫بطيئة‬ ‫االخرى‬ ‫و‬ ‫سريعة‬ ‫االجهزة‬ ‫بعض‬ ‫تكون‬ ‫عندما‬
) ‫المعالجة‬ ‫اجهزة‬ ‫و‬
‫الروترات‬ ‫تستخدم‬ ( ‫اإلنترنت‬ ‫على‬Routers‫مثل‬ ‫العمالء‬ ‫طلبات‬ ‫و‬ ‫للعمليات‬ ‫طوابير‬ ‫عمل‬ ‫ألجل‬ )
‫الوقت‬ ‫نفس‬ ‫في‬ ‫إلكتروني‬ ‫موقع‬ ‫طلب‬
‫الخطية‬ ‫الطوابير‬linear Queues
.. ‫المصفوفات‬ ‫بإستخدام‬ ‫الخطية‬ ‫الطوابير‬ ‫تمثل‬ ‫ما‬ ‫عادة‬
‫؟‬ ‫مصفوفة‬ ‫بيانات‬ ‫هيكل‬ ‫في‬ ‫الطابور‬ ‫تمثل‬ ‫من‬ ‫الفوائد‬ ‫و‬ ‫الميزات‬ ‫هي‬ ‫ما‬
‫التنفيذ‬ ‫بساطة‬
‫تنفيذ‬ ‫عمل‬ ‫قبل‬ ‫الطابور‬ ‫الحجم‬ ‫تحديد‬ ‫يجب‬RUN‫للبرنامج‬
DATA STRUCTURES|QUEUES ANDLINKED LISTS|Page 2 of 5|
| ‫رضــــــــوان‬ ‫احـمــــــد‬ .‫م‬arash982@gmail.com
‫منها‬ ‫اقل‬ ‫الطابور‬ ‫بيانات‬ ‫حجم‬ ‫يكون‬ ‫و‬ ‫كبيرة‬ ‫مصفوفة‬ ‫عن‬ ‫اإلعالن‬ ‫حال‬ ‫في‬ ‫للمساحة‬ ‫هدر‬ ‫يحدث‬ ‫قد‬
‫الـ‬ ‫يعبر‬REAR‫الطابور‬ ‫نهاية‬ ‫مؤشر‬ ‫عن‬
‫الـ‬ ‫يعبر‬FRONT‫الطابور‬ ‫بداية‬ ‫مؤشر‬ ‫عن‬
‫ال‬ ‫قيمة‬ ‫نزيد‬ ‫فإننا‬ ‫جديدة‬ ‫قيمة‬ ‫إضافة‬ ‫عند‬FRONT‫واحدة‬ ‫قيمة‬ ‫بمقدار‬
FRONT + 1
ADD ITEM
‫الطابور‬ ‫حجم‬ ‫من‬ ً‫ال‬‫او‬ ‫نتاكد‬ ‫فإننا‬ ‫الطابور‬ ‫الى‬ ‫جديدة‬ ‫قيمة‬ ‫إضافة‬ ‫نريد‬ ‫عندما‬
‫يسمى‬ ‫متغير‬ ‫لدينا‬ ‫يكون‬ ‫إن‬ ‫يمكن‬ ‫لذلك‬ ‫و‬SIZE‫قيمة‬ ‫ساوت‬ ‫فإذا‬FRONT
‫الـ‬ ‫قيمة‬SIZE‫ممتلئ‬ ‫الطابور‬ ‫ان‬ ‫يعني‬ ‫هذا‬ ‫فإن‬
IF ( FRONT == SIZE)
PRINT (“QUEUE IS FULL”);
‫اإلضــافـــــــة‬ ‫عمـلـيـــة‬INSERTING TO QUEUE(ENQUEUE)
‫الـ‬ ‫من‬ ‫كل‬ ‫فإن‬ ‫للطابور‬ ‫قيمة‬ ‫اول‬ ‫إضافة‬ ‫عند‬FRONT‫الـ‬ ‫و‬REAR‫بعدها‬ ‫قيمة‬ ‫أضفنا‬ ‫كلما‬ ‫و‬ ‫القيمة‬ ‫نفس‬ ‫يإخذان‬
‫الـ‬ ‫ان‬ ‫نالحظ‬FRONT‫الـ‬ ‫قيمة‬ ‫تضل‬ ‫بينما‬ ‫قيمته‬ ‫تزداد‬REAR‫الـ‬ ‫الن‬ ‫هي‬ ‫كما‬REAR. ‫الطابور‬ ‫نهاية‬ ‫الى‬ ‫يشير‬
‫للطابور‬ ‫اإلضافة‬ ‫عملية‬ ‫تسمى‬ADDING TO QUEUE‫الـ‬ ‫بعملية‬ :EQUEUE
‫الطابور‬ ‫مــن‬ ‫الــحذف‬ ‫عـمــلـيـــة‬DELETEING FOR QUEUE(DEQUEUE)
‫الـ‬ ‫قيمة‬ ‫يرفع‬ ‫ذلك‬ ‫و‬ ‫الطابور‬ ‫نهاية‬ ‫من‬ ‫الحذف‬ ‫يتم‬ ‫الحذف‬ ‫او‬ ‫السحب‬ ‫حالة‬ ‫في‬REAR
‫الـ‬ ‫من‬ ‫كل‬ ‫قيمت‬ ‫تتساوى‬ ‫عندها‬ ‫الطابور‬ ‫في‬ ‫قيمة‬ ‫آخر‬ ‫حذف‬ ‫حالة‬ ‫في‬FRONT‫الـ‬ ‫و‬REAR‫قيمتهما‬ ‫تتحول‬ ‫و‬
‫الطابور‬ ‫الى‬ ‫عنصر‬ ‫اي‬ ‫إضافة‬ ‫قبل‬ ‫االولى‬ ‫القيمة‬ ‫الى‬ ‫يعودان‬ ‫اخر‬ ‫بمعنى‬ . ‫الصفر‬ ‫الى‬QUEUE
DATA STRUCTURES|QUEUES ANDLINKED LISTS|Page 3 of 5|
| ‫رضــــــــوان‬ ‫احـمــــــد‬ .‫م‬arash982@gmail.com
BIG OBIG O
‫الـ‬ ‫حساب‬BIG O: ‫اآلتية‬ ‫العمليات‬ ‫في‬ ‫للطابور‬
‫الوصول‬ACCESS:‫مصفوفة‬ ‫في‬ ‫الممثل‬ ‫الطابور‬ ‫داخل‬ ‫معين‬ ‫عنصر‬ ‫الى‬ ‫للوصول‬ ‫المطلوب‬ ‫الوقت‬ ‫من‬ ‫كم‬
(O(n)‫و‬ ‫معين‬ ‫عنصر‬ ‫الى‬ ‫للوصول‬ ‫خطوة‬ ‫كم‬ ‫اخر‬ ‫بمعنى‬ )n‫الخطوات‬ ‫عدد‬ ‫عن‬ ‫يعبر‬
‫البحث‬SEARCH:‫الطابور‬ ‫في‬ ‫معين‬ ‫عنصر‬ ‫إليجاد‬ ‫الخطوات‬ ‫او‬ ‫المستغرق‬ ‫الوقت‬ ‫من‬ ‫كم‬O(N)
‫الـ‬QUEUE‫الـ‬ ‫من‬ ‫بالبحث‬ ‫يبداء‬REAR‫الى‬FRONT
EQUEUE OR DEQUEUE:‫الـ‬ ‫لذلك‬ ‫فقط‬ ‫واحدة‬ ‫لخطوة‬ ‫نحتاج‬ ‫إننا‬ ‫اإلضافة‬ ‫او‬ ‫الحذف‬ ‫حالة‬ ‫في‬BIG
O‫تساوي‬O(1)
‫الـ‬ ‫بين‬ ‫الفرق‬ ‫ما‬QUEUE‫الــ‬ ‫و‬STACK‫؟‬
‫الــ‬ ‫ان‬ ‫حيث‬ ‫تختلف‬ ‫اإلضافة‬ ‫و‬ ‫الحذف‬ ‫طريقة‬ ‫ان‬ ‫عدا‬ ‫ما‬ ‫مصفوفة‬ ‫في‬ ‫تمثيلهما‬ ‫عن‬ ‫يتشابها‬:
STACK( ‫طريقة‬ ‫يعتمد‬FILO)(FRIST IN LAST OUT)
QUEUE( ‫طريقة‬ ‫يعتمد‬FIFO( )FRIST IN FRIST OUT)
‫الـ‬ ‫إلستخدام‬ ‫بسيطة‬ ‫مقارنة‬QUEUE‫الــ‬ ‫و‬STACK
‫الـ‬ ‫إستخدام‬ ‫فإن‬ ‫معينة‬ ‫قيم‬ ‫او‬ ‫ارقام‬ ‫ترتيب‬ ‫اعادة‬ ‫نريد‬ ‫عندما‬STACK‫الحاالت‬ ‫هذه‬ ‫مثل‬ ‫في‬ ‫افضل‬ ‫يكن‬
‫ا‬‫لقوائم‬‫المتصلة‬LINKED LIST
‫لفهم‬‫المصفوفات‬ ‫فهم‬ ‫يجب‬ ‫أوال‬ ‫المتصلة‬ ‫القوائم‬
‫في‬‫الثابتة‬ ‫المصفوفات‬static arrays‫فإنه‬
‫وقت‬ ‫حجمها‬ ‫زيادة‬ ‫أو‬ ‫عنصر‬ ‫إضافة‬ ‫يمكن‬ ‫ال‬
‫تنفيذ‬run. ‫البرنامج‬
‫عند‬‫عن‬ ‫اي‬ ‫إضافة‬‫المصفوفة‬ ‫الى‬ ‫جديد‬ ‫صر‬
‫إعادة‬ ‫الى‬ ‫بحاجة‬ ‫فإننا‬ ‫المعرف‬ ‫حجمها‬ ‫ضمن‬
. ‫ترتيبها‬
DATA STRUCTURES|QUEUES ANDLINKED LISTS|Page 4 of 5|
| ‫رضــــــــوان‬ ‫احـمــــــد‬ .‫م‬arash982@gmail.com
‫عند‬‫محاولة‬‫رقم‬ ‫قيمة‬ ‫او‬ ‫عنصر‬ ‫إضافة‬7
‫القيمة‬ ‫مكان‬2‫بعمل‬ ‫نقوم‬ ‫ان‬ ‫يجب‬ ‫فإننا‬
‫بعده‬ ‫القيم‬ ‫لبقية‬ ‫زحزحة‬
int4 byte
2byte
‫م‬‫ـ‬‫م‬‫ـ‬‫ا‬‫س‬‫ـ‬‫ب‬‫ـ‬‫ق‬‫م‬ :‫ــ‬‫ه‬ ‫ا‬‫ـــ‬‫الـ‬ ‫ي‬linkedlist‫م‬ ‫و‬‫ـ‬‫ه‬ ‫ا‬‫ــ‬‫م‬ ‫ي‬‫ـ‬‫ي‬‫ـ‬‫زات‬‫ـ‬‫ه‬‫ــــ‬‫ا‬
‫تحتوي‬‫الـ‬linked list‫نود‬ ‫على‬node‫اكثر‬ ‫او‬
‫الـ‬node‫من‬ ‫يتكون‬8‫بايت‬‫المثال‬ ‫سبيل‬ ‫على‬ ‫اهما‬ ‫من‬ ‫متعددة‬ ‫السباب‬ ‫ذلك‬ ‫و‬
:
‫النه‬‫مثل‬ ‫متغير‬ ‫اي‬ ‫تعريف‬ ‫عند‬int‫يأخذ‬ ‫فإنه‬4 byte‫متغير‬ ‫أو‬char‫و‬
‫يأخذ‬2 byte‫ال‬ ‫يخزن‬ ‫النود‬ ‫حجم‬ ‫ان‬ ‫حيث‬‫قيمة‬ ‫يخزن‬ ‫كذلك‬ ‫و‬ ‫بيانات‬‫المؤش‬‫ر‬
pointer
‫ينق‬‫سم‬‫النود‬node: ‫قسمين‬ ‫إلى‬
‫قسم‬‫البيانات‬node data
‫قسم‬‫المؤشر‬node pointer
Struct node
{
Int data;
Struct node *next;
}
‫م‬‫ـ‬‫مؤشر‬ ‫هـــو‬ ‫ـا‬‫النود‬node pointer‫؟‬
‫عند‬‫عنوان‬ ‫الى‬ ‫يشير‬ ‫مؤشر‬ ‫لها‬ ‫يعرف‬ ‫جديدة‬ ‫نود‬ ‫تريف‬
‫التالية‬ ‫النود‬
Struct node
{ int data = 10;
Struct node *next=2000; }
DATA STRUCTURES|QUEUES ANDLINKED LISTS|Page 5 of 5|
| ‫رضــــــــوان‬ ‫احـمــــــد‬ .‫م‬arash982@gmail.com
‫عندما‬‫من‬ ‫نوع‬ ‫عمل‬ ‫نريد‬
‫لغرض‬ ‫بنا‬ ‫خاصة‬ ‫البيانات‬
‫النوع‬ ‫هذا‬ ‫نشأ‬ ‫فإننا‬ ‫معين‬
‫كثابت‬Struct
‫مثال‬‫عمل‬ : ‫ذلك‬‫نود‬ ‫او‬ ‫نوع‬
‫طالب‬ ‫بيانات‬ ‫لحفظ‬
‫االسم‬‫الجلوس‬ ‫ورقم‬ ،
Strcat student
{
char Name;
Int rollNo;
}
‫هذا‬‫مثال‬
‫فقط‬ ‫للتوضيح‬

More Related Content

More from ِِِAhmed R. A. Shamsan

Intorduction to databases 2021
Intorduction to databases 2021Intorduction to databases 2021
Intorduction to databases 2021
ِِِAhmed R. A. Shamsan
 
5 sql language
5   sql language5   sql language
4 sql language
4   sql language4   sql language
Computer skills 2019 last edition a
Computer skills 2019 last edition aComputer skills 2019 last edition a
Computer skills 2019 last edition a
ِِِAhmed R. A. Shamsan
 
Ms powerpoint بالعربي شرح ميكروسوفت باوربويت العرض التقديمي
Ms powerpoint بالعربي شرح ميكروسوفت باوربويت العرض التقديميMs powerpoint بالعربي شرح ميكروسوفت باوربويت العرض التقديمي
Ms powerpoint بالعربي شرح ميكروسوفت باوربويت العرض التقديمي
ِِِAhmed R. A. Shamsan
 
Ms excel
Ms excel  Ms excel
Ms word
Ms word Ms word
Ms windows 7
Ms windows 7Ms windows 7
Internet basices
Internet basices Internet basices
Internet basices
ِِِAhmed R. A. Shamsan
 
dos fundamentals
dos fundamentalsdos fundamentals
dos fundamentals
ِِِAhmed R. A. Shamsan
 
Linked list
Linked listLinked list
10 introduction to ds 2-2019 - heap
10   introduction to ds 2-2019 - heap10   introduction to ds 2-2019 - heap
10 introduction to ds 2-2019 - heap
ِِِAhmed R. A. Shamsan
 
introduction to ds 2-2019 - complete tree
 introduction to ds 2-2019 - complete tree introduction to ds 2-2019 - complete tree
introduction to ds 2-2019 - complete tree
ِِِAhmed R. A. Shamsan
 
introduction to binary search trees
introduction to binary search treesintroduction to binary search trees
introduction to binary search trees
ِِِAhmed R. A. Shamsan
 
introduction to ds 2-2019 - priority queue
introduction to ds 2-2019 - priority queueintroduction to ds 2-2019 - priority queue
introduction to ds 2-2019 - priority queue
ِِِAhmed R. A. Shamsan
 
introduction to ds - trees
introduction to ds - treesintroduction to ds - trees
introduction to ds - trees
ِِِAhmed R. A. Shamsan
 
5 introduction to ds recursion
5   introduction to ds  recursion5   introduction to ds  recursion
5 introduction to ds recursion
ِِِAhmed R. A. Shamsan
 
introduction to ds 2-2019 -double linked list
introduction to ds 2-2019 -double linked listintroduction to ds 2-2019 -double linked list
introduction to ds 2-2019 -double linked list
ِِِAhmed R. A. Shamsan
 
circular linked list
circular linked listcircular linked list
circular linked list
ِِِAhmed R. A. Shamsan
 
DOUBLE LINKED LIST
DOUBLE LINKED LISTDOUBLE LINKED LIST
DOUBLE LINKED LIST
ِِِAhmed R. A. Shamsan
 

More from ِِِAhmed R. A. Shamsan (20)

Intorduction to databases 2021
Intorduction to databases 2021Intorduction to databases 2021
Intorduction to databases 2021
 
5 sql language
5   sql language5   sql language
5 sql language
 
4 sql language
4   sql language4   sql language
4 sql language
 
Computer skills 2019 last edition a
Computer skills 2019 last edition aComputer skills 2019 last edition a
Computer skills 2019 last edition a
 
Ms powerpoint بالعربي شرح ميكروسوفت باوربويت العرض التقديمي
Ms powerpoint بالعربي شرح ميكروسوفت باوربويت العرض التقديميMs powerpoint بالعربي شرح ميكروسوفت باوربويت العرض التقديمي
Ms powerpoint بالعربي شرح ميكروسوفت باوربويت العرض التقديمي
 
Ms excel
Ms excel  Ms excel
Ms excel
 
Ms word
Ms word Ms word
Ms word
 
Ms windows 7
Ms windows 7Ms windows 7
Ms windows 7
 
Internet basices
Internet basices Internet basices
Internet basices
 
dos fundamentals
dos fundamentalsdos fundamentals
dos fundamentals
 
Linked list
Linked listLinked list
Linked list
 
10 introduction to ds 2-2019 - heap
10   introduction to ds 2-2019 - heap10   introduction to ds 2-2019 - heap
10 introduction to ds 2-2019 - heap
 
introduction to ds 2-2019 - complete tree
 introduction to ds 2-2019 - complete tree introduction to ds 2-2019 - complete tree
introduction to ds 2-2019 - complete tree
 
introduction to binary search trees
introduction to binary search treesintroduction to binary search trees
introduction to binary search trees
 
introduction to ds 2-2019 - priority queue
introduction to ds 2-2019 - priority queueintroduction to ds 2-2019 - priority queue
introduction to ds 2-2019 - priority queue
 
introduction to ds - trees
introduction to ds - treesintroduction to ds - trees
introduction to ds - trees
 
5 introduction to ds recursion
5   introduction to ds  recursion5   introduction to ds  recursion
5 introduction to ds recursion
 
introduction to ds 2-2019 -double linked list
introduction to ds 2-2019 -double linked listintroduction to ds 2-2019 -double linked list
introduction to ds 2-2019 -double linked list
 
circular linked list
circular linked listcircular linked list
circular linked list
 
DOUBLE LINKED LIST
DOUBLE LINKED LISTDOUBLE LINKED LIST
DOUBLE LINKED LIST
 

Recently uploaded

تطور-الحركة-الوطنية-في-السودان-1919-–-1924-the-evolution-of-the-national-move...
تطور-الحركة-الوطنية-في-السودان-1919-–-1924-the-evolution-of-the-national-move...تطور-الحركة-الوطنية-في-السودان-1919-–-1924-the-evolution-of-the-national-move...
تطور-الحركة-الوطنية-في-السودان-1919-–-1924-the-evolution-of-the-national-move...
Gamal Mansour
 
تدريب ف دوره على برنامج 3 1 d max
تدريب  ف  دوره  على   برنامج  3 1 d  maxتدريب  ف  دوره  على   برنامج  3 1 d  max
تدريب ف دوره على برنامج 3 1 d max
maymohamed29
 
مفهوم النخب_c2a9ebf68281ad450b0aec32b2014d05.pptx
مفهوم النخب_c2a9ebf68281ad450b0aec32b2014d05.pptxمفهوم النخب_c2a9ebf68281ad450b0aec32b2014d05.pptx
مفهوم النخب_c2a9ebf68281ad450b0aec32b2014d05.pptx
movies4u7
 
687065تاىىز458-الخط-الزمني-و-الخريطة.pptx
687065تاىىز458-الخط-الزمني-و-الخريطة.pptx687065تاىىز458-الخط-الزمني-و-الخريطة.pptx
687065تاىىز458-الخط-الزمني-و-الخريطة.pptx
ninapro343
 
ورشة تحليل الممارسات المهنية (قطب الإنسانيات).pptx
ورشة تحليل الممارسات المهنية (قطب الإنسانيات).pptxورشة تحليل الممارسات المهنية (قطب الإنسانيات).pptx
ورشة تحليل الممارسات المهنية (قطب الإنسانيات).pptx
akrimo1978
 
DOC-20240602-W ggdcvgccccbbA0000..pdf
DOC-20240602-W     ggdcvgccccbbA0000..pdfDOC-20240602-W     ggdcvgccccbbA0000..pdf
DOC-20240602-W ggdcvgccccbbA0000..pdf
Gamal Mansour
 
مقدمة عن لغة بايثون.pdf-اهم لغات البرمجة
مقدمة عن لغة بايثون.pdf-اهم لغات البرمجةمقدمة عن لغة بايثون.pdf-اهم لغات البرمجة
مقدمة عن لغة بايثون.pdf-اهم لغات البرمجة
elmadrasah
 
بالمغرب التربية الدامجة في خارطة الطريق.pptx
بالمغرب التربية الدامجة في خارطة الطريق.pptxبالمغرب التربية الدامجة في خارطة الطريق.pptx
بالمغرب التربية الدامجة في خارطة الطريق.pptx
wafaaoumariam
 
تدريب ف دوره على برنامج 3 2 d max
تدريب  ف  دوره  على  برنامج  3  2  d  maxتدريب  ف  دوره  على  برنامج  3  2  d  max
تدريب ف دوره على برنامج 3 2 d max
maymohamed29
 

Recently uploaded (9)

تطور-الحركة-الوطنية-في-السودان-1919-–-1924-the-evolution-of-the-national-move...
تطور-الحركة-الوطنية-في-السودان-1919-–-1924-the-evolution-of-the-national-move...تطور-الحركة-الوطنية-في-السودان-1919-–-1924-the-evolution-of-the-national-move...
تطور-الحركة-الوطنية-في-السودان-1919-–-1924-the-evolution-of-the-national-move...
 
تدريب ف دوره على برنامج 3 1 d max
تدريب  ف  دوره  على   برنامج  3 1 d  maxتدريب  ف  دوره  على   برنامج  3 1 d  max
تدريب ف دوره على برنامج 3 1 d max
 
مفهوم النخب_c2a9ebf68281ad450b0aec32b2014d05.pptx
مفهوم النخب_c2a9ebf68281ad450b0aec32b2014d05.pptxمفهوم النخب_c2a9ebf68281ad450b0aec32b2014d05.pptx
مفهوم النخب_c2a9ebf68281ad450b0aec32b2014d05.pptx
 
687065تاىىز458-الخط-الزمني-و-الخريطة.pptx
687065تاىىز458-الخط-الزمني-و-الخريطة.pptx687065تاىىز458-الخط-الزمني-و-الخريطة.pptx
687065تاىىز458-الخط-الزمني-و-الخريطة.pptx
 
ورشة تحليل الممارسات المهنية (قطب الإنسانيات).pptx
ورشة تحليل الممارسات المهنية (قطب الإنسانيات).pptxورشة تحليل الممارسات المهنية (قطب الإنسانيات).pptx
ورشة تحليل الممارسات المهنية (قطب الإنسانيات).pptx
 
DOC-20240602-W ggdcvgccccbbA0000..pdf
DOC-20240602-W     ggdcvgccccbbA0000..pdfDOC-20240602-W     ggdcvgccccbbA0000..pdf
DOC-20240602-W ggdcvgccccbbA0000..pdf
 
مقدمة عن لغة بايثون.pdf-اهم لغات البرمجة
مقدمة عن لغة بايثون.pdf-اهم لغات البرمجةمقدمة عن لغة بايثون.pdf-اهم لغات البرمجة
مقدمة عن لغة بايثون.pdf-اهم لغات البرمجة
 
بالمغرب التربية الدامجة في خارطة الطريق.pptx
بالمغرب التربية الدامجة في خارطة الطريق.pptxبالمغرب التربية الدامجة في خارطة الطريق.pptx
بالمغرب التربية الدامجة في خارطة الطريق.pptx
 
تدريب ف دوره على برنامج 3 2 d max
تدريب  ف  دوره  على  برنامج  3  2  d  maxتدريب  ف  دوره  على  برنامج  3  2  d  max
تدريب ف دوره على برنامج 3 2 d max
 

Queues and linked lists

  • 1. DATA STRUCTURES|QUEUES ANDLINKED LISTS|Page 1 of 5| | ‫رضــــــــوان‬ ‫احـمــــــد‬ .‫م‬arash982@gmail.com ‫الـطــابـــــور‬QUEUE ‫يخرج‬ ‫ما‬ ‫أول‬ ‫هو‬ ‫الطابور‬ ‫يدخل‬ ‫شيء‬ ‫أول‬ ‫ويكون‬ ،‫تتوالى‬ ‫بحيث‬ ‫ألشياء‬ ‫ترتيب‬ ‫هو‬ ‫الطابور‬ ،‫الحاسوب‬ ‫علوم‬ ‫في‬ .‫منه‬ ‫يخرج‬ ‫ما‬ ‫آخر‬ ‫هو‬ ‫يدخله‬ ‫ما‬ ‫وآخر‬ ،‫منه‬ ‫هو‬ ‫الترتيب‬ ‫في‬ ‫مبدأ‬ ‫لها‬FIFO:First In First Outً‫ال‬‫أو‬ ‫خارج‬ ً‫ال‬‫او‬ ‫الداخل‬ ‫للطابور‬ ‫يمكن‬queue: ‫اشهرها‬ ‫من‬ ‫بطرق‬ ‫يبنى‬ ‫او‬ ‫يمثل‬ ‫ان‬ o‫مصفوفة‬ ‫شكل‬ ‫على‬Array o‫متصلة‬ ‫قوائم‬ ‫شكل‬ ‫على‬Linked List) ‫الطريقة‬ ‫بهذه‬ ‫الطوابير‬ ‫تمثل‬ ‫ما‬ ً‫ا‬‫(غالب‬ o‫الداينميكية‬ ‫المصفوفات‬ ‫شكل‬ ‫على‬DYNAMIC ARRAYS : ‫الطوابير‬ ‫أنواع‬ ‫خطية‬ ‫طوابير‬linear queues ‫دائرية‬ ‫طوابير‬circular queues ‫الطابور‬ ‫إستخدام‬ ‫على‬ ‫امثلة‬examples for using queues ‫طابور‬ ‫في‬ ‫تدخل‬ ‫االوامر‬ ‫فإن‬ ‫ما‬ ‫لطابعة‬ ‫طباعة‬ ‫امر‬ ‫من‬ ‫اكثر‬ ‫إعطاء‬ ‫عند‬ ‫مهمة‬ ‫من‬ ‫اكثر‬ ‫لتنفيذ‬ ‫مرة‬ ‫من‬ ‫ألكثر‬ ‫الماوس‬ ‫الى‬ ‫النقر‬ ‫عند‬ ‫ـ‬ ‫وغيرها‬ ... ‫المفاتيح‬ ‫لوحة‬ ‫ـ‬ ‫اإلدخال‬ ‫أجهزة‬ ‫مثل‬ ( ‫بطيئة‬ ‫االخرى‬ ‫و‬ ‫سريعة‬ ‫االجهزة‬ ‫بعض‬ ‫تكون‬ ‫عندما‬ ) ‫المعالجة‬ ‫اجهزة‬ ‫و‬ ‫الروترات‬ ‫تستخدم‬ ( ‫اإلنترنت‬ ‫على‬Routers‫مثل‬ ‫العمالء‬ ‫طلبات‬ ‫و‬ ‫للعمليات‬ ‫طوابير‬ ‫عمل‬ ‫ألجل‬ ) ‫الوقت‬ ‫نفس‬ ‫في‬ ‫إلكتروني‬ ‫موقع‬ ‫طلب‬ ‫الخطية‬ ‫الطوابير‬linear Queues .. ‫المصفوفات‬ ‫بإستخدام‬ ‫الخطية‬ ‫الطوابير‬ ‫تمثل‬ ‫ما‬ ‫عادة‬ ‫؟‬ ‫مصفوفة‬ ‫بيانات‬ ‫هيكل‬ ‫في‬ ‫الطابور‬ ‫تمثل‬ ‫من‬ ‫الفوائد‬ ‫و‬ ‫الميزات‬ ‫هي‬ ‫ما‬ ‫التنفيذ‬ ‫بساطة‬ ‫تنفيذ‬ ‫عمل‬ ‫قبل‬ ‫الطابور‬ ‫الحجم‬ ‫تحديد‬ ‫يجب‬RUN‫للبرنامج‬
  • 2. DATA STRUCTURES|QUEUES ANDLINKED LISTS|Page 2 of 5| | ‫رضــــــــوان‬ ‫احـمــــــد‬ .‫م‬arash982@gmail.com ‫منها‬ ‫اقل‬ ‫الطابور‬ ‫بيانات‬ ‫حجم‬ ‫يكون‬ ‫و‬ ‫كبيرة‬ ‫مصفوفة‬ ‫عن‬ ‫اإلعالن‬ ‫حال‬ ‫في‬ ‫للمساحة‬ ‫هدر‬ ‫يحدث‬ ‫قد‬ ‫الـ‬ ‫يعبر‬REAR‫الطابور‬ ‫نهاية‬ ‫مؤشر‬ ‫عن‬ ‫الـ‬ ‫يعبر‬FRONT‫الطابور‬ ‫بداية‬ ‫مؤشر‬ ‫عن‬ ‫ال‬ ‫قيمة‬ ‫نزيد‬ ‫فإننا‬ ‫جديدة‬ ‫قيمة‬ ‫إضافة‬ ‫عند‬FRONT‫واحدة‬ ‫قيمة‬ ‫بمقدار‬ FRONT + 1 ADD ITEM ‫الطابور‬ ‫حجم‬ ‫من‬ ً‫ال‬‫او‬ ‫نتاكد‬ ‫فإننا‬ ‫الطابور‬ ‫الى‬ ‫جديدة‬ ‫قيمة‬ ‫إضافة‬ ‫نريد‬ ‫عندما‬ ‫يسمى‬ ‫متغير‬ ‫لدينا‬ ‫يكون‬ ‫إن‬ ‫يمكن‬ ‫لذلك‬ ‫و‬SIZE‫قيمة‬ ‫ساوت‬ ‫فإذا‬FRONT ‫الـ‬ ‫قيمة‬SIZE‫ممتلئ‬ ‫الطابور‬ ‫ان‬ ‫يعني‬ ‫هذا‬ ‫فإن‬ IF ( FRONT == SIZE) PRINT (“QUEUE IS FULL”); ‫اإلضــافـــــــة‬ ‫عمـلـيـــة‬INSERTING TO QUEUE(ENQUEUE) ‫الـ‬ ‫من‬ ‫كل‬ ‫فإن‬ ‫للطابور‬ ‫قيمة‬ ‫اول‬ ‫إضافة‬ ‫عند‬FRONT‫الـ‬ ‫و‬REAR‫بعدها‬ ‫قيمة‬ ‫أضفنا‬ ‫كلما‬ ‫و‬ ‫القيمة‬ ‫نفس‬ ‫يإخذان‬ ‫الـ‬ ‫ان‬ ‫نالحظ‬FRONT‫الـ‬ ‫قيمة‬ ‫تضل‬ ‫بينما‬ ‫قيمته‬ ‫تزداد‬REAR‫الـ‬ ‫الن‬ ‫هي‬ ‫كما‬REAR. ‫الطابور‬ ‫نهاية‬ ‫الى‬ ‫يشير‬ ‫للطابور‬ ‫اإلضافة‬ ‫عملية‬ ‫تسمى‬ADDING TO QUEUE‫الـ‬ ‫بعملية‬ :EQUEUE ‫الطابور‬ ‫مــن‬ ‫الــحذف‬ ‫عـمــلـيـــة‬DELETEING FOR QUEUE(DEQUEUE) ‫الـ‬ ‫قيمة‬ ‫يرفع‬ ‫ذلك‬ ‫و‬ ‫الطابور‬ ‫نهاية‬ ‫من‬ ‫الحذف‬ ‫يتم‬ ‫الحذف‬ ‫او‬ ‫السحب‬ ‫حالة‬ ‫في‬REAR ‫الـ‬ ‫من‬ ‫كل‬ ‫قيمت‬ ‫تتساوى‬ ‫عندها‬ ‫الطابور‬ ‫في‬ ‫قيمة‬ ‫آخر‬ ‫حذف‬ ‫حالة‬ ‫في‬FRONT‫الـ‬ ‫و‬REAR‫قيمتهما‬ ‫تتحول‬ ‫و‬ ‫الطابور‬ ‫الى‬ ‫عنصر‬ ‫اي‬ ‫إضافة‬ ‫قبل‬ ‫االولى‬ ‫القيمة‬ ‫الى‬ ‫يعودان‬ ‫اخر‬ ‫بمعنى‬ . ‫الصفر‬ ‫الى‬QUEUE
  • 3. DATA STRUCTURES|QUEUES ANDLINKED LISTS|Page 3 of 5| | ‫رضــــــــوان‬ ‫احـمــــــد‬ .‫م‬arash982@gmail.com BIG OBIG O ‫الـ‬ ‫حساب‬BIG O: ‫اآلتية‬ ‫العمليات‬ ‫في‬ ‫للطابور‬ ‫الوصول‬ACCESS:‫مصفوفة‬ ‫في‬ ‫الممثل‬ ‫الطابور‬ ‫داخل‬ ‫معين‬ ‫عنصر‬ ‫الى‬ ‫للوصول‬ ‫المطلوب‬ ‫الوقت‬ ‫من‬ ‫كم‬ (O(n)‫و‬ ‫معين‬ ‫عنصر‬ ‫الى‬ ‫للوصول‬ ‫خطوة‬ ‫كم‬ ‫اخر‬ ‫بمعنى‬ )n‫الخطوات‬ ‫عدد‬ ‫عن‬ ‫يعبر‬ ‫البحث‬SEARCH:‫الطابور‬ ‫في‬ ‫معين‬ ‫عنصر‬ ‫إليجاد‬ ‫الخطوات‬ ‫او‬ ‫المستغرق‬ ‫الوقت‬ ‫من‬ ‫كم‬O(N) ‫الـ‬QUEUE‫الـ‬ ‫من‬ ‫بالبحث‬ ‫يبداء‬REAR‫الى‬FRONT EQUEUE OR DEQUEUE:‫الـ‬ ‫لذلك‬ ‫فقط‬ ‫واحدة‬ ‫لخطوة‬ ‫نحتاج‬ ‫إننا‬ ‫اإلضافة‬ ‫او‬ ‫الحذف‬ ‫حالة‬ ‫في‬BIG O‫تساوي‬O(1) ‫الـ‬ ‫بين‬ ‫الفرق‬ ‫ما‬QUEUE‫الــ‬ ‫و‬STACK‫؟‬ ‫الــ‬ ‫ان‬ ‫حيث‬ ‫تختلف‬ ‫اإلضافة‬ ‫و‬ ‫الحذف‬ ‫طريقة‬ ‫ان‬ ‫عدا‬ ‫ما‬ ‫مصفوفة‬ ‫في‬ ‫تمثيلهما‬ ‫عن‬ ‫يتشابها‬: STACK( ‫طريقة‬ ‫يعتمد‬FILO)(FRIST IN LAST OUT) QUEUE( ‫طريقة‬ ‫يعتمد‬FIFO( )FRIST IN FRIST OUT) ‫الـ‬ ‫إلستخدام‬ ‫بسيطة‬ ‫مقارنة‬QUEUE‫الــ‬ ‫و‬STACK ‫الـ‬ ‫إستخدام‬ ‫فإن‬ ‫معينة‬ ‫قيم‬ ‫او‬ ‫ارقام‬ ‫ترتيب‬ ‫اعادة‬ ‫نريد‬ ‫عندما‬STACK‫الحاالت‬ ‫هذه‬ ‫مثل‬ ‫في‬ ‫افضل‬ ‫يكن‬ ‫ا‬‫لقوائم‬‫المتصلة‬LINKED LIST ‫لفهم‬‫المصفوفات‬ ‫فهم‬ ‫يجب‬ ‫أوال‬ ‫المتصلة‬ ‫القوائم‬ ‫في‬‫الثابتة‬ ‫المصفوفات‬static arrays‫فإنه‬ ‫وقت‬ ‫حجمها‬ ‫زيادة‬ ‫أو‬ ‫عنصر‬ ‫إضافة‬ ‫يمكن‬ ‫ال‬ ‫تنفيذ‬run. ‫البرنامج‬ ‫عند‬‫عن‬ ‫اي‬ ‫إضافة‬‫المصفوفة‬ ‫الى‬ ‫جديد‬ ‫صر‬ ‫إعادة‬ ‫الى‬ ‫بحاجة‬ ‫فإننا‬ ‫المعرف‬ ‫حجمها‬ ‫ضمن‬ . ‫ترتيبها‬
  • 4. DATA STRUCTURES|QUEUES ANDLINKED LISTS|Page 4 of 5| | ‫رضــــــــوان‬ ‫احـمــــــد‬ .‫م‬arash982@gmail.com ‫عند‬‫محاولة‬‫رقم‬ ‫قيمة‬ ‫او‬ ‫عنصر‬ ‫إضافة‬7 ‫القيمة‬ ‫مكان‬2‫بعمل‬ ‫نقوم‬ ‫ان‬ ‫يجب‬ ‫فإننا‬ ‫بعده‬ ‫القيم‬ ‫لبقية‬ ‫زحزحة‬ int4 byte 2byte ‫م‬‫ـ‬‫م‬‫ـ‬‫ا‬‫س‬‫ـ‬‫ب‬‫ـ‬‫ق‬‫م‬ :‫ــ‬‫ه‬ ‫ا‬‫ـــ‬‫الـ‬ ‫ي‬linkedlist‫م‬ ‫و‬‫ـ‬‫ه‬ ‫ا‬‫ــ‬‫م‬ ‫ي‬‫ـ‬‫ي‬‫ـ‬‫زات‬‫ـ‬‫ه‬‫ــــ‬‫ا‬ ‫تحتوي‬‫الـ‬linked list‫نود‬ ‫على‬node‫اكثر‬ ‫او‬ ‫الـ‬node‫من‬ ‫يتكون‬8‫بايت‬‫المثال‬ ‫سبيل‬ ‫على‬ ‫اهما‬ ‫من‬ ‫متعددة‬ ‫السباب‬ ‫ذلك‬ ‫و‬ : ‫النه‬‫مثل‬ ‫متغير‬ ‫اي‬ ‫تعريف‬ ‫عند‬int‫يأخذ‬ ‫فإنه‬4 byte‫متغير‬ ‫أو‬char‫و‬ ‫يأخذ‬2 byte‫ال‬ ‫يخزن‬ ‫النود‬ ‫حجم‬ ‫ان‬ ‫حيث‬‫قيمة‬ ‫يخزن‬ ‫كذلك‬ ‫و‬ ‫بيانات‬‫المؤش‬‫ر‬ pointer ‫ينق‬‫سم‬‫النود‬node: ‫قسمين‬ ‫إلى‬ ‫قسم‬‫البيانات‬node data ‫قسم‬‫المؤشر‬node pointer Struct node { Int data; Struct node *next; } ‫م‬‫ـ‬‫مؤشر‬ ‫هـــو‬ ‫ـا‬‫النود‬node pointer‫؟‬ ‫عند‬‫عنوان‬ ‫الى‬ ‫يشير‬ ‫مؤشر‬ ‫لها‬ ‫يعرف‬ ‫جديدة‬ ‫نود‬ ‫تريف‬ ‫التالية‬ ‫النود‬ Struct node { int data = 10; Struct node *next=2000; }
  • 5. DATA STRUCTURES|QUEUES ANDLINKED LISTS|Page 5 of 5| | ‫رضــــــــوان‬ ‫احـمــــــد‬ .‫م‬arash982@gmail.com ‫عندما‬‫من‬ ‫نوع‬ ‫عمل‬ ‫نريد‬ ‫لغرض‬ ‫بنا‬ ‫خاصة‬ ‫البيانات‬ ‫النوع‬ ‫هذا‬ ‫نشأ‬ ‫فإننا‬ ‫معين‬ ‫كثابت‬Struct ‫مثال‬‫عمل‬ : ‫ذلك‬‫نود‬ ‫او‬ ‫نوع‬ ‫طالب‬ ‫بيانات‬ ‫لحفظ‬ ‫االسم‬‫الجلوس‬ ‫ورقم‬ ، Strcat student { char Name; Int rollNo; } ‫هذا‬‫مثال‬ ‫فقط‬ ‫للتوضيح‬