logo

Tipus de dades abstractes a l'estructura de dades

Abans de conèixer el tipus de dades abstractes, hauríem de saber què és una estructura de dades.

Què és l'estructura de dades?

Una estructura de dades és una tècnica per organitzar les dades de manera que les dades es puguin utilitzar de manera eficient. Hi ha dues maneres de visualitzar l'estructura de dades:

    Models matemàtics/ lògics/ abstractes/ vistes:L'estructura de dades és la manera d'organitzar les dades que requereix uns protocols o regles. Aquestes regles s'han de modelar segons el model lògic/abstracte.Implementació:La segona part és la part d'implementació. Les regles s'han d'implementar utilitzant algun llenguatge de programació.

Per què estructura de dades?

Els següents són els avantatges d'utilitzar l'estructura de dades:

  • Aquests són els ingredients essencials utilitzats per crear algorismes ràpids i potents.
  • Ens ajuden a gestionar i organitzar les dades.
  • Les estructures de dades fan que el codi sigui més net i més fàcil d'entendre.

Què és el tipus de dades abstractes?

Un tipus de dades abstracte és una abstracció d'una estructura de dades que només proporciona la interfície a la qual s'ha d'adherir l'estructura de dades. La interfície no ofereix cap detall específic sobre alguna cosa que s'ha d'implementar o en quin llenguatge de programació.

En altres paraules, podem dir que els tipus de dades abstractes són les entitats que són definicions de dades i operacions però que no tenen detalls d'implementació. En aquest cas, sabem les dades que estem emmagatzemant i les operacions que es poden realitzar amb les dades, però no sabem els detalls de la implementació. El motiu per no tenir detalls d'implementació és que cada llenguatge de programació té una estratègia d'implementació diferent, per exemple; una estructura de dades C s'implementa mitjançant estructures mentre que una estructura de dades C++ s'implementa mitjançant objectes i classes.

Per exemple, una llista és un tipus de dades abstractes que s'implementa mitjançant una matriu dinàmica i una llista enllaçada. Una cua s'implementa mitjançant la cua basada en llistes enllaçades, la cua basada en matrius i la cua basada en la pila. Un mapa s'implementa mitjançant un mapa d'arbre, un mapa hash o una taula hash.

Model de tipus de dades abstractes

Abans de conèixer el model de tipus de dades abstractes, hauríem de conèixer l'abstracció i l'encapsulació.

pyspark sql

Abstracció: És una tècnica d'amagar els detalls interns a l'usuari i mostrar només els detalls necessaris a l'usuari.

Encapsulació: és una tècnica per combinar les dades i la funció membre en una sola unitat es coneix com a encapsulació.

Tipus de dades abstractes a l'estructura de dades

La figura anterior mostra el model ADT. Hi ha dos tipus de models en el model ADT, és a dir, la funció pública i la funció privada. El model ADT també conté les estructures de dades que estem utilitzant en un programa. En aquest model, es realitza el primer encapsulament, és a dir, totes les dades s'emboliquen en una sola unitat, és a dir, ADT. A continuació, es realitza l'abstracció significa mostrar les operacions que es poden realitzar sobre l'estructura de dades i quines són les estructures de dades que estem utilitzant en un programa.

Entenem el tipus de dades abstractes amb un exemple del món real.

Si tenim en compte el telèfon intel·ligent. Ens fixem en les altes especificacions del telèfon intel·ligent, com ara:

  • 4 GB de RAM
  • Processador Snapdragon de 2,2 GHz
  • Pantalla LCD de 5 polzades
  • Càmera dual
  • Android 8.0

Les especificacions anteriors del telèfon intel·ligent són les dades, i també podem realitzar les operacions següents al telèfon intel·ligent:

    anomenada():Podem trucar a través del telèfon intel·ligent.text():Podem enviar un missatge de text.foto():Podem clicar una foto.vídeo():També podem fer un vídeo.

El telèfon intel·ligent és una entitat les dades o especificacions i operacions de la qual es donen més amunt. La vista abstracta/lògica i les operacions són les vistes abstractes o lògiques d'un telèfon intel·ligent.

transmissió de mitjans

La vista d'implementació de la vista abstracta/lògica anterior es mostra a continuació:

 class Smartphone { private: int ramSize; string processorName; float screenSize; int cameraCount; string androidVersion; public: void call(); void text(); void photo(); void video(); } 

El codi anterior és la implementació de les especificacions i operacions que es poden realitzar al telèfon intel·ligent. La vista d'implementació pot ser diferent perquè la sintaxi dels llenguatges de programació és diferent, però la visió abstracta/lògica de l'estructura de dades continuaria sent la mateixa. Per tant, podem dir que la vista abstracta/lògica és independent de la vista d'implementació.

Nota: sabem les operacions que es poden realitzar amb els tipus de dades predefinits com int, float, char, etc., però no coneixem els detalls d'implementació dels tipus de dades. Per tant, podem dir que el tipus de dades abstracte es considera com la caixa oculta que amaga tots els detalls interns del tipus de dades.

Exemple d'estructura de dades

Suposem que tenim una matriu d'índex de mida 4. Tenim una ubicació d'índex que comença des de 0, 1, 2, 3. La matriu és una estructura de dades on els elements s'emmagatzemen en una ubicació contigua. L'adreça de memòria del primer element és 1000, el segon element és 1004, el tercer element és 1008 i el quart element és 1012. Com que és de tipus enter, ocuparà 4 bytes i la diferència entre les adreces de cada element és de 4. bytes. Els valors emmagatzemats en una matriu són 10, 20, 30 i 40. Aquests valors, posicions d'índex i adreces de memòria són les implementacions.

La vista abstracta o lògica de la matriu sencer es pot indicar com:

  • Emmagatzema un conjunt d'elements de tipus enter.
  • Llegeix els elements per posició, és a dir, índex.
  • Modifica els elements per índex
  • Realitza la classificació

La vista d'implementació de la matriu sencer:

 a[4] = {10, 20, 30, 40} cout<< a[2] a[3] = 50