You are on page 1of 16

‫سوف اقوم في هذا الدرس بشرح‬

‫‪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‬‬

‫‪B‬‬ ‫‪C‬‬

‫بدا من هنا‬
‫فقط اتبع السهم‬
‫الناتج سيكون كتالي‪BAC :‬‬
Postorder Traversal LRr(( ‫ الزيارة باستخدام‬-2
:‫سوف يتم استخدام الخوارزمية التالية في زيارة الشجرة‬

postorder)Tree*P(
{
if)P(
{
postorder)P->left(
postorder)P->right(
) Disolay)P->info

{
{
‫‪A‬‬

‫‪B‬‬ ‫‪C‬‬

‫بدا من هنا‬
‫فقط اتبع السهم‬
‫الناتج سيكون كتالي‪BCA :‬‬
Preorder Traversal rLR(( ‫ الزيارة باستخدام‬-2
:‫سوف يتم استخدام الخوارزمية التالية في زيارة الشجرة‬

preorder)Tree*P(
{
if)P(
{
Disolay)P->info(
preorder)P->left(
) preorder)P->right

{
{
‫‪A‬‬

‫‪B‬‬ ‫‪C‬‬

‫بدا من هنا‬
‫فقط اتبع السهم‬
‫الناتج سيكون كتالي‪ABC :‬‬
‫البعض منكم قد يقول لو كانت الشجرة متفرعة اكثر (لديها عمق(‪)depth‬اكبر)؟‬
‫حسناً سوف اقوم بتوضيح لمن يريد ذالك (معلومات اضافية)‪:‬‬
‫قبل ان ابدا اريد ان اشير الى عدة نقاط هامة هي‪:‬‬
‫‪-1‬مهما كبرت شجرة (‪ )Binary tree‬فانه ل يمكن ان يكون للب اكثر من ابنين في‬
‫نفس الجيل وإل لن تكون هذه الشجرة ‪ Binary tree‬ولكن يمكن ان يملك واحد او‬
‫اثنين او صفر( ‪NULL(.‬‬
‫‪-2‬سوف نستخدم الخوارزميات السالفة الذكر في المثلة التي سنقوم بشرحها ‪.‬‬
‫‪ -3‬سوف يتغير عدد النود في الشجرة فقط التي سنعملها لتكبير حجمها ‪.‬‬
‫ستكون الشجرة بهذا الحجم‪:‬‬

‫‪A‬‬

‫‪B‬‬ ‫‪C‬‬

‫‪D‬‬ ‫‪E‬‬ ‫‪F‬‬ ‫‪G‬‬


‫في الــ‪Inorder Traversal :‬‬

‫‪A‬‬

‫‪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‬؟‬


‫الجواب‪ :‬الجواب موضح خلل الرسم التالي‪:‬‬

‫‪A‬‬ ‫‪Level 0‬‬

‫‪B‬‬ ‫‪C‬‬ ‫‪Level 1‬‬

‫‪D‬‬ ‫‪E‬‬ ‫‪F‬‬ ‫‪Level 2‬‬

‫‪G‬‬ ‫‪Level 3‬‬

‫‪Level 4‬‬ ‫‪Depth=4‬‬


‫‪H‬‬ ‫‪I‬‬
‫تم شرح المحاضرة من قبل الطالب‪:‬‬
‫محمد راشد صالح داود‬
‫المجموعة التاسعة‬
‫تم استنباط الشرح من محاضرة الدكتور فضل با علوي‬
‫‪: my Emailmohammed2008_dawod@hotmail.com‬‬
‫تم تنزيل شرح المحاضرة في الموقع التالي‪:‬‬
‫‪http://www.4online.tk‬‬
‫‪my nick name: SpyMan‬‬

You might also like