Ikki tugunli bitta tugmachani joylashtirish. 1 kalitli qizil-qora BST bu faqat bitta 2-tugun ikkinchi kalitni kiritish darhol aylanish operatsiyasini o'tkazish zarurligini ko'rsatadi. Agar yangi kalit daraxtdagi kalitdan kichik bo'lsa, yangi kalit bilan yangi (qizil) tugunni qilamiz: bitta 3 tugunga teng bo'lgan qizil-qora BST bor. Ammo agar yangi kalit daraxtdagi kalitdan kattaroq bo'lsa, unda yangi (qizil) tugunni biriktirish o'ng tomonga qizil ulanishni beradi va kod root = rotateLeft(root); qizil havolani chapga burish va daraxt ildizi havolasini yangilash orqali qo'shimchani to'ldiradi. Ikkala holatda ham natija bitta uchta tugunning qizil qora vakili bo'lib, ikkita tugmachasi, bitta chapga egilgan qizil ulanishi va qora balandligi 1 bo'ladi.
19-rasm. Bitta 2-tugunni joylashtiring (ikkita holat) Pastki qismida 2 tugunga joylashtirish.
Do'stlaringiz bilan baham: |