Estruturas de Dados
description
Transcript of Estruturas de Dados
Estrutura Organização e Tratamento de Dados - 12º ano Luís Ceia
Estruturas de Dados
Estrutura Organização e Tratamento de Dados - 12º ano Luís Ceia
Estruturas de Dados• Simples
• Inteiros, Reais, Valores Lógicos, Alfanuméricos
• Complexos– Comprimento Fixo
• Vectores/Matrizes
– Comprimento Variável• Listas
– Lineares
» Pilhas, Filas, Ficheiros
– Não Lineares
» Árvores
Estrutura Organização e Tratamento de Dados - 12º ano Luís Ceia
Simples
• Inteiros– Guardam valores sem casa decimais
• Integer, Byte, LongInt / Int, Short Int
• Decimal, Hexadecimal
• Reais– Valores com partes fraccionárias
• Real / Double, Float
Estrutura Organização e Tratamento de Dados - 12º ano Luís Ceia
Simples
• Valores Lógicos– podem assumir os valores lógicos verdadeiro ou
Falso, codificados com 1 e 0• Boolean
• Alfanuméricos– Conjuntos de caracteres ou cadeias de caracteres
• 1 byte por caractere
• Char, String / Char
Estrutura Organização e Tratamento de Dados - 12º ano Luís Ceia
Complexos
• Comprimento Fixo– Vectores/Matrizes
• Comprimento Variável– Listas
• Lineares– Pilhas, Filas, Ficheiros
• Não Lineares– Árvores
Estrutura Organização e Tratamento de Dados - 12º ano Luís Ceia
Comprimento Fixo
• Vectores/Matrizes– Uma Matriz é uma estrutura de dados que
agrupa informação em linhas e colunas– Uma Matriz pode ser Multidimensional ou
Unidimensional (Vector)• Array [Indice] of Variável
Estrutura Organização e Tratamento de Dados - 12º ano Luís Ceia
Comprimento Variável
• Listas– Lineares
• Pilhas, Filas, Ficheiros
– Não Lineares• Árvores
Estrutura Organização e Tratamento de Dados - 12º ano Luís Ceia
Listas Lineares
• Ficheiros– Estrutura de dados que guarda a informação em
memória secundária. Type Empregado=Record
Numero : Integer;
Nome : String;
Salario : Real;
End;
Var
TabFunc : Empregado;
ArCad : File of Empregado;
Estrutura Organização e Tratamento de Dados - 12º ano Luís Ceia
Listas Lineares
• Pilhas, Filas (Apontadores, Pointers)– Também chamadas apontadores ou ponteiros,
são dados que contém endereços para outros dados.
• Este tipo de variáveis não são estáticas (forma e tamanho pré-determinado, em que existem durante todo o tempo de execução do bloco onde foram declaradas).
• São as denominadas variáveis dinâmicas.
Estrutura Organização e Tratamento de Dados - 12º ano Luís Ceia
Listas Lineares
Dados
Próx.
Dados
Próx.
Dados
Próx.
Cabeça
Estrutura Organização e Tratamento de Dados - 12º ano Luís Ceia
Apontadores (Pointers)
• Notação em PASCAL– Ponteiro para um Inteiro: VAR P_INT:^INTEGER;
– P_INT é um endereço– Se X é uma variável normal– P_INT^ é o valor inteiro contido no endereço
apontado por P_INT^
– ^X é o endereço da variável X
Estrutura Organização e Tratamento de Dados - 12º ano Luís Ceia
Apontadores (Pointers)
VAR X,Y:INTEGER;
P_INT:^INTEGER; {variável tipo pointer de inteiros}
PTR:^REAL; {variável tipo pointer de reais}
BEGIN
X:=13; {X recebe o valor 13}
P_INT^:=X; {P_INT recebe o valor da variável X, apontando para ela}
Y:=P_INT^; {Y recebe o conteúdo da posição de memória apontada por P_INT}
WRITELN(X, ‘ = ‘,P_INT^, ‘ = ‘,Y); {13 = 13 = 13}
PTR^:=Y; {PTR recebe o valor da variável Y, apontando para ela}
PTR^:=28; {Y é alterada, pois PTR aponta para a posição de memória de Y}
WRITELN(X, ‘ = ‘,PTR^, ‘ = ‘,Y); {13 = 28 = 13}
END;
Estrutura Organização e Tratamento de Dados - 12º ano Luís Ceia
Não Lineares
• Árvores– Uma árvore binária é composta por nós.– Cada nó tem ramificações (uma para valores
superiores, outra para valores inferiores).– Cada nó inclui um campo chave e dois
apontadores para os nós correspondentes a cada uma das ramificações.
Estrutura Organização e Tratamento de Dados - 12º ano Luís Ceia
Árvores
• O primeiro elemento é colocado no topo da árvore.
• A partir daí cria-se uma ramificação para a esquerda, para os elementos de valor superior, e uma ramificação para a direita para os elementos de valor inferior.
Estrutura Organização e Tratamento de Dados - 12º ano Luís Ceia
Árvores• Suponhamos que procuramos o valor C
1- C é inferior a F(Topo), seguir pela direita.
2- C é superior a B, seguir pela esquerda.
3- Encontrámos C. a pesquisa está terminada.
F
R
CPV
B
A