Professional Documents
Culture Documents
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
A
B C
B C
D E F G
B C
D E F G