17
Tuzilmalar oddiy (bazaviy, primitiv) va integrallashgan(struk- turlashgan,
murakkab, yig’ma) tuzilmalarga bo’linadi. Oddiy tuzilmalar deb bit tarkibiy
qismlargacha bo’lina oladigan tuzilmalarga aytiladi. Ma’lumotlarning fizik
tuzilmalari nuqtai nazari bilan qaralsa, berilgan odddiy tuzilmalarning o’lchovi va
uni xotiraga joylashtirish tuzilmasi ushbu mashina arxitekturasida yoki dasturlash
tizimida qanday bo’lishini oldindanayta olish mumkin. Ma’lumotlar tuzilmalarini
mantiqiy nuqtai nazariga ko’ra oddiy tuzilmalar bo’linmas birliklar hisoblanadilar.
Integrallashgan tuzilmalar deb tarkibiy qismlari oddiy yoki o’z
navbatida
integrallashgan
ma’lumotlar
tuzilmalariga
aytiladi.
Integrallashtirilgan
ma’lumotlar tuzilmalari dasturchi tomonidan dastur tillaridagi ma’lumotlarni
integratsiya vositalarini qo’llagan xolda quriladi.
Ma’lumotlar elementlari orasidagi bog’lanishlarni yaqqol mavjudligi yoki
ularni yo’qligiga qarab ma’lumotlar tuzilmalari bog’lanmagan (vektorlar,
massivlar, satrlar, steklar, navbatlar) va bog’langan (bog’langan ro’yxatlar)
ko’rinishida bo’ladilar.
Ma’lumotlar tuzilmalarining muhim belgisi - uning o’zgaruvchanligi-
elementlar sonini va ular orasidagi bog’lanishlarni o’zgarib turishidir.
O’zgaruvchanlik belgisiga ko’ra ma’lumotlar tuzilmalari statistik, yarimstatistik va
dinamik tuzilmalarga bo’linadilar. 1.1. chizmada ma’lumotlar tuzilmalari
o’zgaruvchanligi belgisiga ko’ra klassifikatsiyasi keltirilgan. Ma’lumotlar
tuzilmalarining bazaviy, statistik, yarimstatistik va dinamik ko’rinishlari tezkor
xotiraga xos bo’ladi va ularni tezkor tuzilmalar deb ataydilar. Fayl tuzilmalari esa
tashqi xotira ma’lumotlari tuzilmalariga mos keladilar.
Ma’lumotlar tuzilmalarining muhim belgisi - uning elementlarini tartiblana
olishi xossasidir. Ushbu belgiga ko’ra tuzilmalarni chiziqli va chiziqli bo’lmagan
tuzilmalarga ajratish mumkin. Chiziqli tuzilmalar elementlarini xotirada o’zaro
yaqin joylashishi xossasiga ko’ra ularni xotirada ketma-ket joylashgan (vektorlar,
satrlar, massivlar, steklar, navbatlar) va ixtiyoriy bog’lanib taqsimlangan (bir
bog’lamli, ikki bog’lamli ro’yxatlar) tuzilmalarga ajratish mumkin. Chiziqli
bo’lmagan tuzilmalarga misol tariqasida ko’p bog’langan ro’yxatlar, daraxtlar,
18
grafalarni keltirish mumkin.
Dasturlash tillarida «ma’lumotlar tuzilmalari” tushinchasi “ma’lumotlar
turi” tushinchasi bilan chambarchas bog’langandir. Barcha ma’lumotlar -
konstantalar, o’zgaruvchilar, funktsiya qiymatlari yoki ifodalar o’zlarining turlari
bilan tavsiflanadilar. Har bir tur bo’yicha axborot bir ma’noda aniqlanadi:
Ko’rsatilgan turning ma’lumotlarini saqlash tuzilmasi, ya’ni unga xotirani
ajratish va ma’lumotlarni
unda bir tomondan tasvirlansa, ikkinchi tomondan uni
ikkilik ko’rinishini tushuntirib beradi;
Tur tomonidan tasvirlangan u yoki bu obyektning qabul qilishi mumkin
bo’lgan qiymatlari to’plami;
Tur tomonidan tasvirlanayotgan obyektga qo’llanilishi mumkin bo’lgan
amallar to’plami.
Har qanday ma’lumotlar tuzilmalari ustida umumiy bo’lgan to’rt amalni
bajarish mumkin: yaratish, yo’q qilish, tanlash (kirib borish), yangilash.
Ma’lumotlar tuzilmalari yaratish amali deganda ma’lumotlar tuzilmalariga
xotirada joy ajratilishi tushiniladi. Xotira dastur
bajarilishi jarayonida yoki
kompilyatsiya bosqichida ajratilishi mumkin. Bir qator tillarda (masalan C da)
dasturchi tomonidan strukturlashtirilgan ma’lumotlar uchun yaratish amali o’z
ichiga tuzilma tomonidan hosil qilinadigan parametrlarni boshlang’ich
qiymatlarini o’rnatishni ham o’z ichiga oladi. Masalan, PL/1 da DECLARE N
FIXED DECIMAL e’loni N o’zgaruvchi uchun manzil kengligini ajratishga olib
keladi. FORTRANda (Integer I), PASCALda (I:Integer), C da (Int I) tur e’loni
natijasida ushbu o’zgaruvchilar uchun mos xotira ajratiladi. Dasturda e’lon
qilingan ma’lumotlar tuzilmalari uchun xotira avtomatik ravishda Dasturlash
tizimi vositalari orqalikopilyatsiya bosqichida , yoyinki mos o’zgaruvchilar e’lon
qilinadigan protsedura blokini aktivlashgan vaqtida ajratiladi. Dasturlash tizimida
mavjud ajratish-ozod qilish prqedura (funktsiya)ni qo’llagan xolda dasturchining
o’zi ham ma’lumotlar tuzilmalari uchun xotirani ajratishi mumkin. Obyektga-
mo’ljallangan Dasturlash tillarida yangi obyektlar tuzilayotganida
obyekt uchun
yaratish va yo’q qilish protseduralari aniqlangan bo’lishi kerak. Muhimi bunda,
19
dasturlash tilidan qat’iy nazar, dasturdagi mavjud ma’lumotlar tuzilmalari “hech
qayerdan” paydo bo’lmay balki bilvosita yoki bevosita tuzilmalarni tuzish
operatorlari yordamida e’lon qilinadidar. Buning natijasida dasturdagi barcha
tuzilma nusxalariga ularni joylashtirish uchun xotira ajratiladi.
Ma’lumotlar tuzilmalarini xotiradan o’chirish amallari ularni yaratish
amallariga nisbatan qarama-qarshi yo’nalishda olib boriladi. Ba’zi
bir BASIC,
FORTRAN kabi tillar dasturchiga ma’lumotlar tuzilmalarini o’chirishni imkonini
bermaydi. PL/1, Pascal tillarida blok ichida joylashgan ma’lumotlar tuzilmalari
ushbu blok tashqarisiga chiqqanidan so’ng dastur bajarilishi jarayonida o’chiriladi.
O’chirish amali xotiradan samarali foydalanish uchun qo’llaniladi.
Tanlash amallari dasturchilar tomonidan tuzilmalar ichida joylashgan
ma’lumotlarga kirib borishni amaliy shakli murojaat qilinayotgan ma’lumotlar
tuzilmalari turiga bog’liqdir. Kirish usuli - tuzilmalarning muhim xususiyatlaridan
biri bo’lib, bu xususiyat aniq ma’lumotlar tuzilmalarini tanlashda bevosita rol
o’ynaydi.
Yangilash amali ma’lumotlar tuzilmalarida ma’lumotlar qiymatlarini
o’zgartirishga imkon beradi. Masalan:
qiymat berish, yoki yanada murakkab
shakli parametrlarni uzatish.
Yuqorida keltirilgan to’rt amal barcha tuzilmalar va turlar uchun majburiy
bajariladigan amallar hisoblanadi. Bu umumiy amallardan tashqari har bir
ma’lumotlar tuzilmalari uchun maxsus o’ziga xos faqat ushbu ma’lumotlar turi
(ma’lumotlar tuzilmalari) bilan ish olib boruvchi amallar aniqlangan bo’lishi
mumkin.