Pirms uzzināt par abstrakto datu tipu, mums vajadzētu zināt, kas ir datu struktūra.
Kas ir datu struktūra?
Datu struktūra ir paņēmiens datu kārtošanai tā, lai datus varētu izmantot efektīvi. Ir divi veidi, kā skatīt datu struktūru:
Kāpēc datu struktūra?
Tālāk ir norādītas datu struktūras izmantošanas priekšrocības.
- Šīs ir galvenās sastāvdaļas, ko izmanto, lai izveidotu ātrus un jaudīgus algoritmus.
- Tie palīdz mums pārvaldīt un sakārtot datus.
- Datu struktūras padara kodu tīrāku un vieglāk saprotamu.
Kas ir abstrakto datu tips?
Abstraktais datu tips ir datu struktūras abstrakcija, kas nodrošina tikai saskarni, kurai datu struktūrai ir jāatbilst. Interfeiss nesniedz nekādu konkrētu informāciju par kaut ko jāievieš vai kādā programmēšanas valodā.
Citiem vārdiem sakot, mēs varam teikt, ka abstraktie datu tipi ir entītijas, kas ir datu un darbību definīcijas, bet kurām nav ieviešanas informācijas. Šajā gadījumā mēs zinām datus, ko mēs glabājam, un darbības, kuras var veikt ar datiem, taču mēs nezinām ieviešanas informāciju. Iemesls, kāpēc nav informācijas par ieviešanu, ir tāds, ka, piemēram, katrai programmēšanas valodai ir atšķirīga ieviešanas stratēģija; C datu struktūra tiek realizēta, izmantojot struktūras, savukārt C++ datu struktūra tiek realizēta, izmantojot objektus un klases.
Piemēram, saraksts ir abstrakts datu tips, kas tiek ieviests, izmantojot dinamisku masīvu un saistīto sarakstu. Rinda tiek ieviesta, izmantojot saistītu uz sarakstu balstītu rindu, uz masīvu balstītu rindu un uz steku balstītu rindu. Karte tiek ieviesta, izmantojot koku karti, jaucējkarti vai jaucējtabulu.
Abstraktā datu tipa modelis
Pirms uzzināt par abstraktā datu tipa modeli, mums jāzina par abstrakciju un iekapsulēšanu.
cp komanda Linux
Abstrakcija: tā ir paņēmiens, kā slēpt no lietotāja iekšējās detaļas un tikai parādīt lietotājam nepieciešamo informāciju.
Iekapsulēšana: tā ir datu un dalībnieka funkcijas apvienošanas paņēmiens vienā vienībā, ko sauc par iekapsulēšanu.
Augšējā attēlā parādīts ADT modelis. ADT modelī ir divu veidu modeļi, t.i., publiskā funkcija un privātā funkcija. ADT modelī ir arī datu struktūras, kuras mēs izmantojam programmā. Šajā modelī tiek veikta pirmā iekapsulēšana, t.i., visi dati tiek ietīti vienā vienībā, t.i., ADT. Pēc tam tiek veikta abstrakcija, kas nozīmē, ka tiek parādītas darbības, kuras var veikt datu struktūrā un kādas ir datu struktūras, kuras mēs izmantojam programmā.
Izpratīsim abstrakto datu tipu ar reālās pasaules piemēru.
Ja ņemam vērā viedtālruni. Mēs aplūkojam viedtālruņa augstās specifikācijas, piemēram:
- 4 GB RAM
- Snapdragon 2,2 GHz procesors
- 5 collu LCD ekrāns
- Dubultā kamera
- Android 8.0
Iepriekš minētās viedtālruņa specifikācijas ir dati, un mēs varam veikt arī šādas darbības viedtālrunī:
Viedtālrunis ir vienība, kuras dati vai specifikācijas un darbības ir norādītas iepriekš. Abstraktais/loģiskais skats un darbības ir viedtālruņa abstraktie vai loģiskie skati.
Iepriekš minētā abstraktā/loģiskā skata ieviešanas skats ir sniegts tālāk:
class Smartphone { private: int ramSize; string processorName; float screenSize; int cameraCount; string androidVersion; public: void call(); void text(); void photo(); void video(); }
Iepriekš minētais kods ir specifikāciju un darbību ieviešana, ko var veikt viedtālrunī. Īstenošanas skats var atšķirties, jo programmēšanas valodu sintakse ir atšķirīga, bet datu struktūras abstraktais/loģiskais skats paliktu nemainīgs. Tāpēc mēs varam teikt, ka abstraktais/loģiskais skatījums ir neatkarīgs no ieviešanas skata.
Piezīme. Mēs zinām darbības, kuras var veikt ar iepriekš definētiem datu tipiem, piemēram, int, float, char utt., taču mēs nezinām datu tipu ieviešanas informāciju. Tāpēc mēs varam teikt, ka abstraktais datu tips tiek uzskatīts par slēpto lodziņu, kas slēpj visas datu tipa iekšējās detaļas.
Datu struktūras piemērs
Pieņemsim, ka mums ir indeksa masīvs ar izmēru 4. Mums ir indeksa atrašanās vieta, sākot no 0, 1, 2, 3. Masīvs ir datu struktūra, kurā elementi tiek glabāti blakus esošā vietā. Pirmā elementa atmiņas adrese ir 1000, otrā elementa ir 1004, trešā elementa ir 1008 un ceturtā elementa ir 1012. Tā kā tas ir vesela skaitļa tipa, tas aizņems 4 baitus un atšķirība starp katra elementa adresēm ir 4 baiti. Masīvā saglabātās vērtības ir 10, 20, 30 un 40. Šīs vērtības, indeksa pozīcijas un atmiņas adreses ir implementācijas.
Veselo skaitļu masīva abstrakto vai loģisko skatu var norādīt šādi:
- Tas saglabā vesela skaitļa elementu kopu.
- Tas nolasa elementus pēc pozīcijas, t.i., indeksa.
- Tas maina elementus pēc indeksa
- Tas veic šķirošanu
Veselo skaitļu masīva ieviešanas skats:
Linux resursdators
a[4] = {10, 20, 30, 40} cout<< a[2] a[3] = 50