86
t.node_6 = t.my_insert(t.node_3,6,2);
t.node_10 = t.my_insert(t.node_6,10,1);
t.node_7 = t.my_insert(t.node_4,7,1);
//daraxtni aylanib o’tish
t.preorder(t.root);
t.inorder(t.root);
t.postorder(t.root);
5.3. Daraxtni aylanib o’tishning rekursiyasiz tadbiqi
Daraxtni rekursiyani qo’llamasdan ham aylanib o’tish mumkin, buni
aylanib o’tishning: inorder, preorder va postorder kabi uchta usuli uchun ham
qo’llash mumkin. Buning uchun LIFO (oxirgi kelgan birinchi ketadi) printsipida
ishlovchi standart stek qo’llaniladi, bunda stekka tugunlar aylanib o’tish usullari
bo’yicha yoziladi. Misol sifatida yana uch-o’lchamli daraxtdan foydalanamiz.
Listing 6. C tilida daraxtni aylanib o’tishning rekursiv bo’lmagan tadbiqi
Do'stlaringiz bilan baham: