Professional Documents
Culture Documents
اليوم اقدم لطلب مستوى ثاني بكلية الحاسب اللي شرح كامل لزيارة الشجرة وطباعة محتوياتها باستخدام
الـ . Non-Recursive
طبعاً الكل يعرف بان البرامج التي يتم صنعها باستخدام الـ Non-Recursiveتكون اكو ادهها طويلة
ولكن وقت التنفيذ يكون سريع اسرع من البرامج التي يتم صنعها باستخدام الـRecursive
طبعاً لقد شرحت الزيارة باستخدام الـ Recursiveفي الكتاب السابق .
سوف استخدم هنا الزيارة باستخدام الـpreorder
)Preorder)Tree*root هنا قمنا بتعريف مؤشر من نوع Treeوذالك لكي نستخدمه عند
{ التنقل في الشجرة تفادياً لضياع الشجرة
;Tree*p=root
يتم استخدامه لعملية loopحتى يتم طبع الشجرة بأكملها
)While)True او كما يقال يقوم بدور الـ (Recursiveالستدعاء)
{
)while)p طالما الـ pموجودة (طالما الـ pيشير الى ) node
{
)Display)p->info
)push)stk,p يقوم بوضع عنوان الـ pداخل الـ stk
;p=p->left
} يقوم بنقل الـ pالى الـ nodeالذي في اليسار
))if)not empty)stk
{
)p=pop)stk يقوم باخراج اخر عنوان في الـ stkووضع المؤشر pعلية
;p=p->right
} يقوم بنقل الـ pالى الـ nodeالذي في اليمين
Else
Break
} يقوم بإيقاف الـ loopعند إلنتها من زيارة
} الشجرة كاملة
لدينا هذه الشجرة
A
B k
Z Y
N
F