Balanced search tree. B-tree
B-tree 2-3 tree’ga o’xshash, ammo bir necha jihatlar bilan farqlanadi. Har bir node’da M-1 gacha key qo’shiladi. Bunda M bitta blokdagi ma’lumotlar soni.
Dasturchi, frilanser, gik va introvert
B-tree 2-3 tree’ga o’xshash, ammo bir necha jihatlar bilan farqlanadi. Har bir node’da M-1 gacha key qo’shiladi. Bunda M bitta blokdagi ma’lumotlar soni.
Red-black tree’dagi node’ning binary search tree node’idan farqi – unga color atributi qo’shilgan. Color node’ning qizil yoki qizilmas ekanini aniqlash uchun kerak bo’ladi.
2-3 tree haqida tanishib chiqqan bo’lsangiz, unda node qo’shishda ko’p shartlarni hisobga olish kerak bo’lardi. Umuman, 2-3 tree’ni kodda ifodalash qiyin edi. Red-black tree mana shu insertdagi qiyinchiliklarga yechim sifatida keladi.
Balanced search tree’da biz binary search tree’ning uzunligini kamaytirish hisobiga, worst case’ni O (log N) gacha tushiramiz.
Agile yondashuvi jamoalarni innovatsiya qilishga, o’zgarishlarga tezda reaksiya bildirishga undaydi. Shu sababli kompaniyalar agile metodologiyasini qo’llashga, shu jumladan, Scrum, Kanban, Lean kabi freymvorklaridan foydalanishga harakat qilishadi.
Dasturlash jarayonida loyihani boshqarishning turlicha yondashuvlari mavjud bo’lib, ularning ba’zilari eski metodlarning yangicha ko’rinishi bo’lsa, boshqalari yangicha uslub sifatida kirib keldi. Bugungi kunda sohada ko’proq ikki yondashuv – Agile (Scrum, Kanban, Lean, va hk.) va an’anaviy Waterfall modellaridan foydalaniladi.
BSTga element qo’shish, o’chirish, qidirish, maksimum/minimum elementni chiqarish uchun API yozamiz. APIning tuzilishi quyidagicha bo’ladi.
Binary search tree (BST) – chap child’ining qiymati o’zidan kichik bo’lgan, o’ng child’ining qiymati o’zidan katta bo’lgan node’lardan iborat binary tree.
Dictionary (yoki Symbol table) – obyektlar guruhini o’zida jamlagan ma’lumot tuzilmasi. Unda o’zaro bog’langan kalit (key) va qiymat (value) guruhi saqlanadi. Dictionary’dan ma’lumotni key’ni ko’rsatgan holda olinadi.
Heapsort – binary heap ma’lumotlar tuzilmasi asosidagi tartiblash algoritmi. Biz heap har doim ma’lum bir tartibga rioya qilishini bilganimiz uchun, uning bu hususiyatidan tartiblashda foydalanishimiz – array’ning eng katta qiymatini olib uni array’ning ohiriga qo’yib borish orqali array’ni tartiblashimiz mumkin.