LABORATORIYA ISHI - 4
Mavzu: Axborotlar oqimini segmentlarga ajratish. Dinamik dasturlash. Chiziqli model.
Ishdan maqsad. 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.
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.
Daraxtlar: qatorlar, bog'langan ro'yxatlar, Stek va navbatlardan farqli o'laroq, bu chiziqli ma'lumotlar tuzilmalari, daraxtlar ma'lumotlarning ierarxik tuzilmalari.
Daraxt so'z birikmasi: eng yuqori tugun daraxtning ildizi deb ataladi. To'g'ridan-to'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?
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.
Daraxtlarning asosiy dasturlariga quyidagilar kiradi:
1. Ierarxik ma'lumotlarning manipulyatsiyasi.
2. Ma'lumotni qidirishni osonlashtiring (daraxtlarni kesib o'tishga qarang).
3. Ma'lumotlarning saralangan ro'yxatlarini manipulyatsiya qilish.
4. Vizual effektlar uchun raqamli tasvirlarni kompozitsiya qilish uchun ish oqimi sifatida.
5. Router algoritmlari
6. Ko'p bosqichli qaror qabul qilish shakli (qarang biznes shaxmat).
Ikkilik daraxt: elementlari ko'pi bilan 2 ta bolaga ega bo'lgan daraxt binar daraxt deb ataladi. Ikkilik daraxtdagi har bir element faqat 2 boladan iborat bo'lishi mumkinligi sababli, biz ularni odatda chap va o'ng bola deb nomlaymiz.
Ikkala daraxtning C tilidagi vakili: Daraxt daraxtning eng yuqori tuguniga ko'rsatgich bilan ifodalanadi. Agar daraxt bo'sh bo'lsa, u holda root qiymati NULL bo'ladi.
Daraxt tuguni quyidagi qismlarni o'z ichiga oladi.
1. Ma'lumotlar
2. Chap bolaga ko'rsatgich
3. O'ng bolaga ko'rsatgich
Cda biz tuzilmalar yordamida daraxt tugunini ifodalashimiz mumkin. Quyida butun sonli ma'lumotlar bilan daraxt tuguniga misol keltirilgan.
C-dagi birinchi oddiy daraxt
Yaratilgan daraxt quyidagicha bo'ladi.
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.
Topshiriqlar:
Binary tree strukturasidan foydalanib ushbu chizmani dasturiy kodini tartibi bo’yicha tuzing va ekranga chiqaring.
Do'stlaringiz bilan baham: |