headshoter
سه شنبه 27 دی 1390, 22:23 عصر
سلام .
من این دو تا الگوریتم رو دارم . ولی میخوام اگه میشه یکی توضیحشونو بده !!
من کتاب علیخانزاده رو هم گرفتم ولی فقط In-Order رو توضیح داده بود که منم از روش خوندم !! ولی این دو تارو از روش بازگشتی گفته که استادمون قبول نمیکنه واسه امتحان !! :ناراحت:
ممنون میشم اگه کمکم کنید !!
Procedure post order (T)
1. [Initialize]
If T=Null
Then write (‘Empty tree’)
Exit
Else Top←0
P← T
2. [Traverse in post order]
Repeat thru step5 while true
3. [Descend left]
Repeat while p≠ Null
Call push (s, Top, P)
P← LPTR (P)
4. [Process a node whole left and right is traversed]
Repeat while s [Top] < 0
P← pop (s, Top)
Write (data (P))
If Top = 0
Then Exit
5. [Branch right, and then mark node]
P← RPTR (s[Top])
S [Top] ← - S [Top]
------------------------------------------------
Procedure preorder (T)
1. [Initialize]
If T=Null
Then write (‘Empty tree’)
Exit
Else Top←0
Call Push(s, Top, T)
2. [Process each stacked address]
Repeat thru step3 while Top>0
3. [Get stored address and branch Right]
p← Pop(s, Top)
Repeat while p≠ Null
Write (data (P))
If RPTR (P) ≠Null
Then call push (s, Top, RPTR (P))
P← LPTR (P)
4. [Finished]
Exit
من این دو تا الگوریتم رو دارم . ولی میخوام اگه میشه یکی توضیحشونو بده !!
من کتاب علیخانزاده رو هم گرفتم ولی فقط In-Order رو توضیح داده بود که منم از روش خوندم !! ولی این دو تارو از روش بازگشتی گفته که استادمون قبول نمیکنه واسه امتحان !! :ناراحت:
ممنون میشم اگه کمکم کنید !!
Procedure post order (T)
1. [Initialize]
If T=Null
Then write (‘Empty tree’)
Exit
Else Top←0
P← T
2. [Traverse in post order]
Repeat thru step5 while true
3. [Descend left]
Repeat while p≠ Null
Call push (s, Top, P)
P← LPTR (P)
4. [Process a node whole left and right is traversed]
Repeat while s [Top] < 0
P← pop (s, Top)
Write (data (P))
If Top = 0
Then Exit
5. [Branch right, and then mark node]
P← RPTR (s[Top])
S [Top] ← - S [Top]
------------------------------------------------
Procedure preorder (T)
1. [Initialize]
If T=Null
Then write (‘Empty tree’)
Exit
Else Top←0
Call Push(s, Top, T)
2. [Process each stacked address]
Repeat thru step3 while Top>0
3. [Get stored address and branch Right]
p← Pop(s, Top)
Repeat while p≠ Null
Write (data (P))
If RPTR (P) ≠Null
Then call push (s, Top, RPTR (P))
P← LPTR (P)
4. [Finished]
Exit