10-11-maruza.
Dinamik ma’lumotlar tuzilmasi. Chiziqli ro’yxatlar.
Reja.
1.
Dinamik ma’lumotlar tuzilmasi.
2.
Chiziqli bir bog’lamli ro’yhatlarvaularustidaamalbajarishalgotirmlari.
Kalitso’zlar: list, linked list, chiziqliro’yhatlar, birvaikkibo’glamliro’yhatlar.
Dinamikma’lumotlartuzilmasi
Bizga ma’lumki, massivlar (static tuzilmalar) dasturlash tillarida juda foydali
va zaruriytu zilmadir. Lekin uning ikkita kamchiligi bor:
-
Uningo’lchaminidasturbajarilishimobaynidao’zgartiribbo’lmaydi;
-
Tuzilmaorasiga element kiritishuchunqolganlarinisurishkerak.
Bu
kamchilik
bog’langan
ro’yhatlar
bilanishlash
gaolibkeladi.Bo’glanganro’yhatlarbirxiltoifadagielementlar (tugunlar)
ketma-
ketligibo’lib,
ularxotiradaturlijoylargajoylashtiriladivao’zarobir-
biribilanko’rsatkichlimaydonlarorqalibog’lanadi.
Bo’glanganro’yhatlarnidasturdaturlichaamalgaoshirishmumkn.
Bo’glanganro’yhatlardaelementlarniquyidagichaxosilqilibolamiz:
Information
maydondafoydalanuvchiningfoydalima’lumotiyoziladi.Ko’rsatkichlimaydongake
yingielementningxotiradagiadresiyoziladi.Shundayelementlardantashkiltopadigan
tuzilmaga
chiziqlibirbog’lamliro’yhatlar
deyiladi.
Bog’langanro’yhatlardamassivningkamchiliklaribartarafqilinganligisababli
tu
zilmauzunligi
va
elementlarorasidagimunosabatlar
dasturbajarilishimobaynidao’z
garibturadi. Bu dinamiktuzilmaxususiyatihisoblanadi.
Dinamiktuzilma
deb:
-
elementlariorasidagimunosabatlar
-
tuzilmauzunligi (elementlarsoni)
dasturbajarilishimobaynidao’zgaribturadigantuzilmagaaytiladi.
Dinamiktuzilmalardaelementlarxotiradaistalganjoydajoylashishimumkin.Shusaba
bliularorasidagimunosabatlarko’rsatkichlarorqalibelgilanadi.Elementlartuzilmaga
kelibqo’shilganpaytdaxotiradanbo’sh
joy
qidiribtopiladivaelementlarjoylashtiriladi.
Shusabablielementlarxotiradaketma-
ketyacheykalardajoylashmaganbo’lishimumkin.Afar
fizikxotiratanqisligisezilmasa, tuzilmauzunligioshirilishimumkin.
Bundaytuzilmalarbilanishlashningo’zigayarashaafzalliklarivakamchiliklarim
avjud. Afzalligishundaki, tuzilmauzunligigaoldindanchegaraqo’yilmaydi.Unga
element
kiritishvao’chirishamallarimassivgaqaragandaosonkechadi.
Chunkielementlarxotiragaistalganjoygajoylashtirilayotganpaytdaoldinkelibtushga
nelementlarjoyidanqo’zg’atilmaydi.Faqatularningko’rsatkichlarito’g’irlabqo’yilad
i, xolos.
Kamchiligiesashundaki,
Informatsion
ko’rsatkichli
maydon
maydon
oldindanmavjudbo’lgantuzilmanimassivlardamavjudbo’lgansaralashalgoritmlaribi
lansaralabbo’lmaydi,
chunkiularelementlarningindekslaribilanbog’liqtushunchadir.Elementlarninginde
ksidegantushunchayo’qligisabablielementlargato’g’ridanto’g’rimurojaatningilojiy
o’q, engog’irholatdaoxirgielementga N ta murojaatorqaliyetibboriladi.
Qidiruvamalixamxuddishunday.Ya’niengog’irholatdaoxirgielementni N ta
solishtirishdatopishmumkin.
Bog’langan ro’yhatlar eng ko’p tarqalgan
dinamik tuzilmalardan
hisoblanadi. Ma’lumotlarni mantiqiy tasvirlash nuqtai nazaridan ro’yhatlar
ikkitaga ajratiladi: chiziqli va chiziqsiz.
Chiziqli ro’yhatlarda elementlar orasidagi bog’liqlik qat’iy
tartiblangan
bo’ladi, ya'ni element ko’rsatkichi o’zidan oldingi
yoki navbatdagi element
manzilini saqlaydi.
Chiziqli ro’yhatlarga bir yoki ikki bog’lamli ro’yhatlar kiradi.
Chiziqsiz ro’yhatlarga esa ko’p bog’lamli ro’yhatlar kiradi.Umumanolganda,
ro’yhat
elementlari
biryoki
bir
nechtako’rsatkichli
maydonlargaegabo’lishimumkin.
Vaxarbirko’rsatkichiorqaliistalganelementgamurojaatqilsa,
bundayro’yhatlarchiziqsizro’yhatlardeyiladi.