Koʼp bogʼlamli roʼyxatning har bir elementiga mazkur elementga murojatni hisoblovchi xisoblagich maydoni qoʼyiladi. Аgar element hisoblagich koʼrsatkichi nol va element koʼrsatkich maydoni nil boʼlsa, u holda ushbu element oʼchiriladi.
Izoh
Аloqa oʼrnatilgan element bir bitli maydoniga (marker) “1”, aks holda “0” yoziladi. Roʼyxat toʼlganligi toʼgʼrisida signal kelganda, markeri nol boʼlgan elementlar qidiriladi, yaʼni keraksiz elementlarni yigʼish dasturi ishga tushiriladi.
Rekursiya o ‘z kuchini ayniqsa, matematik ta ’riflarda namoyon etadi. Eng tanish misollar sifatida natural sonlar, daraxtsimon tuzilm alar va b a’zi funksiyalarni keitirishimiz mumkin: 1.Natural sonlar: a) 0 natural son hisoblanadi. b) Natural sondan keyin keluvchi son natural hisoblanadi. 2. Daraxtsimon tuzilmalar: a) 42f daraxt hisoblanadi (va bo‘sh daraxt deyiladi). b) Agar tl va t2 -daraxtlar bo'Isa, tl va t2ning avlodlaridan iborat tugundan tashkil topgan tuzilma ham daraxt deyiladi (ikkilik yoki binar daraxt). 3. Faktorial funksiya f(n): f(0)=l n>0 bo'lganda f(n)/// K o‘rinib turibdiki, rekursiyaning kuchi cheksiz obyektlar to ‘plamini chekli mulohaza orqali aniqlash im koniyatida namoyon boMadi. Xuddi shunday chekli sonli hisoblashlami chekli dastur orqali tavsiflash mumkin. Bunda dastur oshkor sikllarni o ‘z ichiga olmasligi ham mumkin. Ammo rekursiv algoritmlar, avvalo, yechilayotgan masala, hisoblanayotgan funksiya yoki qayta ishlanayotgan m a'lum otlar tuzilmasi rekursiv ravishda berilgan holda o'rinlidir. Umumiy holda, R rekursiv dastur (R ni o ‘z ishiga olmagan) S ko‘rsatmalarning va R ni o'zining ketm a-ketligidan iborat R birlashm a (kompozitsiya) sifatida ifodalanishi mumkin: R=... Dasturlarning rekursiv ifodasi uchun zaruriy va yetarli vosita bo‘lib protseduralar xizmat qiladi. Bu protseduralar ko‘rsatmalar to ‘plamiga nom berish imkonini yaratib, bu nom orqali dastur bajarilish jarayonida ko‘rsatmalar chaqirilishi mumkin. Agar R protsedura oshkor holda o‘ziga murojaatni o ‘z ichiga olsa, bunday protsedura oshkor rekursiv deyiladi. Agar R protsedura R ga to ‘g‘ridan-to‘g‘ri yoki bilvosita murojaatni o ‘z ichiga olgan 80 boshqa bir Q prosedurani tarkibiga olsa, u holda R bilvosita rekursiv deyiladi. Rekursiv protseduralar cheksiz hisoblashlarga yo‘l ochganligini hisobga olsak, uni to'xtatish muainmosini ham hal etishim iz zarur. Fundamental talablar shundan iboratki, qaysidir vaqt momentiga kelib. bajarilmay qoladigan shunday V shart bajarilgandagina R rekursiv protseduraga m urojaatlar amalga oshirilishi kerak. rsiv protseduraga m urojaatlar amalga oshirilishi kerak. Shuning uchun ham rekursiv algoritmlaming sxemasini quyidagi ko‘rinishlardan biri bilan ifodalash mumkin: P=IF В THEN P[S,P] END P= ... M a'lum ki, har qanday prosedura yoki funksiya boshqa protsedura yoki funksiyalarga murojaatni o ‘z ichiga olishi mumkin. Xususiy holda, agar bu murojaat protsedura yoki funksiyaning o ‘ziga murojaatdan iborat bo'lsa, bu protsedura yoki funksiya rekursiv deyiladi.
Uzellar (elementlar) va ularning munosabatlaridan iborat elementlar to’plamining ierarxik tuzilmasiga daraxtsimon ma’lumotlar tuzilmasi deyiladi.
Daraxt – bu shunday chiziqsiz bog’langan ma’lumotlar tuzilmasiki, u quyidagi belgilari bilan tavsiflanadi:
daraxtda shunday bitta element borki, unga boshqa elementlardan murojaat yo’q. Bu element daraxt ildizi deyiladi;
daraxtda ixtiyoriy element chekli sondagi ko’rsatkichlar yordamida boshqa tugunlarga murojaat qilishi mumkin;
daraxtning har bir elementi faqatgina o’zidan oldingi kelgan bitta element bilan bog’langan.
Binar daraxtlarni qurish Binar daraxtda har bir tugun-elementdan ko’pi bilan 2 ta shox chiqadi.Daraxtlarni xotirada tasvirlashda uning ildizini ko’rsatuvchi ko’rsatkich berilishi kerak.Daraxtlarni kompyuterxotirasida tasvirlanishiga ko’ra har bir element (binar daraxt tuguni) to’rtta maydonga ega yozuv shaklida bo’ladi, ya’ni kalit maydon, informatsion maydon, ushbu elementni o’ngida va chapida joylashgan elementlarning xotiradagi adreslari saqlanadigan maydonlar.
Shuni esda tutish lozimki, daraxt hosil qilinayotganda, otaga nisbatan chap tomondagi o’g’il qiymati kichik kalitga, o’ng tomondagi o’g’il esa katta qiymatli kalitga ega bo’ladi.Har safar daraxtga yangi element kelib qo’shilayotganda u avvalambor daraxt ildizi bilan solishtiriladi. Agar element ildiz kalit qiymatidan kichik bo’lsa, uning chap shoxiga, aks holda o’ng shoxiga o’tiladi. Agar o’tib ketilganshoxda tugun mavjud bo’lsa, ushbu tugun bilan ham solishtirish amalga oshiriladi, aks holda, ya’ni u shoxda tugun mavjud bo’lmasa, bu element shu tugunga joylashtiriladi.
Masalan, daraxt tugunlari quyidagi qiymatlarga ega 6, 21, 48, 49, 52, 86, 101. U holda binar daraxt ko’rinishi quyidagi 4.1-rasmdagidek bo’ladi:
Natijada, o’ng va chap qism daraxtlari bir xil bosqichli tartiblangan binar daraxt hosil qildik. Agar daraxtning o’ng va chap qism daraxtlari bosqichlarining farqi birdan kichik bo’lsa, bunday daraxt ideal muvozanatlangan daraxt deyiladi. Yuqorida hosil qilgan binar daraxtimiz ideal muvozanatlangan daraxtga misol bo’ladi.