10-Amaliy ish
Graflar bilan ishlovchi soda algoritmlar
1.
Garflar nazariyasi
2.
Garflarni tipik qo‟llanishi
3.
Garflar terminologiyasi
4.
Tez saralash
algoritmi
5.
Birlashtirish bilan saralash algoritmi
Tayanch so‘z va iboralar
: Algoritm tahlili. Boshlang„ich berilganlar sinflari. Eng yaxshi
holat. Eng yomon holat.O„rtacha holat. Xotira bo„yicha murakkablik. Tezlik bo„yicha
murakkablik. O„rniga qo„yish. Saralash. Pufakchali saralash. Tez saralash. Birlashtirib saralash.
Piramida quri
Algoritmlarning tahlili berilgan algoritm vositasida berilgan masala yechimining olinish
vaqtini baholash imkonini beradi. Bunda biror masala yechimining bir
necha turli algoritmlari
uchun bir xil boshlang„ich ma‟lumotlar massivi bilan qo„yilgan vazifani bajarish tezligi
baholanadi. Masalan, N ta kattaliklar ketma-ketligini o„sib borish bo„yicha saralash
algoritmining bajaradigan taqqoslashlar sonini yoki NXM xajmli
ikki matritsa elementlarini
ko„paytirish uchun bajaradigan arifmetik amallar sonini baholash mumkin.Ko„pgina masalalarni
yechishning bir emas, bir necha algorimti mavjud bo„ladi. Algoritmlarning tahlili ushbu berilgan
algoritmlar ichidan “yaxshisini” tanlab olish imkonini beradi. Masalan, berilgan to„rtta
kattalikdan eng kattasini tanlab olish vazifasini bajaruvchi ikki algoritmni ko„rib o„taylik:
largest = a
if b > largest then
largest = b
end if
return a
if с > largest then
largest = с
end if
if d > largest then
largest = d
end if
return largest
if a>b then if a>с then
if a>d then return
a
else return
d
end if
else if с>d
then
return с
else return
d
end if
end if
else if b > с then
if b>d then return
b
else return d
end if
else if с > d then
return с
else return
d
end if end if end if
Ushbu
algoritmlar
ishini
o„rganishda ularning
har birida uchta taqqoslash
bajarilayotganligini ko„rish mumkin. Birinchi algoritmni o„qish osonroq bo„lishiga qaramay,
kopyuterda bajarilish nuqtai nazaridan ikkala algoritmning murakkablik darajasi bir xildadir.
Vaqt sarfi bo„yicha ham algortmlar teng kuchli. Ammo foydalaniladigan xotira xajmi jihatdan
birinchi algoritm “yomonroqdir”. Chunki algoritm sonlar yoki simvollardan boshqa turdagi
ma‟lumotlar ustida ishlaganda qo„shimcha xotira sarfi algoritm sifat ko„rsatkichiga salbiy ta‟sir
ko„rsatadi. Ko„pgina zamonaviy dasturlash tillari yirik va murakkab
obyektlar yoki yozuvlarni
taqqoslash operatorlariga egadir. Bunday hollarda oraliq o„zgaruvchidan foydalanish katta xotira
resursini talab etadi. Algoritmlar effektivligi tahlili jarayonida algoritmlar bajarilish vaqti va
talab qilinuvchi xotira xajmi muhim ahamiyatga ega bo„ladi.
Algoritmlarning turli xarakteristikalari bitta umumiy masalani hal etuvchi ikki turli
algoritmning effektivligini taqqoslash uchun mo„ljallanadi. Algoritmlar
tahlilining natijasi
sekundlar yoki kompyuter sikllarining aniq sonini hisoblovchi formuladan iborat bo„lmasligiga
qaramasdan ishni aynan algoritmda amalga oshiriluvchi amllar sonini hisoblashdan boshlaymiz.
Faylga kiruvchi turli simvollar sonini hisoblovchi algoritmni ko„rib o„taylik. Ushbu vazifani
bajaruvchi algoritmning ifodasi taxminan quyidagicha bo„lishi mumkin: