sexta-feira, 1 de junho de 2012

Estrutura de dados


O computador com sua finalidade de armazenar e processar um grande numero de dados, deve ter uma maneira de organiza-los no armazenamento para que tudo não se torne num caos. Isso torna extremamente importante a maneira como é feito o armazenamento. Inicialmente sabemos que toda informação no meio computacional é armazenada em posições( ou endereços) de memoria onde cada informação ocupa uma ou mais posições de memoria.


Elementos de dados

  • Byte , Shortint, Integer:  números inteiros positivos, negativos ou o zero. Exemplo: -30;-10; 0 ; 21; -851; 558
  • Real, Single, Double: números inteiros positivos ou negativos compostos por uma parte inteira e outra fracionada. Exemplo: 58,23 ; 1,00; -12,59; etc
  • Char: esse elemento armazena caractere alfanumérico como letras ( A, B, w, z), algarismos (0...9) ou símbolos especiais ( espaço, colchetes, chaves, virgulas, etc) ocupando sempre uma única posição de memória. Na verdade esse elemento armazena um numero da tabela  ASCII.
  • Boolean: armazena estados de uma operação lógica, podendo receber valores verdade ou falso, armazenando o bit 0 ou 1 dependendo do resultado.

Quando os dados estão organizados de forma coerente caracterizam-se em um estrutura de dados. As estruturas também são chamadas tipos de dados compostos que dividem-se:

  • Homogêneos: Conjunto de dados formado pelo mesmo elemento de dado (tipo de dado).
  • Heterogêneos: Conjunto de dados formado por mais de um elemento de dado (tipo de dado).

Estruturas de dados clássicas
  • Vetores
também conhecido como array, é uma estrutura de dados simples linear e estática que mantém uma serie(finita) de elementos de dados do mesmo tamanho e tipo. Todos elementos adicionados recebem um índice.  Quando se remove um elemento do array deve-se arrastar uma posição depois do removido caso não se queira espaços vazios.

  • Lista
 cada elemento de dados referencia o seu vizinho sucessor. Os tipos de lista são:
    • Lista simplesmente encadeada: os elementos são armazenados em sequencia, não tendo como acessar um segundo elemento sem acessar o primeiro. Os elementos podem ser inseridos de qualquer maneira. O exemplo de uma lista é uma sequência para encontrar um tesouro.
    • Lista ordenada simplesmente encadeada: elementos são armazenados seguindo algum critério de ordenação. Os elementos podem ser  ordenados de diversas maneiras.
  • Fila
Estruturas que se comportam como filas tradicionais e tem como politica de funcionamento  FIFO (First in, firt out) primeiro que entra primeiro que sai.  As inserções são realizadas no final e a remoção no inicio. Existe duas operçãos nas filas que são:
    • Enqueue: adiciona um elemento ao final da fila.
    • Dequeue: remove um elemento do inicio da fila.

  • Pilha
São baseadas no principio LIFO (last in, first out) ou seja ultimo que entra primeiro que sai. O topo é o único local possível de inserir elementos e a remoção da pilha só ocorre nas extremidades do topo ou seja elementos são removidos da ordem inversa da inserção. As funções que se aplicam a pilhas são:
    • PUSH: insere um dado no topo da pilha;
    • POP: removo o item no topo da pilha;
    • TOP: retorna o elemento no topo;
  • Arvores
Os dados estão dispostos de forma hierárquica, tendo seu elemento principal chamado de raiz que possui ligação com os outros elementos denominados  ramos. Numa arvore binaria é aquela que em cada ramo possui mais dois ramos, como na figura.




Fonte 01
 FONTE 02: Paul E. Black (ed.), Data structureDictionary of Algorithms and Data Structures. U.S. National Institute of Standards and Technology, 2004.

Nenhum comentário:

Postar um comentário