Download - Estruturas de Dados
![Page 1: Estruturas de Dados](https://reader036.vdocuments.pub/reader036/viewer/2022082819/56813de4550346895da7baa1/html5/thumbnails/1.jpg)
Estrutura Organização e Tratamento de Dados - 12º ano Luís Ceia
Estruturas de Dados
![Page 2: Estruturas de Dados](https://reader036.vdocuments.pub/reader036/viewer/2022082819/56813de4550346895da7baa1/html5/thumbnails/2.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022082819/56813de4550346895da7baa1/html5/thumbnails/3.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022082819/56813de4550346895da7baa1/html5/thumbnails/4.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022082819/56813de4550346895da7baa1/html5/thumbnails/5.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022082819/56813de4550346895da7baa1/html5/thumbnails/6.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022082819/56813de4550346895da7baa1/html5/thumbnails/7.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022082819/56813de4550346895da7baa1/html5/thumbnails/8.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022082819/56813de4550346895da7baa1/html5/thumbnails/9.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022082819/56813de4550346895da7baa1/html5/thumbnails/10.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022082819/56813de4550346895da7baa1/html5/thumbnails/11.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022082819/56813de4550346895da7baa1/html5/thumbnails/12.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022082819/56813de4550346895da7baa1/html5/thumbnails/13.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022082819/56813de4550346895da7baa1/html5/thumbnails/14.jpg)
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](https://reader036.vdocuments.pub/reader036/viewer/2022082819/56813de4550346895da7baa1/html5/thumbnails/15.jpg)
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