Urganch davlat universiteti axborot texnologiyalari kafedrasi


var t,k: integer ;  begin



Download 13,56 Mb.
Pdf ko'rish
bet16/99
Sana31.12.2021
Hajmi13,56 Mb.
#262961
1   ...   12   13   14   15   16   17   18   19   ...   99
Bog'liq
akademik litsey kasb hunar kollejlarda informatika fanidan olimpiada masalalarini ishlash boyicha korsatmalar

var t,k:

integer



begin 



  write (n,

'='


); 

  

if n<=



then write (

''

,n) 



else begin 

    t:=round(sqrt(n)); 

  k:=


2

  



while k<=t do begin 

    if mod k=



then begin 



      n:=n div k; write (

' '


,k); 

      


while mod k=



do begin 



        n:=n div k; write(

' '


,k) 

       


end

      t:=round(sqrt(n)); 

     

end

     k:=k+

1



    



end

    


if n>



then write (

''

,n) 


    

end 

 end;

 

 



Prosedurani  tekshirish  uchun  2,3  argumentlar  va  birmuncha  boshqa  oddiy  va  tarkibiy  sonlar 

bilan bajarilishini ta’minlang. Bunda sikl bir va bir necha marta bajariladi va hisoblashning turli 

tarmoqlari  bo‘ylab  o‘tadi.  1.4 va 1.5-masalalardagi  algoritmlar  qanchalik  samarali?  Bu  savolga 

javob berish uchun algoritm murakkabligi tushunchasini kiritamiz. 

 

1.2.2. Algoritm murakkabligi tushunchasi. 

Har  bitta  masala  uchun  uning  yechilishini  maqbul  vaqti  to‘g‘risida  gapirish  mumkin. 

Ba’zi  masalalar  uchun  bu  sindirish  bir  necha  ulushidan,  boshqa  masalalar  uchun  minutlar  va 

soatlarni tashkil qiladi. Ko‘pincha bitta masalani turli xil algoritmlar yordamida yechish mumkin 

va  uning  ba’zilari  maqbul  vaqt  ichida  natija  bersa,  ba’zilari  natija  bermaydi.  Bunday  vaqtlarda 

algoritmning  to‘g‘ri  tanlanishi  hal  qiluvchi  hisoblanadi.  Odatda,  masala  yechishni  shunday 

dasturlaydilarki,  uning  yordamida  masalaning  istalgan  mumkin  bo‘lgan  holatlarini  yechish 



mumkin  bo‘lsin.  Masalan:  masalaning  “berilgan  son  oddiy  hisoblanadimi?”,  aniq  sonli 

masalalar:  “997  soni  oddiy  sonmi?”,  “2007  soni  oddiy  sonmi?”  va  shu  kabilar.  Holatlar  aniq 

kiruvchi ma’lumotlar bilan aniqlanadi.  Ular esa, odatda, qandaydir parametrli sondagi raqamlar 

miqdori, massivdagi elementlar miqdori va shu kabilar bilan xarakterlanadi. Bu parametr natural 

qiymatlarga ega va masala holatlarining o‘lchami deyiladi. Odatda masala holatlarining o‘lchami 

bo‘lib kiruvchi ma’lumotlarning ko‘rinishi taqdim qiligan bitlar soni hisoblanadi. Biroq kiruvchi 

ma’lumotlar qiymatlar ketma-ketligini tashkil qiluvchi masalalarda bitlar soni emas ketma-ketlik 

uzunligi o‘lcham hisoblanadi. Skalyar tipdagi (o‘zlashtirish, taqqoslash, qo‘shish, ko‘paytirish va 

shu  kabilar)  qiymatlar  ustidagi  operatsiyalarni  elementar  harakatni  bajarish  davomiyligi  uchun 

operatsiyalariga va harakatning o‘ziga bog‘liq emas deb taxmin qilamiz. U holda dasturning shu 

vaqti bajaruvchi elementar  harakatlar soniga to‘g‘ri proporsional  ya’ni  harakatlar miqdori bilan 

o‘lchanadi.  Algoritm  murakkabligi  tushunchasida  bosh  rolni  elementar  harakatlar  soni  o‘z 

o‘zidan o‘ynamaydi, balki masala xollaring o‘lchami oshganida uning o‘sish harakteri o‘ynaydi. 

Bu tasdiqni aniqlashtiramiz.  

Biror A – masala  yechishning algoritmi bo‘lsin. Ushbu algoritm bo‘yicha masala  hollari 

yechilganida qandaydir miqdorda elementar harakatlar bajariladi.  Holatlarning  mumkin bo‘lgan 

har  bir  n  o‘lchamiga  ushbu  o‘lchamdagi  ko‘rinishlar  uchun  eng  katta  elementar  harakatlar 

miqdorini moslashtiramiz. Bu miqdorni F

A

 (n) bilan belgilaymiz. 



Algoritm  yordamida n  o‘lchamli  hollarni  yechishda elementar harakatlarning eng  katta miqdori 

kabi aniqlangan F

A

 (n) funksiya A algoritmning murakkabligi deyiladi. 



Deyarli  barcha  real  masalalar  yechimlarining  algoritmlar  murakkabligi  kamayadigan 

funksiya  hisoblanadi.  Real  algoritmlar  uchun  F

A

(n)  funksiyaning  analitik  ifodasi,  odatda, 



mumkin  emas  va  kerak emas. Amaliy qiymat n  ga nisbatan F

A

(n) o‘sish tartibiga ega.  U oddiy 



analitik  qiymatga  ega  bo‘lgan  boshqa  funksiya  yordamida  beriladi  va  F

A

(n)  uchun  baho 



hisoblanadi. 

Agar  musbat  C

2

  va  natural  m  sonlar  mavjud  bo‘lsa,  ular  uchun  F(n)≥C



2

  G(n)  n>m  ga  bo‘lsa, 

G(n)  funksiya  F(n)  funksiya  uchun  ustidan  baho  deyiladi.  Funksiyalar  orasidagi  ushbu 

bog‘lanish “0” belgisi yordamida belgilanadi: F(n)=0(G(n)). “0(….)” yozuv “0… dan katta” deb 

o‘qiladi.  Agar  musbat  c

1

  va  m  natural  sonlar  mavjud bo‘lsa, ular  uchun  n>m  ga  c



1

  G(n)  

bo‘lsa,  G(n)  funksiya  F(n)  funksiya  uchun  pastdan  baho  deyiladi.  Funksiyalar  orasidagi  ushbu 

bog‘lanish “ Ω(omega)” belgisi bilan belgilanadi: F(n) = Ω (G(n)). Agar musbat aniq c

1

 , c


2

 va n 


natural m sonlar mavjud bo‘lsa, ular uchun n>m ga c

1

 G(n)

2

G(n) bo‘lsa, G(n) funksiya, 

F(n)  funksiya  uchun  baho  deyiladi,  yoki  F(n)  funksiya  G(n)  tartibning  funksiyasi  hisoblanadi. 

Funksiyalar orasidagi ushbu bog‘lanish “θ (teta)” belgisi orqali belgilanadi: F(n)= θ (G(n)). 

Ba’zan bunday ta’riflardan foydalanadilar. 

Agar  lim  F(n)/G(n)=  C,  bu  yerda  0

funksiyasi  deyiladi.  Bu  ta’rif  F(n)  =  θ  (G(n))  ga  o‘xshash  ekanligiga  n  larda  G(n)  dan  kichik 

tartib funksiyasi deyiladi. Bunday munosabat 0(kichik) bilan belgilanadi: F(n)=o(G(n)). 

Real algoritmlarning  murakkabligini  baholash  uchun  logorifmik,  darajali  va  ko‘rsatmali 

funksiyalar  hamda  ularning  yig‘indisi,  ko‘paytmalari  yetarli.  Ularning  barchasi  monoton 

o‘suvchi va oddiy ifodalanadilar. Masalan:n>2 da 0,5n

2

2

 bo‘lgani uchun n(n-1)=0(n



2

). 


Analogik tarzda n

3

+100n



2

=θ(n


3

)=o(n


3,1

)=o(2


n

), 100 logn+10000= θ(logn)= θ(lg)=o(n) ekanligiga 

ishonish murakkab emas. Xohlagan musbat c doimiy o(1) va θ(1) baholarga egaligi o‘z-o‘zidan 

ayon.  Algoritmlar  murakkabligining  baholarini  hisoblash  uchun  odatda  quyidagicha  ta’riflari 

keltirilgan ikki qoida ishlatiladi. 




Download 13,56 Mb.

Do'stlaringiz bilan baham:
1   ...   12   13   14   15   16   17   18   19   ...   99




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish