Estruturas de Dados

15
Estrutura Organização e Tratamento de Dados - 12º ano Luís Ceia Estruturas de Dados

description

Estruturas de Dados. 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. Simples. Inteiros Guardam valores sem casa decimais - PowerPoint PPT Presentation

Transcript of Estruturas de Dados

Page 1: Estruturas de Dados

Estrutura Organização e Tratamento de Dados - 12º ano Luís Ceia

Estruturas de Dados

Page 2: 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

Page 3: Estruturas de Dados

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

Page 4: Estruturas de Dados

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

Page 5: Estruturas de Dados

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

Page 6: Estruturas de Dados

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

Page 7: Estruturas de Dados

Estrutura Organização e Tratamento de Dados - 12º ano Luís Ceia

Comprimento Variável

• Listas– Lineares

• Pilhas, Filas, Ficheiros

– Não Lineares• Árvores

Page 8: Estruturas de Dados

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;

Page 9: Estruturas de Dados

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.

Page 10: Estruturas de Dados

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

Page 11: Estruturas de Dados

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

Page 12: Estruturas de Dados

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;

Page 13: Estruturas de Dados

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.

Page 14: Estruturas de Dados

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.

Page 15: Estruturas de Dados

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