سوف اقوم في هذا الدرس بشرح Binary Tree Traversal Binary Tree Traversal: يوجد عدة طرق لــ ( :)Binary Tree Traversal Inorder Traversal • الزيارة باستخدام : Postorder Traversal •

Download Report

Transcript سوف اقوم في هذا الدرس بشرح Binary Tree Traversal Binary Tree Traversal: يوجد عدة طرق لــ ( :)Binary Tree Traversal Inorder Traversal • الزيارة باستخدام : Postorder Traversal •

‫سوف اقوم في هذا الدرس بشرح‬
‫‪Binary Tree Traversal‬‬
‫‪Binary Tree Traversal:‬‬
‫يوجد عدة طرق لــ (‪:)Binary Tree Traversal‬‬
‫‪Inorder Traversal‬‬
‫• الزيارة باستخدام‪:‬‬
‫‪Postorder Traversal‬‬
‫• الزيارة باستخدام‪:‬‬
‫‪Preorder Traversal‬‬
‫• الزيارة باستخدام‪:‬‬
‫سوف أقوم بشرح جميع انواع الزيارات كالً على حدة‪:‬‬
-:Binary tree ‫لو كان لدينا هذه الـ‬
Depth=0
A
B
C
Depth=1
Inorder Traversal (LrR)
‫ الزيارة باستخدام‬-1
‫سوف يتم استخدام الخوارزمية التالية في زيارة‬
:‫الشجرة‬
Inorder(Tree*P)
{
if(P)
{
Inorder(P->left)
Disolay(P->info)
Inorder(P->right)
}
}
‫‪A‬‬
‫‪C‬‬
‫‪B‬‬
‫بدا من هنا‬
‫فقط اتبع السهم‬
‫الناتج سيكون كتالي‪BAC :‬‬
Postorder Traversal (LRr)
‫ الزيارة باستخدام‬-2
‫سوف يتم استخدام الخوارزمية التالية في زيارة‬
:‫الشجرة‬
postorder(Tree*P)
{
if(P)
{
postorder(P->left)
postorder(P->right)
Disolay(P->info)
}
}
‫‪A‬‬
‫‪C‬‬
‫‪B‬‬
‫بدا من هنا‬
‫فقط اتبع السهم‬
‫الناتج سيكون كتالي‪BCA :‬‬
Preorder Traversal (rLR)
‫ الزيارة باستخدام‬-2
‫سوف يتم استخدام الخوارزمية التالية في زيارة‬
:‫الشجرة‬
preorder(Tree*P)
{
if(P)
{
Disolay(P->info)
preorder(P->left)
preorder(P->right)
}
}
‫‪A‬‬
‫‪C‬‬
‫‪B‬‬
‫بدا من هنا‬
‫فقط اتبع السهم‬
‫الناتج سيكون كتالي‪ABC :‬‬
‫البعض منكم قد يقول لو كانت الشجرة متفرعة اكثر (لديها عمق(‪)depth‬اكبر)؟‬
‫حسنا ً سوف اقوم بتوضيح لمن يريد ذالك (معلومات اضافية)‪:‬‬
‫قبل ان ابدا اريد ان اشير الى عدة نقاط هامة هي‪:‬‬
‫‪-1‬مهما كبرت شجرة (‪ )Binary tree‬فانه ال يمكن ان يكون لألب اكثر من ابنين في‬
‫نفس الجيل وإال لن تكون هذه الشجرة ‪ Binary tree‬وألكن يمكن ان يملك واحد او‬
‫اثنين او صفر( ‪.)NULL‬‬
‫‪-2‬سوف نستخدم الخوارزميات السالفة الذكر في االمثلة التي سنقوم بشرحها ‪.‬‬
‫‪ -3‬سوف يتغير عدد النود في الشجرة فقط التي سنعملها لتكبير حجمها ‪.‬‬
‫ستكون الشجرة بهذا الحجم‪:‬‬
‫‪A‬‬
‫‪C‬‬
‫‪G‬‬
‫‪B‬‬
‫‪F‬‬
‫‪E‬‬
‫‪D‬‬
‫في الــ‬
‫‪: Inorder Traversal‬‬
‫‪A‬‬
‫‪C‬‬
‫‪G‬‬
‫‪B‬‬
‫‪F‬‬
‫‪E‬‬
‫الناتج سيكون كتالي‪D B E A F C G :‬‬
‫‪D‬‬
‫اتبع السهم‬
: Postorder Traversal
‫في الــ‬
A
B
D
‫اتبع السهم‬
C
E
F
G
D E B F G C A :‫الناتج سيكون كتالي‬
: Preorder Traversal
‫في الــ‬
A
B
D
‫اتبع السهم‬
C
E
F
G
A B D E C F G :‫الناتج سيكون كتالي‬
‫بعض االسئلة‬
‫السؤال‪ :‬كيف يتم معرفة عمق الشجرة الــ(‪)depth‬؟‬
‫الجواب‪ :‬الجواب موضح خالل الرسم التالي‪:‬‬
‫‪Level 0‬‬
‫‪Level 1‬‬
‫‪Level 2‬‬
‫‪A‬‬
‫‪B‬‬
‫‪C‬‬
‫‪F‬‬
‫‪E‬‬
‫‪G‬‬
‫‪Level 3‬‬
‫‪Depth=4‬‬
‫‪Level 4‬‬
‫‪D‬‬
‫‪I‬‬
‫‪H‬‬
‫تم شرح المحاضرة من قبل الطالب‪:‬‬
‫محمد راشد صالح داود‬
‫المجموعة التاسعة‬
‫تم استنباط الشرح من محاضرة الدكتور فضل با علوي‬
‫‪my Email :[email protected]‬‬
‫تم تنزيل شرح المحاضرة في الموقع التالي‪:‬‬
‫‪http:// www.4online.tk‬‬
‫‪my nick name: SpyMan‬‬