1. ESTRUTURA DE DADOS
*TIPOS DE DADOS:
Em computação precisamos identificar os tipos de dados que o computador, a linguagem de
programação ou mesmo um algoritmo serão capazes de entender.
De modo geral diferenciamos os tipos de dados pelo conjunto de valores que podem assumir e
pelo conjunto de operações que podemos efetuar com eles.
PRIMITIVOS, ESTÁTICOS E DINÂMICOS
Podemos separar os tipos de dados em três grupos:
Primitivos: são aqueles a partir dos quais podemos definir os demais tipos, não
importando como são implementados e manipulados. São considerados tipos
primitivos números inteiros, reais, caracteres, lógicos, ponteiros.Esses tipos de dados
são os mais frequentes nas linguagens de programação. Cada um desses tipos
primitivos tem um conjunto de valores e operações restritos:
Inteiro:representa uma quantidade contável de objetos. Operações: soma,
subtração, multiplicação, divisão, resto. Exemplo: -45;2;1037.
Real : representa um valor que pode ser fracionado. Operações: soma, subtração,
multiplicação, divisão. Exemplos: -4;78;1;25;2,33333.
Lógico: representa dois estados. Operações: E, NÃO, OU. Exemplos:[verdadeiro,
falso]; [0,1].
Caracter: representa uma sequencia de dígitos, letras e sinais. Operações: igualdade,
diferença, concatenação. Exemplos: “A”, “X”, “1”, “ +”.
Ponteiro: representa o endereço de um dado de memoria. Operações: igualdade,
diferença, soma, subtração, multiplicação, divisão.
Estáticos: são aqueles que têm a estrutura completamente definida antes de
começarmos a efetuar operações. O exemplo que sobressai é o de que, definido um
tipo estático de dado, ele não poderá conter mais elementos do que o previsto
inicialmente. Não só a limitação de elementostorna um tipo de dados estático, como
também seus sucessores e antecessores não se modificam (observe que o conteúdo
pode ser modificado, mas não as suas posições na memoria). Dessa forma a
estrutura permanece estática. Um exemplo de estrutura estática é o vetor(array)
que é um agregado homogêneo de dados.
Dinâmicos:são aqueles que sofrem alteração estrutural quando estão sendo
manipulados, a medida que ocorrem inserções e retiradas de elementos. Esse tipo
de dado não possui tamanho predefinido, só ficando limitado a memoria do
computador em se está trabalhando. Do ponto de vista lógico, um tipo dinâmico de
dado não possui limitações, porem, como os algoritmos de manipulação dessas
estruturas são implementados em computadores, neste texto trataremos de suas
limitações físicas.
OPERAÇÕES:
2. Qualquer que seja o tipo de dado (primitivo, estático ou dinâmico) que desejemos definir,
existem operações clássicas que podemos efetuar. A primeira operação que devemos
efetuar com qualquer tipo de dado é a CRIAÇÃO. A operação em que referenciamos todos
os elementos de uma estrutura de dados chamamos de PERCURSO. Essa operação é utilizada
quando queremos trabalhar com todos os elementos de uma estrutura. Para selecionar um
determinado elemento precisamos da operação de BUSCA, cuja complexidade depende da
estrutura utilizada e do tempo estimado para a seleção de um determinado elemento. Em
alguns casos o modo como a seleção é efetuadanão atende as restrições do tempo, o que
indica que a estrutura e ou a operação de busca não são adequadas para uma determinada
aplicação. Essa operação é aplicada com um dos seguintes objetivos: verificar, utilizar ou
atualizar o conteúdo de u elemento ou ainda retirar e inserir novos elementos. Em alguns
casos a operação de busca é efetuada para que em seguida seja feita uma ALTERAÇÃO, no
conteúdo do elemento encontrado. Em determinados tipos de dados a finalidade da
seleção(alteração ou não) é muito importante para definir a melhor forma de busca da
informação. Outra operação importante é a RETIRADA. No caso de estruturas estáticas não
podemos retirar um elemento, no máximo podemos retirar os valores que ele contém,
substituindo-os por outros. Já em uma estrutura dinâmica podemos retirar quantos
elementos desejarmos, onde a cada retirada diminuímos a sua quantidade de elementos.
Da mesma forma, em uma estrutura dinâmica podemos efetuar a INSERÇÃO de novos
elementos, o que não é possível em uma estrutura estática. A inserção aumenta a
quantidade de elementos de uma estrutura. A implementação dessas operações em geral é
apresentada quando o tipo de dados é definido.