2)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 :
Θ-notation ( teta );
O-notation ( O );
Ω notasi ( Omega ).
Hisoblash mashinalar tezligi oshishiga qaramasdan, ular yordamida yechilayotgan masalalar kattaligini oshishini algoritm qiyinligini tahlil orqali aniqlaydi.
3). “O-yozuv” usulning kamchiligi shundaki – konkret berilganlar uchun dastur bajarilishiga aniq sarflanayotgan vaqtni hisoblab bilmaymiz, faqatgina qadamlar bajarilish soni 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.
Bu yerda sikl operatori (for(int i=0; iMasala. Ikki o’lchovli massivning elementlarini 2 ga ko’paytirish algoritmni baholang.
for(int i=0; ifor(int j=0; j{
a[i][j]*=2;
}
Bu algoritmning matematik modeli
5)Algoritmlar sifatini baholash uchun mezonlarni ko’raylik. Mavjud mezonlar juda taxminlashgan. Masalan, algoritmni bajarishda bajaruvchining xotira uskunalari hajmi yetarli bo’lmasa, u algoritm yomon deb hisoblanadi. Boshqa mezon sifatida algoritmning bajarilishi uchun talab qilinadigan vaqtni ko’rsatish mumkin. Vaqtni baholash bajaruvchining fizik xarakteristikalari hisobga olinishi kerak. Chunki har bir operatsiya har xil o’zgaruvchilar bilan bajarilganda vaqt ham har xil bo’ladi. Bunchalik aniq ma’lumotni har bir foydalanuvchi uchun yig’ib bo’lmaganligi sababli odatda o’rtacha tezkorlik qabul qilinadi. Ketma-ket bajarilayotgan operatsiyalar sonini aniqlab, uni o’rtacha tezkorlikka ko’paytirsa, algoritm bajarilishining amalga yaqin bo’lgan vaqtini topishimiz mumkin.
7)Quyidagi
integralni to’g’ri to’rtburchaklar formulasidan foydalanib taqribiy hisoblansin.
.
To’g’ri to’rtburchaklar formulasi. Bu formulani keltirib chiqarish uchun dastlab kesmani nuqtalar bilan n ta teng bo’lakka bo’lamiz.
Buning uchun integrallash kesmasini ta bo’lakka bo’lamiz va hisoblashlar natijalarini keltiramiz:
Bizning misolda bo’lgani uchun, to’g’ri to’rtburchaklar formulasiga asosan, quyidagi natijani hosil qilamiz.
II.
Svetoforning ishlash algoritmi quyidagicha: yashil-sariq-qizil-sariq-yashil-…. Yashil va qizil ranglar 60 sekund, sariq rang 10 sekund yonib tursa, N minutdan keyin svetoforning qizil rangi necha marta yonishini aniqlash algoritmi va dasturini tuzing
dict={
'yashil':70,
'qizil':70,
}
count=1
t=int(input('vaqtni kiriting\n>>'))
for color,time in dict.items():
while True:
if t<0:
break
t=t-int(time)
count+=1
print(color)
print(count)
Do'stlaringiz bilan baham: |