«amaliy matematika va informatika» kafedrasi «Algoritmlar nazariyasi» fanidan Mustaqil ish


Turli xil algoritmlar uchun ish vaqti taxminlari



Download 196,85 Kb.
bet15/26
Sana31.12.2021
Hajmi196,85 Kb.
#256742
1   ...   11   12   13   14   15   16   17   18   ...   26
Bog'liq
Turg'unov Bekzodjon

Turli xil algoritmlar uchun ish vaqti taxminlari

T (N) algoritmning bajarilish vaqtini belgilasin. Oʻrganilayotgan algoritm quyidagi shaklga ega boʻlsin:

1. faqat asosiy operatsiyalarni oʻz ichiga olgan koʻrsatmalar toʻplami:

1-bayonot;
...
bayonot k;

Keyin T (N) \u003d T (1-bayonot) + ... + T (k bayonot).

Chunki har bir koʻrsatma faqat asosiy operatsiyalarni oʻz ichiga oladi, keyin ushbu kod qismini bajarish vaqti kirish maʻlumotlarining oʻlchamiga bogʻliq emas (u kirish maʻlumotlarining kattaligi bilan oʻsmaydi), yaʻni. doimiy. Ushbu algoritm O (1) murakkablikka ega.

2. if-else bayonotlari

Agar (shart) (
bayonotlar ketma-ketligi 1
}
boshqa (
bayonotlar ketma-ketligi 2
}

Bu erda 1-sonli bayonotlar yoki 2-sonli ketma-ketliklar bajariladi, shuning uchun biz T (N) \u003d max (T (bayonotlar ketma-ketligi 1), T (bayonotlar ketma-ketligi 2)) boʻyicha eng yomon ishni bajarish vaqtini taxmin qilishni istaymiz. Masalan, 1-gaplar ketma-ketligini bajarish vaqti O (N), bayonotlar ketma-ketligi O (1) boʻlsa, u holda T (N) \u003d O (N).

Uchun (i \u003d 0; i< N; i++) {
bayonotlar ketma-ketligi
}

Chunki tsikl N marta bajariladi, keyin bayonotlar ketma-ketligi ham N marta bajariladi. Agar T (bayonotlar ketma-ketligi) \u003d O (1) boʻlsa, unda T (N) \u003d O (N) * O (1) \u003d O (N).

4. Ichki halqalar.

Uchun (i \u003d 0; i< N; i++) {
uchun (j \u003d 0; j< M; j ++){
...
}
}

Tashqi tsikl N marta bajariladi. Har safar tashqi tsikl bajarilganda ichki tsikl M bajariladi

Endi ushbu kodni koʻrib chiqing:

Uchun (i \u003d 0; i< N; i++) {
uchun (j \u003d i + 1; j< N; j ++){
bayonotlar ketma-ketligi
}
}

Ichki tsiklning takrorlanish soni tashqi tsiklning takrorlanishiga qarab oʻzgarishini koʻrib chiqamiz.

I tsikl j (bajarilish vaqti soni)
0 N
1 N-1
2 N-2
...
N-1 1

Keyin bayonotlar ketma-ketligi N + N-1 + ... + 1 marta bajariladi. Bunday miqdorlarni tezda hisoblash uchun matematik tahlildan olingan formulalar, bu holda formulalar foydalidir


Oʻsha. ushbu algoritm murakkablikka ega boʻladi (O (N ^ 2) \\).

Va bu erda bunday holatlar uchun foydali boʻlgan eng koʻp ishlatiladigan formulalar:

4. Tasdiqlash usulni chaqirishni oʻz ichiga oladigan boʻlsa, tasdiqlashning bajarilish vaqtini hisoblash usulni bajarish vaqtini hisoblash asosida hisoblanadi. Masalan; misol uchun:

uchun (j \u003d 0; j< N; j ++){


Agar usulning bajarilish vaqti \\ (g (N) \u003d O (N) \\) boʻlsa, u holda \\ (T (N) \u003d O (N) * O (N) \u003d O (N ^ 2) \\).

5. Ikkilik (ikkilik) qidirish.

Int l \u003d 0;
int u \u003d A. uzunlik - 1
int m;
esa (l<= u) {
m \u003d l + (u - 1) / 2
agar A [m]< k {
l \u003d m +1;
}
aks holda A [m] \u003d\u003d k (
qaytish m;
}
boshqa (
u \u003d m - 1;
}
}
qaytish -1;

Ikkilik qidirish tartiblangan massivda k sonining indeksini topishga imkon beradi, agar bu raqam unda boʻlmasa -1 qaytariladi. Birinchidan, biz k ni massivning oʻrtasidagi raqam bilan taqqoslaymiz. Agar k bu sondan kichik boʻlsa, unda biz uni qatorning chap yarmidan, agar koʻproq boʻlsa, oʻng yarmidan qidirishimiz kerak. Keyin k oldingi bosqichda tanlangan massivning yarmi oʻrtasidagi raqam bilan taqqoslanadi va hokazo. Har bir takrorlash bilan qidiruv maydoni ikki baravar kamayadi. Savol tugʻiladi: eng yomon holatda qancha takrorlash kerak boʻladi (yaʻni massivda k ga teng son topilmasa va taqqoslash uchun maʻlumotlar qolmasa).

Koʻrayapmizki, 1 ta takrorlashdan keyin \\ (N / 2 \\) indeksni qidirish uchun maʻlumotlar qoladi, 2 ta takrorlashdan keyin ((N / 4 \\) maʻlumotlar, 3 ta takrorlashdan keyin - \\ (N / 8) \\) va boshqalar. \\ (\\ Frac (N) (2 ^ x) \u003d 1 \\) tenglamani echish orqali eng yomon takrorlanish sonini bilib olamiz. Ushbu tenglama \\ (2 ^ x \u003d N \\) tenglamaga teng, shuning uchun \\ (x \u003d log_ (2) (N) \\) yoki \\ (x \u003d lg (N) \\) (logaritma taʻrifiga qarang) . Shuning uchun ikkilik qidirish algoritmi uchun murakkablik bahosi \\ (O (logN) \\) dir.

Yaxshi yangilik shundaki, koʻpgina algoritmlarning bajarilish vaqtini tavsiflash uchun faqat bir nechta funktsiyalar etarli: \\ (1, logN, N, NlogN, N ^ 2, N ^ 3, 2 ^ N \\). Grafik kiritilgan maʻlumotlarning hajmiga qarab algoritmni bajarish vaqtining turli xil oʻsish surʻatlarini aks ettiradi:

Ushbu grafik, xususan, algoritmning bajarilish vaqti "logaritmik" boʻlsa, yaʻni. algoritm murakkablikka ega \\ (O (logN) \\), keyin bu juda ajoyib, chunki uning bajarilish vaqti kirish maʻlumotlarining kattalashishi bilan juda sekin oʻsib boradi, agar bajarish vaqti chiziqli ravishda kiritilgan maʻlumotlarning hajmiga bogʻliq boʻlsa, unda bu ham yomon emas, lekin eksponent ish vaqti algoritmlari (\\ (O (2) ^ N) \\)) umuman ishlatmaslik yoki faqat juda kichik maʻlumotlarda ishlatgan maʻqul.


Download 196,85 Kb.

Do'stlaringiz bilan baham:
1   ...   11   12   13   14   15   16   17   18   ...   26




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