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