Ikkilik qidiruv daraxti


Tugun kiritishni amalga oshirish



Download 416,17 Kb.
Pdf ko'rish
bet3/4
Sana23.07.2022
Hajmi416,17 Kb.
#842162
1   2   3   4
Bog'liq
маъруза 8

Tugun kiritishni amalga oshirish. 
Tugun qo'shish funktsiyasi quyidagicha: 


void Insert(BTNode *&root,int d){ 
BTNode newNode = new BTNode; // Yangi tugun yaratish 
 
newNode->data = d; // berilganlarni o’zlashtirish 
 
if(root==0) // Ildiz tugun mavjud emas 
 
 
root = newNode; 
 
else {// Ildiz tugun band 
 
 
BTNode *temp = root; // Ildiz tugundan boshlash 
 
 
BTNode *parent; 
 
 
while(true) { 
 
 
 
// (Sikldan ichki chiqish) 
 
 
 
parent = temp; 
 
 
 
if(d < temp->data){ // Chapga 
//xarakatlansinmi? 
 
 
 
 
temp=temp->left; 
 
 
 
 
if(!temp){ // Agar zanjirning oxiriga 
// etgan bo'lsa chapga qo’ying 
 
 
 
 
 
 
parent.left = newNode; 
 
 
 
 
 
return; 
 
 
 
 
}
 
 
 

 
 
 
else {// Yoki o’nga? 
 
 
 
 
temp = temp->right; 
 
 
 
 
if(!temp){ // Agar zanjirning oxiriga 
 
//etgan bo'lsa o’nga qo’ying 
 
 
 
 
 
Parent->right = newNode; 
 
 
 
 
 
return; 
 
 
 
 

 
 
 

 
 

 


Yangi o'zgaruvchan ota-ona (ota-ona temp) takrorlash paytida tashrif 
buyurgan so'nggi NULL bo'lmagan tugunni saqlaydi (rasmda 50). Ushbu tugunni 
saqlash zarur, chunki temp avvalgi temp qiymatiga mos bolasi yo'qligini tekshirish 
uchun 0 ga o'rnatildi. 
Yangi tugunni kiritish ota-ona ichidagi mos keladigan ko'rsatgichni 
o'zgartirish orqali amalga oshiriladi (oxirgi tashrif buyurgan NULL bo'lmagan 
tugun). Ota-onaning chap bolasini qidirishda muvaffaqiyatsiz bo'lgan taqdirda, 


yangi tugun ota-onaga chap bola sifatida, to'g'ri bolani qidirishda esa to'g'ri bola 
sifatida biriktiriladi. Rasmda 45 qiymati 50 tuguniga chap bola sifatida 
biriktirilgan, chunki u 50 yoshdan kichik. 
Daraxtdagi tugunni olib tashlash. 
Tugunni o'chirish algoritmi o'chirilayotgan tugunning ikki farzandi bo'lganda 
ancha murakkablashadi (Internet-ga qarang). Bu shunchalik murakkabki, ularsiz 
buni qilishni afzal ko'rishadi. Buning uchun BTNode tuzilmasiga isDeleted formasi 
nomlangan yangi mantiqiy maydon kiritiladi. Tugunni olib tashlash uchun ular 
ushbu maydonni rost qilib qo'yishadi. Find () kabi boshqa operatsiyalar tugun 
ustida ishlashdan oldin ushbu maydonni tekshiring, tugun o'chirilgan deb 
belgilanmaganligiga ishonch hosil qiling. Ushbu yondashuv bilan tugunni yo'q 
qilish daraxt tuzilishini o'zgartirmaydi. Albatta, bu shuningdek, xotirani "uzoq" 
tugunlar bilan to'ldirish mumkinligini anglatadi. Ushbu yondashuv murosaga 
o'xshaydi, ammo daraxtdan nisbatan ozroq o'chirish uchun mos bo'lishi mumkin. 
(Masalan, agar sobiq xodimlarning ma'lumotlari kadrlar bazasida abadiy qolsa.) 

Download 416,17 Kb.

Do'stlaringiz bilan baham:
1   2   3   4




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish