Memoizatsiya — bu qimmat hisoblashlarni talab qiladigan funksiya chaqiruvlari natijalarini saqlab qo‘yish va ayni kirish ma’lumotlari qayta uchraganda keshlangan natijani qaytarish orqali ishlaydigan optimallashtirish usuli.
Memoizatsiyasiz (Fibonachchi):
fib(5) fib(4) + fib(3) ni chaqiradi
fib(4) fib(3) + fib(2) ni chaqiradi — fib(3) yana QAYTA hisoblanadi!
Eksponensial vaqt murakkabligi: O(2^n)
Memoizatsiya bilan:
Har bir qiymat faqat BIR MARTA hisoblanadi va saqlanadi
Bir xil kirish ma’lumotlari bilan keyingi chaqiruvlar natijani darhol qaytaradi
Chiziqli murakkablik: O(n) vaqt, O(n) xotira
Asosiy g‘oya: vaqtni tejash uchun xotiradan foydalanish
- Natijalarni lug‘at yoki massivda saqlash
- Hisoblashdan oldin natija mavjudligini tekshirish
- Bir-birini takrorlaydigan qism masalalarda hisoblashni keskin tezlashtirish
O'xshash algoritmlar
Ko'p beriladigan savollar
- Memoizatsiya nima?
- Memoizatsiya — bu qimmat hisoblashlarni talab qiladigan funksiya chaqiruvlari natijalarini saqlab qo‘yish va ayni kirish ma’lumotlari qayta uchraganda keshlangan natijani qaytarish orqali ishlaydigan optimallashtirish usuli.
- Memoizatsiya murakkabligi qanday?
- Memoizatsiya bosqichma-bosqich vizualizatsiya hamda vaqt va xotira murakkabligi tahlili bilan tushuntiriladi.
- Ushbu Memoizatsiya vizualizatori kimlar uchun?
- Memoizatsiya vizualizatsiyasi "Asosiy tushunchalar" kategoriyasida o'rta darajadagi o'rganuvchilar uchun mo'ljallangan. Talabalar, texnik suhbatlarga tayyorgarlik va amaliy takrorlash uchun foydali.
- Memoizatsiya ga o'xshash qanday algoritmlar bor?
- Shu kategoriyada (Asosiy tushunchalar) quyidagilarni ko'rishingiz mumkin: Big O Notation, Recursion, Two Pointers. Har biri interaktiv vizualizatsiyaga ega.