Algoritmai ir duomenų struktūros

Duomenų tipai

Kas yra duomenų tipas

Duomenų tipas – tai savybė, apibūdinanti kintamuosius ar duomenų struktūras, nurodanti, kokios rūšies duomenys gali būti laikomi ir kokie veiksmai gali būti atliekami su tais duomenimis. Duomenų tipai apibrėžia duomenų reikšmes, formatą, galimus veiksmus ir apribojimus.

Duomenų tipai gali būti skirstomi į šias kategorijas:
  1. Paprastieji (arba primityvūs) duomenų tipai.
  2. Abstraktūs duomenų tipai, arba tiesiog abstrakti duomenų struktūra.
  3. Struktūriniai (arba sudėtiniai, neprimityvūs) duomenų tipai, arba tiesiog duomenų struktūros.

1. Paprastieji duomenų tipai

Java kalboje yra šie paprastieji duomenų tipai:

Duomenų tipas Dydis Aprašymas
byte 1 baitas Saugo sveikuosius skaičius nuo -128 iki 127
short 2 baitai Saugo sveikuosius skaičius nuo -32 768 iki 32 767
int 4 baitai Saugo sveikuosius skaičius nuo -2 147 483 648 iki 2 147 483 647
long 8 baitai Saugo sveikuosius skaičius nuo -9 223 372 036 854 775 808 to 9 223 372 036 854 775 807
float 4 baitai Saugo sveikuosius skaičius nuo -9 223 372 036 854 775 808 to 9 223 372 036 854 775 807
float 4 baitai Saugo realiuosius (slankiojo kablelio) skaičius. Gali tiksliai atvaizduoti 6–7 reikšmingus skaitmenis.
double 8 baitai Saugo realiuosius (slankiojo kablelio) skaičius. Gali tiksliai atvaizduoti 15-16 reikšmingų skaitmenų.
boolean 1 bitas Loginis tipas, saugo true (tiesa) arba false (netiesa) reikšmę
char 2 baitai Simbolinis tipas, saugo vieną simbolį/raidę arba ASCII reikšmę

2. Abstraktūs duomenų tipai

Abstraktus duomenų tipas (angl. Abstract Data Type, ADT) yra matematinė arba loginė koncepcija, apibrėžianti duomenų saugojimo ir manipuliavimo operacijas, bet nesusitelkia į jų įgyvendinimo detales. Jis nusako:
  • Kokius veiksmus galima atlikti su duomenimis (pavyzdžiui, pridėti, pašalinti, ieškoti ir pan.).
  • Veiksmų elgesį, bet ne tai, kaip šie veiksmai įgyvendinami.
ADT yra nepriklausomas nuo konkrečių programavimo kalbų. Jis apibrėžia funkcijų (metodų) rinkinį, tačiau nenusako, kaip tos funkcijos turėtų būti realizuotos. Tikrosios realizacijos gali skirtis priklausomai nuo programavimo kalbos ar algoritmo.

Java kalboje abstraktūs duomenų tipai vadinami kolekcijomis ir įeina į Java kolekcijų karkasą (angl. Java Collections Framework).

Java kalboje yra šios kolekcijos:

3. Struktūriniai duomenų tipai

Struktūrinis duomenų tipas yra konkreti fizinė realizacija arba programavimo kalbos suteikta priemonė, leidžianti saugoti ir tvarkyti duomenis tam tikra forma. Šie duomenų tipai yra susieti su programavimo kalbomis ir jie nurodo:
  • Kaip duomenys saugomi atmintyje.
  • Kaip jais manipuliuojama naudojant programavimo kalbos mechanizmus.

Struktūriniai duomenų tipai yra glaudžiai susiję su kompiuterio atmintimi ir yra praktiškai įgyvendinami.

Abstraktaus ir struktūrinio duomenų tipų palyginimas

Savybė Abstraktus duomenų tipas Struktūrinis duomenų tipas
Apibrėžimas Matematinė ar loginė koncepcija, aprašanti operacijas ir jų elgesį. Konkretus programavimo kalbos suteiktas mechanizmas duomenims saugoti ir apdoroti.
Realizacijos tipas Teorinis modelis. Fizinė realizacija.
Priklausomybė nuo įgyvendinimo Nepriklausoma nuo realizacijos, kalbos ar technologijos. Priklauso nuo programavimo kalbos ir jos siūlomų priemonių.
Naudojimas Naudojama kaip teorinis modelis kuriant algoritmus ir duomenų struktūras. Naudojama tiesiogiai programavime sprendžiant problemas.
Pavyzdys Sąrašas (angl. list) LinkedList klasė Java kalvoje.

Paskutinį kartą puslapis keistas 2024-11-20

© Joana Katina 2016-2025. Visos teisės saugomos