Rivojlantirish vazirligi muhammad al-xorazmiy nomidagi



Yüklə 1,05 Mb.
Pdf görüntüsü
səhifə3/3
tarix21.06.2023
ölçüsü1,05 Mb.
#133699
1   2   3
algaritim maruza

Algoritmlarni 
asimptotik 
(O()) 
baholash 
algoritmda kiruvchi 
ma’lumotlarning bajariladigan amallar soniga ma’lum bir qonuniyatlar asosida 
mos qo’yilishidir. Bu qonuniyatlar kvadratik, factorial, logarifmik bo’lishi 
mumkin.
Agar kiruvchi ma'lumotlarning o'lchamlari oshsa, algoritmning bajarilish vaqti 
f(N) funksiyasi bilan bir xil tezlikda oshsa, algoritmda O(f(n)) murakkablik bor.
Agar kiruvchi ma'lumotlarning o'lchamlari oshsa, algoritmning bajarilish vaqti 
f(N) funksiyasi kvadratik tezlikda oshsa, algoritmda O(f(n^2)) murakkablik bor.
Uch asimptotik belgilar asosan algoritmlarning vaqt murakkabligini ifodalash uchun 
ishlatiladi :
1. Θ-notation ( teta );  
2. O-notation ( O );
3. Ω notasi ( Omega ).  
Hisoblash mashinalar tezligi oshishiga qaramasdan, ular yordamida 
yechilayotgan masalalar kattaligini oshishini algoritm qiyinligini tahlil orqali 
aniqlaydi.
Faraz qilaylik, A1,A2,…,A5  nomli 5 ta algoritm quyidagi vaqtli qiyinliklar 
bilan berilgan.
Algoritm
Vaqtli qiyinlik
A1
N
A2
Nlog
2
n


A3
N
2
A4
N
3
A5
2
n
Bu yerda vaqtli qiyinlik – bu n kattalikdagi kirishlarni qayta ishlash uchun 
kerak bo’ladigan vaqt birliklar soni. Masalan, vaqt birligini 1 millisekund deb qabul 
qilaylik.
Bunda A1 algoritm bir sekundda 1000 kattalikdagi kirishni qayta ishlash 
mumkin, A5 algoritmi esa kirish kattalikdagina 9 dan oshirib bilmaydi.
Keyingi jadval 1 sekundda, 1 minutda, 1 soatda 5 ta algoritmlarni har birining 
yordamida yechiladigan masalaning kattaligi keltirilgan.
Algoritm
Vaqtli qiyinlik
Masalaning maksimal o’lchami
1 sek
1 min
1 soat
A1
N
1000
60*100
3,6*10
6
A2
Nlog
2
n
140
4893
2*10
4
A3
N
2
31
244
1897
A4
N
3
10
39
153
A5
2
n
9
15
21


“O-yozuv” usulning kamchiligi shundaki – konkret berilganlar uchun dastur 
bajarilishiga aniq sarflanayotgan vaqtni hisoblab bilmaymiz, faqatgina qadamlar 
bajarilish soni 
O(n )
bo’lganini bildik. Lekin bu usul bilan tahlil qilish qulay, va 
berilgan amaliy masala uchun dasturni samaradorligini aniqlaydigan dastlabki 
hisoblashlar uchun algoritmning isahlash vaqtini assimptotik bahosini beradi.
Samaradorlikni baholashga misollar
Masala, Qalam va qog’oz yordamida, quyidagi 16 ta kvadratdan iborat shaklni
yasash kerak.
1 2
3
4
5 6
7
8
9 10 11 12
13 14 15 16
Algoritm bahosi O(n)


Bu jarayon 4 ta qadamda bajarildi. Demak algoritm bahosi O(logN)
Agar biz dasturimizda bir o’lchovli massivdan foydalansak, bu kamida O(n) bilan 
baholanadi.
Masala. Bir o’lchovli massivning elementlarini 2 ga ko’paytirish algoritmini 
baholang for(int i=0; i>a[i];
for(int i=0; ia[i]*=2;


Bu yerda sikl operatori (for(int i=0; iO(3n) deb baholashimiz mumkin. O(cn)=O(n). baholash bo’lganligi uchun bizning 
algoritmning bahosi ham O(n) ga teng.
Masala. Ikki o’lchovli massivning elementlarini 2 ga ko’paytirish algoritmni 
baholang.
for(int 
i=0; 
ii++)
for(int j=0; j{
a[i][j]*=2;
}
 Bu algoritmning matematik modeli
𝑛
𝑛 
𝑛
𝑆
𝑛
𝑖
𝑖 
𝑛 
𝑖 
𝑛
→𝑂
𝑑𝑒𝑚𝑎𝑘,𝑏𝑢 𝑎𝑙𝑔𝑜𝑟𝑖𝑡𝑚𝑛𝑖𝑛𝑔 𝑏𝑎ℎ𝑜𝑠𝑖 𝑂(𝑛
2
)



Yüklə 1,05 Mb.

Dostları ilə paylaş:
1   2   3




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

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin