O‘zbekiston respublikasi axborot texnologiyalari
Rekursiv algoritmlarni baholash
Download 172.01 Kb.
|
TURSUNQULOV ABBOS
- Bu sahifa navigatsiya:
- Xulosa
Rekursiv algoritmlarni baholashOddiy rekursiya. Rekursiv funksiyalar bu o’z-o’zini chaqiruvchi funksiyalardir. Rekursiv algoritmlarni baholash juda murakkabdir. Ularning murakkabligini baholash nafaqat ichki foydalanilgan funksiyalar, yana rekursiyaning takrorlanishiga ham bog’liq bo’ladi. Keling oddiy rekursiya misolida faktorialni hisoblash funksiyasini ko’raylik: Ushbu rekursiv funksiyada ortiqcha sikllar va ortiqcha funksiyalar mavjud emas shuning uchun bu funksiya faqat N marta takrorlanadi va uning murakkabligi O(N) ga teng bo’ladi. Ushbu dasturning ishlash vaqti quyidagicha: Bundan tashqari rekursiv funksiyalarda rekursiya chuqurligi ya’ni rekursiyaning qancha marotaba takrorlanishi muammosi mavjuddir. Bu esa mashinaning xotira bilan bog’liq muammolariga bog’liqdir. XulosaXulosa o’rnida aytadigan bo’lsak, algoritmlar asosan quyidagicha ko’rinishdagi murakkabliklarda bo’ladi va barcha algoritmlarni baholashimiz uchun mana shu murakkabliklar yetarli bo’ladi: C yoki O(1) - algoritm o’zgarmas vaqtda bajariladi. O(log(log(N))) O(log(N)) 4. O(N^C) 0 O(N) O(N*log(N)) 7. O(N^C) C > 1 8. O(C^N) C > 1 9. O(N!) Agar biz ushbu murakkablikni aniqlaydigan bo’lsak: O(log(N) + N!) = O(N!). Bunda f(N) = N! funksiya f(N) = log(N) funksiyadan ko’ra tezroq o’suvchi. Shuning uchun algoritmning murakkabligini O(N!) deb olishimiz yetarli bo’ladi. Quyida murakkabliklarning turli kiruvchi ma’lumotlardagi bajarilish vaqti keltirilgan: 1> Download 172.01 Kb. Do'stlaringiz bilan baham: |
ma'muriyatiga murojaat qiling