Primitiv (sozlangan) toifalar (ma’lumotlarning sodda toifalari). Oldindan ma’lum bo’ladigan, sozlangan toifalar deb ham ataladigan toifalar bo’lib, turli dasturlash tillarida turlicha bo’lishi mumkin. Masalan, C++ tilida int (long, short,… ), float(double), char,…
Foydalanuvchi tomonidan aniqlanadigan toifalar, qachonki mavjud sozlangan toifalar qo’yilgan masalani yechishga yetarli bo’lmasa qo’llaniladi.
Abstrakt toifalar. Ma’lumotlar toifalarining mantiqiy xususiyatlarini aniqlashda foydali instrument hisoblanadi. “Abstrakt toifa” atamasi bazaviy matematik tushunchasiga bog’liq. Ushbu toifalardagi ma’lumotlar qisman apparat va dasturiy ta’minot yordamida tuzilma sifatida fizik amalga oshirilishi mumkin. Biz abstrakt toifalarni matematik tushuncha sifatida aniqlaymiz.
Ma’lumotlar turli yo’lar asosida tashkil etilishi mumkin, mantiqiy yoki matematik modelni tashkil etilishi ma’lumotlar tuzilmasi deyiladi. Konkret bir ma’lumotlar tuzilmasini tanlash quyidagilarga bog’liq:
Real voqe’likda elementlararo munosabatni yaqqol ifodalay olishi kerak;
Tuzilmani sifatiy taxlili, ya’ni elementlarni saqlash uchun qancha xotira xajmi sarflanishini aniqlash (xotira sarfi) va qayta ishlashga ketadigan vaqtni (vaqt sarfi) xisoblash nazarda tutiladi.
Vaqt sarfi.Tuzilma ustida amal bajarish algoritmini bajarilish vaqtini hisoblash ko’zda tutiladi.Buni hisoblashda mashxur katta “O” notatsiya tushunchasi ishlatiladi.
Vaqt sarfi.Tuzilma ustida amal bajarish algoritmini bajarilish vaqtini hisoblash ko’zda tutiladi.Buni hisoblashda mashxur katta “O” notatsiya tushunchasi ishlatiladi.
Xotira sarfi.Kirish ma’lumotlarini inobatga olmagan xolda, ishlatilayotgan algoritm uchun xotiradan talab qilinadigan qo’shimcha joy sarfi tushuniladi.Bunda xam katta “O” notatsiyasi qo‘llaniladi.
Vaqt va xotira sarfini hisoblash uchun quyidagi yondashuvlar mavjud:
Katta O notatsiya. f(x)=O(g(n)) deb belgilanadi, faqat va faqat shunday musbat c va m konstanta mavjud bo’lib, f(n)<=c*g(n) tengsizlik o’rinli bo’lsa, barcha n, n>=m holatlarda.
Masalan, ushbu funksiyani 3n+2=O(n)deb olish mumkin,chunki 3n+2<=4n, n>=2 tengsizlik o’rinli.