ichiga olingan oʻng ifodani rekursiv ishlab chiqarish orqali ishlab chiqarilishi
mumkin. Ushbu umumiy strategiya (chap, tugun, oʻng) tartibli o’tish
sifatida tanilgan. Muqobil oʻtish strategiyasi chap pastki daraxtni, oʻng pastki
daraxtni va keyin operatorni rekursiv ravishda chop etishdir. Ushbu oʻtish
strategiyasi odatda buyruqdan keyingi o’tish sifatida tanilgan.
Uchinchi strategiya — avval operatorni chop etish, soʻngra oldindan tartibli
oʻtkazish deb nomlanuvchi chap va oʻng pastki daraxtni rekursiv ravishda
chop etish.
Ushbu uchta standartdan birinchi oʻtish uch xil ifoda formatlarining
ifodasidir: infiks, postfiks va prefiks. Infiks ifodasi tartibni kesib oʻtish orqali,
postfiks ifodasi buyruqdan keyingi oʻtish orqali va prefiks ifodasi oldindan
tartibli oʻtish orqali hosil boʻladi.
Infiks oʻtish
Tahrirlash
Infiks ifodasi chop etilganda, har bir ifodaning boshiga va oxiriga ochilish va
yopish qavslari qoʻshilishi kerak. Har bir pastki daraxt pastki ifodani
ifodalaganligi sababli, uning boshida ochilish qavslari va barcha sonlarni
qayta ishlagandan soʻng, yopish qavslari chop etiladi.
Psevdokod:
Algoritm infix ( daraxt )
Algorithm infix (tree)
/*Print the infix expression for an expression tree.
Pre : tree is a pointer to an expression tree
Post: the infix expression has been printed*/
If (tree not empty)
If (tree token is operator)
Print (open parenthesis)
End if
Infix (tree left subtree)
Print (tree token)
Do'stlaringiz bilan baham: |