123
40-rasm. Katta oʻng burilish algoritmi
Rasmlarda toʻrtburchaklar
pastki daraxtlarni bildiradi, ichidagi
raqamlar
kichik daraxtlarning raqamlari, tugunlar yonidagi raqamlar
balans koʻrsatkichlari. Balanslash algoritmi
chap tomonga burilishning
quyidagi misolida keltirilgan.
41-rasm. Daraxtning dastlabki berilishi
1.
Daraxtning ildiziga aylanadigan uchining manzilini aniqlash:
2.
P1=(*p).Left;
124
42-rasm. Yangi daraxt ildizining manzilini saqlash
3. "Yangi" ildizdan oʻng pastki daraxtni qayta ulang, ushbu daraxtni
"eski" ildizning chap pastki daraxtiga aylantiring:
4. (*p).Left = (*p1).Right;
43-rasm. Qayta biriktirish
125
5. "Yangi" ildizning oʻng pastki daraxtini "eski" ildizdan
boshlanganligini aniqlash:
6. (*p1).Right = p;
44-rasm. “Yangi” ildizning oʻng pastki daraxtini aniqlash
7. Koʻrsatkichning qiymatini daraxtning ildiziga oʻzgartiring (p) va
balans qiymatini tiklang:
8. (*p).bal=0; p=p1;