logo

Tipo de dados abstrato na estrutura de dados

Antes de conhecer o tipo de dados abstrato, devemos saber o que é uma estrutura de dados.

O que é estrutura de dados?

Uma estrutura de dados é uma técnica de organização dos dados para que possam ser utilizados de forma eficiente. Existem duas maneiras de visualizar a estrutura de dados:

    Modelos/Visualizações Matemáticos/Lógicos/Abstratos:A estrutura de dados é a forma de organizar os dados que requer alguns protocolos ou regras. Essas regras precisam ser modeladas de acordo com o modelo lógico/abstrato.Implementação:A segunda parte é a parte de implementação. As regras devem ser implementadas usando alguma linguagem de programação.

Por que estrutura de dados?

A seguir estão as vantagens de usar a estrutura de dados:

  • Estes são os ingredientes essenciais usados ​​para criar algoritmos rápidos e poderosos.
  • Eles nos ajudam a gerenciar e organizar os dados.
  • As estruturas de dados tornam o código mais limpo e fácil de entender.

O que é tipo de dados abstrato?

Um tipo de dados abstrato é uma abstração de uma estrutura de dados que fornece apenas a interface à qual a estrutura de dados deve aderir. A interface não fornece detalhes específicos sobre algo que deve ser implementado ou em qual linguagem de programação.

Em outras palavras, podemos dizer que os tipos de dados abstratos são as entidades que são definições de dados e operações, mas não possuem detalhes de implementação. Nesse caso, conhecemos os dados que estamos armazenando e as operações que podem ser realizadas nos dados, mas não sabemos os detalhes da implementação. A razão para não haver detalhes de implementação é que cada linguagem de programação possui uma estratégia de implementação diferente, por exemplo; uma estrutura de dados C é implementada usando estruturas, enquanto uma estrutura de dados C++ é implementada usando objetos e classes.

Por exemplo, uma lista é um tipo de dados abstrato implementado usando uma matriz dinâmica e uma lista vinculada. Uma fila é implementada usando fila baseada em lista vinculada, fila baseada em array e fila baseada em pilha. Um mapa é implementado usando mapa de árvore, mapa hash ou tabela hash.

Modelo abstrato de tipo de dados

Antes de conhecer o modelo de tipo de dados abstrato, devemos saber sobre abstração e encapsulamento.

matriz em métodos java

Abstração: É uma técnica de ocultar os detalhes internos do usuário e mostrar apenas os detalhes necessários ao usuário.

Encapsulamento: É uma técnica de combinar os dados e a função membro em uma única unidade conhecida como encapsulamento.

Tipo de dados abstrato na estrutura de dados

A figura acima mostra o modelo ADT. Existem dois tipos de modelos no modelo ADT, ou seja, a função pública e a função privada. O modelo ADT também contém as estruturas de dados que usamos em um programa. Neste modelo é realizado primeiro o encapsulamento, ou seja, todos os dados são agrupados em uma única unidade, ou seja, ADT. Em seguida, é realizada a abstração, que significa mostrar as operações que podem ser realizadas na estrutura de dados e quais são as estruturas de dados que estamos utilizando em um programa.

remover o primeiro caractere do Excel

Vamos entender o tipo de dados abstrato com um exemplo do mundo real.

Se considerarmos o smartphone. Observamos as altas especificações do smartphone, como:

  • 4 GB de RAM
  • Processador Snapdragon 2,2 GHz
  • Tela LCD de 5 polegadas
  • Câmera dupla
  • Android 8.0

As especificações do smartphone acima são os dados, e também podemos realizar as seguintes operações no smartphone:

    chamar():Podemos ligar através do smartphone.texto():Podemos enviar uma mensagem.foto():Podemos clicar em uma foto.vídeo():Também podemos fazer um vídeo.

O smartphone é uma entidade cujos dados ou especificações e operações são indicados acima. A visão e operações abstratas/lógicas são as visões abstratas ou lógicas de um smartphone.

A visão de implementação da visão abstrata/lógica acima é fornecida abaixo:

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

O código acima é a implementação das especificações e operações que podem ser realizadas no smartphone. A visão de implementação pode ser diferente porque a sintaxe das linguagens de programação é diferente, mas a visão abstrata/lógica da estrutura de dados permaneceria a mesma. Portanto, podemos dizer que a visão abstrata/lógica é independente da visão de implementação.

Nota: Conhecemos as operações que podem ser executadas nos tipos de dados predefinidos, como int, float, char, etc., mas não conhecemos os detalhes de implementação dos tipos de dados. Portanto, podemos dizer que o tipo de dados abstrato é considerado a caixa oculta que esconde todos os detalhes internos do tipo de dados.

Exemplo de estrutura de dados

Suponha que temos um array de índice de tamanho 4. Temos uma localização de índice começando em 0, 1, 2, 3. Array é uma estrutura de dados onde os elementos são armazenados em um local contíguo. O endereço de memória do primeiro elemento é 1000, o segundo elemento é 1004, o terceiro elemento é 1008 e o quarto elemento é 1012. Por ser do tipo inteiro, ocupará 4 bytes e a diferença entre os endereços de cada elemento é 4 bytes. Os valores armazenados em um array são 10, 20, 30 e 40. Esses valores, posições de índice e endereços de memória são as implementações.

A visão abstrata ou lógica da matriz inteira pode ser declarada como:

  • Ele armazena um conjunto de elementos do tipo inteiro.
  • Ele lê os elementos por posição, ou seja, índice.
  • Modifica os elementos por índice
  • Ele realiza a classificação

A visão de implementação da matriz inteira:

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