Matematikada rekursiyaga misollar:
- chiziqli algebraik tenglamalar sistemasini yechish uchun Gaus-Jordan usuli
rekursiv hisoblanadi.
- manfiy bo’lmagan butun sonning faktorialini hisoblash.
- Fibonachchi soni rekurrent munosabat yordamida aniqlanadi, ya’ni Fibonachchi sonining birinchi va ikkinchi hadlari 1 ga teng. n>2 uchun n-Fibonachchi soni (n-1)- va (n-2)-Fibonachchi sonlarining yig’indisiga teng.
- Amaliyotda barcha geometrik fraktallar cheksiz rekursiya orqali beriladi (masalan, Serpin uchburchagi).
Standart shablonlar kutubxonasi (STL) - bu dasturlashning umumiy tuzilmalari va ro'yxatlari, steklari, massivlari va hk kabi funktsiyalarni ta'minlash uchun shablonlar sinflari to'plamihisiblanadi.
STL uchta tarkibiy qismdan iborat:
Konteynerlar
Algoritmlar
Iteratorlar
Ushbu uchta komponent bir-biri bilan sinergiyada birgalikda ishlaydi va turli xil dasturiy echimlarni qo'llab-quvvatlaydi. Algoritm konteynerlarda saqlanadigan operatsiyani bajarish uchun iteratorlardan foydalanadi.
Konteyner - bu xotirada ma'lumotlarni uyushgan tartibda saqlaydigan ob'ekt. STL-dagi konteynerlar shablon sinflari tomonidan amalga oshiriladi va shuning uchun har xil turdagi ma'lumotlarni saqlash uchun ularni osonlikcha o'zgartirish va sozlash mumkin. Konteynerlarda joylashgan ma'lumotlarni qayta ishlash uchun ishlatiladigan protsedura algoritm sifatida belgilanadi. STL boshlang'ich, qidirish, nusxalash, saralash va birlashtirish, nusxalash, saralash va birlashtirish kabi vazifalarni qo'llab-quvvatlash uchun juda ko'p turli xil algoritmlarni o'z ichiga oladi. Algoritmlar shablon funktsiyalari bilan amalga oshiriladi.
Konteynerlar
STL uchta toifaga birlashtirilgan o'nta konteynerni belgilaydi.
Vektorlar element kiritilganda yoki o'chirilganda avtomatik ravishda o'lchamlarini o'zgartirish qobiliyatiga ega bo'lgan dinamik massivlar bilan bir xil, ularni saqlash konteyner tomonidan avtomatik ravishda boshqariladi. Vektor elementlari tutashgan omborga joylashtiriladi, shunda ularga iteratorlar yordamida o'tish va o'tish mumkin. Vektorlarda ma'lumotlar oxiriga kiritiladi. Oxirida qo'shish differentsial vaqtni oladi, chunki ba'zida qatorni kengaytirishga ehtiyoj paydo bo'lishi mumkin. Oxirgi elementni olib tashlash faqat doimiy vaqtni oladi, chunki o'lchamlarning o'zgarishi bo'lmaydi.
Dostları ilə paylaş: |