8-amaliy mashg’ulot Mavzu: Daraxtsimon ko’rinishdagi ma’lumotlar tuzilmasini tadqiq qilish. Ikkilik daraxtsimon ma’lumotlar tuzilmasini tadqiq qilish. Ishdan maqsad


 Binar daraxt bo‘yicha qidiruv funksiyasi



Download 489,62 Kb.
Pdf ko'rish
bet5/11
Sana30.11.2022
Hajmi489,62 Kb.
#875357
1   2   3   4   5   6   7   8   9   10   11
8.6. Binar daraxt bo‘yicha qidiruv funksiyasi 
Mazkur funksiyaning vazifasi shundan iboratki, u berilgan kalit bo‘yicha 
daraxt tuguni qidiruvini amalga oshiradi. Qidiruv operatsiyasining davomiyligi 
daraxt tuzilishiga bog‘liq bo‘ladi. Haqiqatdan, agar elementlar daraxtga kalit 
qiymatlari o‘sish (kamayish) tartibida kelib tushgan bo‘lsa, u holda daraxt 8.7-
rasmdagidek bir tomonga yo‘nalgan ro‘yhat hosil qiladi (chiqish darajasi bir 
bo‘ladi, ya’ni yagona shoxga ega), masalan: 
8.7-rasm. Bir tomonlama yo‘naltirilgan binar daraxt tuzilishi
Bu holda daraxtda qidiruv vaqti, bir tomonlama yo‘naltirilgan ro‘yhatdagi 
kabi bo‘lib, o‘rtacha qarab chiqishlar soni N/2 bo‘ladi. Agar daraxt 
muvozanatlangan bo‘lsa, u holda qidiruv eng samarali natija beradi. Bu holda 
qidiruv 
N
2
log
dan ko‘p bo‘lmagan elementlarni ko‘rib chiqadi. 
Qidiruv funksiyasini ko‘rib chiqamiz. 
search
fuksiyasi daraxtdan 
key
kalitga 
mos elementning adresini aniqlaydi. 
int search(node *tree, int key){ 
node *next; next=tree; 


100 
while(next!=NULL) 
{ if (next->info==key){cout<<"Binar daraxtda "<
next; }
if (next->info>key) next=next->left; 
else next=next->right;

cout<<"tuzilmada izlangan element yo‘q!!!"<
return 0; 

8.7. Daraxtga yangi element qo‘shish funksiyasi 
Daraxtga biror bir elementni qo‘shishdan oldin daraxtda berilgan kalit 
bo‘yicha qidiruvni amalga oshirish lozim bo‘ladi. Agar berilgan kalitga teng kalit 
mavjud bo‘lsa, u holda dastur o‘z ishini yakunlaydi, aks holda daraxtga element 
qo‘shish amalga oshiriladi.
Daraxtga yangi yozuvni kiritish uchun, avvalo daraxtning shunday tugunini 
topish lozimki, natijada mazkur tugunga yangi element qo‘shish mumkin bo‘lsin. 
Kerakli tugunni qidirish algoritmi ham xuddi berilgan kalit bo‘yicha tugunni topish 
algoritmi kabi bo‘ladi.
Daraxtda qo‘shilayotgan element kalitiga teng kalitli element yo‘q bo‘lgan holda 
elementni tuzilmaga qo‘shish funksiyasini keltirib o‘tamiz. 
Node *q=NULL; 
Node *p=tree; 
while(p!=NULL){ 
q=p; 
if(key==p->key){ 
search=p; 
return 0; 



101 
If(key
key) p=p->left; 

else p=p->right; 

Berilgan kalitga teng tugun topilmadi, element qo‘shish talab qilinadi. Ota bo‘lishi 
mumkin tugunga q ko‘rsatkich beriladi, elementning o‘zi esa 
yangi
nomli 
ko‘rsatkichi bilan beriladi. 
node *q=new node; 
Qo‘yilayotgan yangi element chap yoki o‘ng o‘g‘il bo‘lishini aniqlash lozim. 
If(keykey) q->left=yangi; 
else q->right=yangi; 
search=yangi; 
return 0; 

Download 489,62 Kb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6   7   8   9   10   11




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