1-Mavzu 1-Mavzu Reja: Klass a’zolariga ruxsatni boshqarish


Dasturlarda rekursiyadan foydalanishning kamchiliklari qanday?



Yüklə 233,68 Kb.
səhifə41/96
tarix27.07.2023
ölçüsü233,68 Kb.
#137688
1   ...   37   38   39   40   41   42   43   44   ...   96
1-Mavzu 1-Mavzu Reja Klass a’zolariga ruxsatni boshqarish-fayllar.org

Dasturlarda rekursiyadan foydalanishning kamchiliklari qanday?
Iteratsiya chaqiruvlariga nisbatan rekursiya yaratish quyidagi kamchiliklarga ega:
berilgan algoritm uchun rekursiv chaqiruvlar iteratsiyaga ko'ra sekinroq ishlaydi. Bu metodlarning takroriy chaqiruvlariga tizim resurslarni qo'shimcha sarflashi bilan bog'liq;
metodlarni qayta-qayta chaqirish tizimi stekining toshib ketishiga olib kelishi mumkin. Bunday holda, CLR muhiti tegishli istisno vaziyatni keltirib chiqaradi. Shuning uchun, rekursiv metodni ishlab chiqishda parametrlar va lokal o'zgaruvchilar sonini minimal e`lon qilish juda muhim ahamiyatga ega.

Rekursiyaga doir amaliy misollar.



Ketma-ketlikning yig`indisini hisoblash misoli
Ketma-ketlikning yig`indisini hisoblashda rekursiv funksiyadan foydalanish
S = 5 + 10 + 15 + … + 5·n,
n>0 bo`lgan hol uchun.
Funksiya ning dastur kodi quyidagicha
// Yig`indi funksiyasi
static int S(int n)
{
if (n == 1)
return 5;
else
return 5 * n + S(n - 1);
}
Qatot konvertatsiyasi misoli«AAABCCCCAADDDEF» => «3AB4C2A3DEF»
Bu funksiya rekursiya orqali juda qulay tarzda hal etiladi. Ushbu namunaga ko'ra, siz har qanday qoidalar bo'yicha satrlarni boshqaradigan rekursiv funksiya larni ishlab chiqishingiz mumkin.
ConvertStr() rekursiv funksiya si butun qatorni qayta ko'rib chiqadi. Har bir rekursiv chaqiruvda satrning bitta belgisi qayta ishlanadi. Amaldagi qayta ishlanayotgan belgida funksiyaning tegishli rekursiv chaqiruviga mos pozitsiya mavjud.
Recursiv funksiya quyidagi parametrlarni o'z ichiga oladi:
qayta ishlanayotgan s satri string tipida;
rekursiyadagi joriy holat uchun belgining satrdagi o`rnini aniqlovchi o`zgaruvchi. s[pos] chartipidagi belgi;

Yüklə 233,68 Kb.

Dostları ilə paylaş:
1   ...   37   38   39   40   41   42   43   44   ...   96




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©www.azkurs.org 2024
rəhbərliyinə müraciət

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin