logo

Abstraktie datu veidi

Šajā rakstā mēs uzzināsim par ADT, taču pirms sapratīsim, kas ir ADT, apskatīsim dažādus mums nodrošinātos iebūvēto datu veidus. Datu tipi, piemēram, int, float, double, long uc tiek uzskatīti par iebūvētiem datu tipiem, un ar tiem mēs varam veikt pamata darbības, piemēram, saskaitīšanu, atņemšanu, dalīšanu, reizināšanu utt. Tagad var rasties situācija, kad mums ir nepieciešamas darbības mūsu lietotāja definētajam datu tipam, kas ir jādefinē. Šīs darbības var definēt tikai tad, kad tās ir nepieciešamas. Tātad, lai vienkāršotu problēmu risināšanas procesu, mēs varam izveidot datu struktūras kopā ar to darbībām, un tādas datu struktūras, kas nav iebūvētas, sauc par abstrakto datu tipu (ADT).

atsaukt pēdējo apņemšanos

Abstract Data type (ADT) ir tips (vai klase) objektiem, kuru uzvedību nosaka vērtību kopa un darbību kopa. ADT definīcijā ir norādīts tikai tas, kādas darbības ir jāveic, bet ne to, kā šīs darbības tiks īstenotas. Tas nenorāda, kā dati tiks sakārtoti atmiņā un kādi algoritmi tiks izmantoti operāciju īstenošanai. To sauc par abstraktu, jo tas sniedz no ieviešanas neatkarīgu skatījumu.

Procesu, kurā tiek nodrošināts tikai pats svarīgākais un slēpt detaļas, sauc par abstrakciju.



Lietotājs Tātad lietotājam ir jāzina tikai tas, ko datu tips var darīt, bet ne to, kā tas tiks ieviests. Padomājiet par ADT kā melno kasti, kas slēpj datu tipa iekšējo struktūru un dizainu. Tagad mēs definēsim trīs ADT Saraksts ADT, Rinda ADT.

1. Uzskaitiet ADT

Vies of list

atzvanīšanas ellē javascript
  • Dati parasti tiek glabāti atslēgu secībā sarakstā, kura galvenā struktūra sastāv no skaitīt , norādes un salīdzināšanas funkcijas adrese nepieciešams, lai salīdzinātu sarakstā iekļautos datus.
  • Datu mezgls satur rādītājs uz datu struktūru un a pašreferences rādītājs kas norāda uz nākamo mezglu sarakstā.
  • The Uzskaitiet ADT funkcijas ir norādīts zemāk:
  • get() – atgriezt elementu no saraksta jebkurā noteiktā vietā.
  • insert() — ievietojiet elementu jebkurā saraksta pozīcijā.
  • remove() — noņemiet jebkura elementa pirmo reizi no saraksta, kas nav tukšs.
  • removeAt() — noņemiet elementu noteiktā vietā no saraksta, kas nav tukšs.
  • nomainīt() – jebkurā pozīcijā esošo elementu aizstāt ar citu elementu.
  • size() — atgriež elementu skaitu sarakstā.
  • isEmpty() — atgriež true, ja saraksts ir tukšs, pretējā gadījumā atgriež false.
  • isFull() — atgriež true, ja saraksts ir pilns, pretējā gadījumā atgriež false.

2. Sakraut ADT

Skats uz kaudzi

  • Stack ADT implementācijā tā vietā, lai dati tiktu glabāti katrā mezglā, rādītājs uz datiem tiek saglabāts.
  • Programma piešķir atmiņu datus un adrese tiek nodots steka ADT.
  • Galvenais mezgls un datu mezgli ir iekapsulēti ADT. Zvanīšanas funkcija var redzēt tikai rādītāju uz steku.
  • Stackgalvas struktūrā ir arī rādītājs uz tops un skaitīt no pašlaik kaudzē esošo ierakstu skaita.
  • push() – ievietojiet elementu vienā kaudzes galā, ko sauc par augšdaļu.
  • pop() — noņemiet un atgrieziet elementu steka augšpusē, ja tas nav tukšs.
  • peek() — atgriezt elementu steka augšpusē, to nenoņemot, ja steka nav tukša.
  • size() — atgriež elementu skaitu kaudzē.
  • isEmpty() — atgriež true, ja steka ir tukša, pretējā gadījumā atgriež false.
  • isFull() — atgriež true, ja kaudze ir pilna, pretējā gadījumā atgriež false.

3. Rinda ADT

ASV pilsētu nosaukumi

Skats uz rindu

  • Rindas abstrakto datu tips (ADT) atbilst steka abstrakto datu tipa pamata dizainam.
  • Katrs mezgls satur tukšu rādītāju uz datus un saites rādītājs uz nākamo elementu rindā. Programmas pienākums ir piešķirt atmiņu datu glabāšanai.
  • enqueue() — ievietojiet elementu rindas beigās.
  • dequeue() — noņemiet un atdodiet pirmo rindas elementu, ja rinda nav tukša.
  • peek() – atgriež rindas elementu, to nenoņemot, ja rinda nav tukša.
  • size() — atgriež rindā esošo elementu skaitu.
  • isEmpty() — atgriež true, ja rinda ir tukša, pretējā gadījumā atgriež false.
  • isFull() — atgriež true, ja rinda ir pilna, pretējā gadījumā atgriež false.

ADT iezīmes:

Abstract data tips (ADT) ir veids, kā iekapsulēt datus un darbības ar šiem datiem vienā vienībā. Dažas no galvenajām ADT iezīmēm ir:

  • Abstrakcija: Lietotājam nav jāzina datu struktūras ieviešana, tiek sniegta tikai būtiskā informācija.
  • Labāka konceptualizācija: ADT sniedz mums labāku reālās pasaules konceptualizāciju.
  • Izturīgs: Programma ir izturīga un spēj uztvert kļūdas.
  • Iekapsulēšana : ADT slēpj datu iekšējo informāciju un nodrošina publisku saskarni, lai lietotāji varētu mijiedarboties ar datiem. Tas ļauj vieglāk uzturēt un modificēt datu struktūru.
  • Datu abstrakcija : ADT nodrošina abstrakcijas līmeni no datu ieviešanas detaļām. Lietotājiem ir jāzina tikai darbības, kuras var veikt ar datiem, nevis to, kā šīs darbības tiek īstenotas.
  • Datu struktūras neatkarība : ADT var ieviest, izmantojot dažādas datu struktūras, piemēram, masīvus vai saistītos sarakstus, neietekmējot ADT funkcionalitāti.
  • Informācijas slēpšana: ADT var aizsargāt datu integritāti, atļaujot piekļuvi tikai pilnvarotiem lietotājiem un darbībām. Tas palīdz novērst kļūdas un datu ļaunprātīgu izmantošanu.
  • Modularitāte : ADT var apvienot ar citiem ADT, lai veidotu lielākas, sarežģītākas datu struktūras. Tas nodrošina lielāku programmēšanas elastību un modularitāti.

Kopumā ADT ir spēcīgs rīks datu organizēšanai un manipulēšanai strukturētā un efektīvā veidā.

Abstraktajiem datu tipiem (ADT) ir vairākas priekšrocības un trūkumi, kas jāņem vērā, pieņemot lēmumu par to izmantošanu programmatūras izstrādē. Šeit ir dažas no galvenajām ADT izmantošanas priekšrocībām un trūkumiem:

Priekšrocības:

  • Iekapsulēšana : ADT nodrošina veidu, kā iekapsulēt datus un darbības vienā vienībā, atvieglojot datu struktūras pārvaldību un modificēšanu.
  • Abstrakcija : ADT ļauj lietotājiem strādāt ar datu struktūrām, nezinot ieviešanas detaļas, kas var vienkāršot programmēšanu un samazināt kļūdas.
  • Datu struktūras neatkarība : ADT var ieviest, izmantojot dažādas datu struktūras, kas var atvieglot pielāgošanos mainīgajām vajadzībām un prasībām.
  • Informācijas slēpšana : ADT var aizsargāt datu integritāti, kontrolējot piekļuvi un novēršot nesankcionētas modifikācijas.
  • Modularitāte : ADT var apvienot ar citiem ADT, lai izveidotu sarežģītākas datu struktūras, kas var palielināt programmēšanas elastību un modularitāti.

Trūkumi:

  • Virs galvas : ADT ieviešana var palielināt atmiņas un apstrādes izmaksas, kas var ietekmēt veiktspēju.
  • Sarežģītība : ADT var būt sarežģīti ieviest, īpaši lielām un sarežģītām datu struktūrām.
  • Mācīšanās Līkne: lai izmantotu ADT, ir nepieciešamas zināšanas par to ieviešanu un izmantošanu, kuras apguve var aizņemt laiku un pūles.
  • Ierobežota elastība: Dažiem ADT var būt ierobežota funkcionalitāte vai tie var nebūt piemēroti visu veidu datu struktūrām.
  • Izmaksas : ADT ieviešana var prasīt papildu resursus un ieguldījumus, kas var palielināt izstrādes izmaksas.

Kopumā ADT priekšrocības bieži pārsniedz trūkumus, un tos plaši izmanto programmatūras izstrādē, lai pārvaldītu un apstrādātu datus strukturētā un efektīvā veidā. Tomēr, lemjot, vai izmantot ADT, ir svarīgi ņemt vērā projekta īpašās vajadzības un prasības.

tostring java metode

No šīm definīcijām mēs skaidri redzam, ka definīcijās nav norādīts, kā šie ADT tiks attēloti un kā tiks veiktas darbības. Var būt dažādi veidi, kā ieviest ADT, piemēram, sarakstu ADT var ieviest, izmantojot masīvus vai atsevišķi saistītus sarakstus vai divkārši saistītus sarakstus. Līdzīgi steka ADT un rindas ADT var ieviest, izmantojot masīvus vai saistītos sarakstus.