Algoritmlarni vaqt va hajmiy murakkablik bo`yicha baholashda tekis va logorimifik solishtirma mezonlari :
Mavjud algoritmlarning ko’pchilig xotira va tezlik o’rtasida tanlovni taklif
qiladi. Masala tez ishlashi va katta xotira egallashi yoki sekin ishlashi va kichik
xotira hajmini egallashi mumkin. Bu holatda eng odatiy misollardan biri eng
qisqa masofani topish masalasi bo’la oladi. Bunda siz o’zaro bog’liq bo’lgan
shahar orasidagi istalgan ikki nuqta orasidagi eng qisqa masofani topishingiz
kerak bo’ladi. Bunda biz barcha nuqtalar orasidagi qisqa masofalarni aniqlab
ularni jadval shaklida saqlab qo’yishimiz mumkin. Va biz eng qisqa masofani
aniqlashimizga to’g’ri kelganda shunchaki jadvaldan ma’lumotni olib
qo’yishimiz mumkin bo’ladi.
Natijani shu zahoti olishimiz mumkin, ammo bu juda katta hajm talab
qiladi. Masalan biror katta xaritada 10 minglab nuqtalar bo’lishi mumkin va
bizning jadvalimiz buning uchun 10 milliarddan ortiq ma’lumotni saqlashiga
to’g’ri keladi va bu taxminan 10GB ga yaqin xotirani band etishi mumkin.
Ushbu holatdan hajm-vaqt murakkabligi kelib chiqadi. Shunda algoritm
vaqt bo’yicha ishlash tezligi yoki hajm bo’yicha ishlash tezligi bilan baholanadi.
Biz asosiy e’tiborni vaqt bo’yicha murakkablikka qaratamiz lekin shu
bilan birga foydalaniladigan xotira hajmini ham aniq belgilashimizga to’g’ri
keladi.
Logarifmik og'irlik mezoni bilan sig'im murakkabligi
Bunday holda, xotira hujayrasida bo'lishi mumkin bo'lgan maksimal qiymatni ko'rib
chiqing. Agar qiymat aniqlanmasa (masalan, operand i> 10 bilan), u
holda V maksimal qiymatining chegarasi bor deb hisoblanadi .
Ushbu muammoda qiymati n (i) dan oshmaydigan o'zgaruvchi va qiymati n dan
oshmaydigan o'zgaruvchi mavjud ! (natija) . Shunday qilib, bal O (log (n!)) .
Algoritmlarning murakkabligini o'rganish juda qiziqarli vazifadir. Hozirgi vaqtda eng
oddiy algoritmlarning tahlili IT sohasidagi informatika va amaliy matematikaga jalb
qilingan texnik mutaxassisliklar o'quv dasturiga kiritilgan (aniqrog'i "Informatika va
kompyuter injiniringi" yo'nalishi).
Murakkablikka qarab, har xil vazifalar sinflari ajralib chiqadi: P , NP , NPC . Ammo bu
endi algoritmlarni asimptotik tahlil qilish nazariyasi muammosi emas.
lgoritmlarning resurs samaradorligini baholash usullari
Asosiy algoritmik konstruktsiyalar protsessual dasturlash quyidagilardan
iborat:dallanma va pastadir. Belgilangan kirish o'lchamiga ega bo'lgan eng yaxshi, o'rta
va eng yomon holatlar uchun murakkablik funktsiyalarini olish uchun asosiy algoritmik
dizaynlarni baholashda farqlarni hisobga olish kerak.
Do'stlaringiz bilan baham: |