|
-Amaliy mashg‘ulot : Binar daraxtlar bilan ishlash algoritmlari
|
bet | 27/39 | Sana | 12.06.2024 | Hajmi | 2,32 Mb. | | #262963 |
Bog'liq uslubiy qo\'llanma 3 11-Amaliy mashg‘ulot : Binar daraxtlar bilan ishlash algoritmlari.
Ishdan maqsad. Ushbu amaliyot ishida talabalar daraxtsimon ma’lumotlar 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.
Ish tartibi:
Tajriba ishi nazariy ma’lumotlarini o‘rganish;
Berilgan topshiriqning algoritmini ishlab chiqish;
C++ dasturlash muhitida dasturni yaratish;
Natijalarni tekshirish;
Hisobotni tayyorlash va topshirish.
Binar daraxtlar, ma’lumotlar tuzilishi uchun keng foydalaniladigan ma’lumotlar strukturasi bo‘lib, ularni ma’lumotlarni saqlash, qidirish, va boshqa ma’lumotlar bilan ishlash uchun ishlatish mumkin. Binar daraxtlar quyidagi boshqa ma’lumotlarni saqlash turlari bilan solishtiriladi:
1. O‘zgaruvchi: Binar daraxt barcha elementlarni saqlash uchun xotira qo‘llanadi. Har bir element o‘zining o‘zgaruvchisiga sahip bo‘ladi. Binar daraxt elementlari o‘zaro bog‘liq bo‘lib, ularning o‘lchamlari odatda bir-martaba ko‘rsatiladi.
2. Binar daraxtlarning topshiriq ko‘rsatkichlari: Binar daraxtlarning elementlari qo‘llash va ularni izlash uchun ichma-iqtisodiy amallarni bajarishga imkon beruvchi xususiy ko‘rsatkichlar, masalan, ota-ota nisbat, bosh, oxirgi, o‘ng, chap, va yana boshqa ko‘rsatkichlar mavjud.
Binar daraxtlarni yaratish va ular bilan ishlash uchun quyidagi asosiy amallarni bajaring:
1. Daraxtni yaratish: Binar daraxtni yaratish uchun boshqa elementlar va ularning bog‘liqligi orqali yangi binar daraxt yasashimiz kerak. Odatda, yangi elementlarni qo‘shish va o‘chirish amallari foydalaniladi.
2. Ma’lumot qo‘shish va olish: Binar daraxtlarga yangi elementlarni qo‘shish va mavjud elementlarni olish uchun binar daraxtlarning topshiriq ko‘rsatkichlaridan foydalanish mumkin.
3. Boshqarish: Binar daraxtlarni o‘zgartirish, elementlarni o‘chirish yoki yangilash, daraxtlarni yig‘ish, kesishma, qo‘shish, va boshqa boshqarish amallarini amalga oshirish uchun foydalaniladi.
4. Qidirish: Binar daraxtlarda elementni qidirish uchun qidirish algoritmlari (masalan, ulanish va ikki oshno) ishlatiladi.
5. Daraxtni chizish: Binar daraxtlarni grafik ko‘rinishda chizish uchun, masalan, turli darajada tartiblangan elementlar bilan, daraxtning tuzilishi va qanday qilib ma’lumotlar olinayotganligini tushuntirish uchun foydalaniladi.
Bu amallar binar daraxtlarni ishlatish uchun asosiy amallardir, va ularni dastur tuzishda va ma’lumotlarni tuzatishda foydalanish mumkin. Binar daraxtlar keng qo‘llaniladi, masalan, ma’lumotlar bazalarda, ma’lumotlarni qidirish algoritmida va ko‘p boshqa joylarda.
C++ da biz tuzilmalar yordamida daraxt tugunini ifodalashimiz mumkin. Quyida butun sonli ma’lumotlar bilan daraxt tuguniga misol keltirilgan.
C++-dagi birinchi oddiy daraxt
#include
using namespace std;
struct Node {
int data;
struct Node* left;
struct Node* right;
Node(int val)
{ data = val;
left = NULL;
right = NULL; } };
int main()
{ struct Node* root = new Node(1);
root->left = new Node(2);
root->right = new Node(3);
root->left->left = new Node(4);
return 0; }
Qisqacha mazmun: Daraxt - bu ma’lumotlarning ierarxik tuzilishi. Daraxtlarning asosiy ishlatilishlariga ierarxik ma’lumotlarni saqlash, o‘rtacha kirish va kiritish / o‘chirish operatsiyalarini ta’minlash kiradi. Ikkilik daraxtlar - bu har bir tugunda ko‘pi bilan ikkita boladan iborat bo‘lgan alohida holatlar.
|
| |