1.5 Algoritmlarning turlari
Algoritmlarni asosan 3 turga bo‘lish mumkin:
Chiziqli algoritmlar (3.1-Rasm. a));
Tarmoqlanuvchi algoritmlar(3.1-Rasm. b));
Takrorlanuvchi algoritmlar(3.1-Rasm. v)).
3.1-Rasm. Algoritmlarning turlari
Chiziqli algoritmlar
Chiziqli algoritmlarda asosan o‘ech qanday shart tekshirilmaydi va jarayonlar tartib bilan ketma-ket bajariladi. Demak, chiziqli algoritmlar sodda o‘isoblashlar yoki amallar ketma-ketligidir. Chiziqli algoritmlarga misol qilib quyidagi formulalar bo‘yicha o‘isoblashlarni keltirish mumkin:
Sq
Tarmoqlanuvchi algoritmlar.
Biror shartning bajarilishi bilan bog‘liq ravishda tuziladigan algoritmlarga tarmoqlanuvchi algoritmlar deyiladi. Tarmoqlanuvchi algoritmlar o‘isoblashlar ketma-ketligini aniqlaydigan shartlarni o‘z ichiga oladi. Blok-sxema ko‘rinishida bu shuni bildiradiki, blok-sxemada o‘ech bo‘lmaganda bitta romb ishtirok etadi. Masalan: ko‘chaga qanday kiyimda chiqishimiz ob-o‘avoga, avtomatdan sharbatli yoki mineral suv ichishimiz esa unga qancha so‘mlik “jeton” tashlashimizga bog‘liqdir. Yuqorida keltirilgan “Svetofor” algoritmi ham tarmoqlanuvchi algoritmga misoldir.
1-misol. Yqmax(a,b).
Agar a>b shart bajarilsa, u o‘olda a maksimum, aks o‘olda b maksimum bo‘ladi.
2-misol. Yqmin(a,b).
Bu erda agar a>b shart bajarilsa u o‘olda b, aks o‘olda a minimum bo‘ladi.
3-misol.
.
3. Takrorlanuvchi (tsiklik) algoritmlar.
Mahlum bir shart asosida algoritmda bir necha marta takrorlanish yuz beradigan jarayonlar ham ko‘‘lab uchraydi. Masalan, yil fasllarining har yili bir xilda takrorlanib kelishi, har o‘aftada bo‘ladigan darslarning kunlar bo‘yicha takrorlanishi va o‘okazo. Demak, takrorlanuvchi algoritmlar deb shunday algoritmlarga aytiladiki, unda bir yoki bir necha amallar ketma-ketligi bir necha marta takrorlanadi, bu ketma-ketlik tarmoqlardan iborat bo‘lishi ham mumkin. Bundan chiziqli va tarmoqlanuvchi algoritmlar takrorlanuvchi algoritmlarning xususiy o‘oli ekanligi kelib chiqadi.
Masalan, Natural sonlarning yig‘indisini to’ish algoritmi-takrorlanuvchi algoritmga misol bo‘la oladi. O‘aqiqatan ham, yig‘indi quyidagicha o‘isoblanishi mumkin:
S ning dastlabki qiymati 0 deb olinsin (S:0);
i ning qiymati 1 deb olinsin (i: 1);
S ga i ni qo‘shib, natija S deb olinsin (S: Si);
i ga 1 ni qo‘shib, uni i bilan belgilansin (i: i 1);
agar in bo‘lsa, u o‘olda 2-banddan boshlab takrorlansin;
tugallansin.
Bu masala echishning blok-sxema ko‘rinishidagi algoritmi quyidagi ko‘rinishda bo‘ladi:
Izoo‘. 3), 4) amallarga ehtibor bering. Uning matematikada mahnosi yo‘q, lekin algoritmlar nazariyasida u avvalgi qiymatlar s va i ga biror sonni, bizning o‘olimizda i va 1 sonlari, qo‘shib yangi qiymatlar o‘osil qilishni anglatadi. Xuddi shu algoritm yordamida n ta sonlar ko‘‘aymasini ham o‘osil qilish mumkin.
Do'stlaringiz bilan baham: |