Amaliy mashg’ulot- 11 Mavzu: Binar daraxtlarni tashkil qilish. Binar daraxtlar ustida amallar. Binar daraxtlar. Daraxt balandligi va ko’ruv



Download 0,67 Mb.
Pdf ko'rish
bet1/8
Sana16.12.2022
Hajmi0,67 Mb.
#888497
  1   2   3   4   5   6   7   8
Bog'liq
11-15-umar



AMALIY MASHG’ULOT- 11 
Mavzu: Binar daraxtlarni tashkil qilish. Binar daraxtlar ustida amallar. 
Binar daraxtlar. Daraxt balandligi va ko’ruv . 
Ushbu laboratoriya ishida talabalar Binar daraxtlar tushunchasi bilan tanishib 
chiqishi hamda daraxt balandligi va binar daraxtlar ustida amallar bajarish
Qo’yilgan masala.
Talabalar topshiriq variantiga mos ravishda binar darxtlar 
ustida berilgan amallar bilan ishlash ko’nikmasiga ega bo’lishlari kerak.
• 
Tajriba ishi nazariy ma’lumotlarini o‘rganish;
• 
Berilgan topshiriqning algoritmini ishlab chiqish;
• 
C++ dasturlash muhitida dasturni yaratish;
• 
Natijalarni tekshirish;
• 
Hisobotni tayyorlash va topshirish.
Daraxtlar: qatorlar, bog'langanro'yxatlar, Stekvanavbatlardanfarqlio'laroq, bu 
chiziqli ma'lumotlar tuzilmalari, daraxtlar ma'lumotlarning ierarxiktuzilmalari.
Daraxtso'zbirikmasi: 
engyuqoritugundaraxtningildizidebataladi. 
To'g'ridanto'g'ri element ostida bo'lgan elementlar uning bolalari deb ataladi. 
To'g'ridan-to'g'ri biron bir narsaning yuqorisidagi element uning ota-onasi deb 
ataladi. Masalan, "a" - "f" ning farzandi, "f" - "a" ning ota-onasi. Va nihoyat, bolalari 
bo'lmagan elementlar barglar deb nomlanadi.
 
Nima uchun daraxtlar?
1.
Daraxtlardan foydalanishning bir sababi tabiiy ravishda ierarxiyani 
shakllantiradigan ma'lumotlarni saqlamoqchi bo'lganligingiz bo'lishi mumkin. 
Masalan, kompyuterdagi fayl tizimi:
 
2.
Daraxtlar (ba'zi buyurtma bilan, masalan, BST) o'rtacha kirish / 
qidirishni ta'minlaydi (bog'langan ro'yxatdan tezroq va massivlardan sekinroq).
3.
Daraxtlar o'rtacha kiritishni / o'chirishni ta'minlaydi (Arraylardan 
tezroq va tartibsiz bog'langan ro'yxatlarga qaraganda sekinroq).


4.
bog'langan ro'yxatlar singari va massivlardan farqli o'laroq, daraxtlar 
tugunlar sonining yuqori chegarasiga ega emas, chunki tugunlar ko'rsatgichlar 
yordamida bog'langan.
#include  
#include  
using namespace std; 
class node{ 
public: int info; 
node *left; 
node *right; 
}; 
int k=0; 
int height(node *tree){ 
int h1,h2; 
if (tree==0) return (-1); 
else { 
h1 = height(tree->left); 
h2 = height(tree-
>right); 
if (h1>h2) return (1 + 
h1); 
else return (1 + h2); 
}} 
node *new_tree(int 
*arr, int start, int end) 

if(start>end) return 0; 
else { 
int mid=(start+end)/2; 
node *tree=new node; 
tree->info=arr[mid]; 
tree-
>left=new_tree(arr,star
t,mid-1); 
tree-
>right=new_tree(arr,m
id+1,end); 
return tree; 


void vizual(node 
*tree,int l) 
{ int i; 
if(tree!=0) { 
vizual(tree->right,l+1); 
for (i=1; i<=l; i++) 
cout<<" "; 
cout<>info<vizual(tree->left,l+1); 
}} 
int main() 
{ int n,key,s; node 
*tree=0,*next=0; 
cout<<"n="; cin>>n; 
int arr[n]; 
for(int i=0; inode *p=new node; 
node *last=new node; 
cin>>s; 
p->info=s; 
p->left=0; 
p->right=0; 
if(i==0){tree=p; 
next=tree; continue; } 
next=tree;
while(1) 
{ last=next; 
if(p->info>info)next=next->left; 
else next=next->right; 
if(next==0)break; } 
if(p->info>info)last->left=p; 
else last->right=p;} 
cout<cout<<"\nya'ni\n"; 
vizual(tree,0); 
int h=height(tree); 
cout<<"balandligi="<<
h<getch(); 



Xulosa. 
Men bu amaliy mashg’ulotda topshirig’imga mos ravishda binar darxtlar ustida 
berilgan amallar bilan ishlash ko’nikmasiga ega boldim. C++ da dasturini tuzdim 



Download 0,67 Mb.

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




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