Você está na página 1de 21

Cadeira: EAD

2022
➢ Estruturas de Dados,
➢ Tipo abstrado de dados,
➢ Pilha
➢ Exercícios,
➢ Definir dados, estruturas de dados, classes
e classes abstratas,
➢ Listar Tipos abstratos de dados,
➢ Criar e manipular uma pilha atraves de
arrays.
➢ Dado representação formalizada de fatos ou
idéias, capaz de ser comunicada ou
manipulada por algum processo.

➢ Estruturas de dados: conjunto de valores e da


maneira como se relacionam.
Ex: estrutura de dados inteiros:
Conjunto de valores + relações
(1,2,3,4) (+, -, *, /, %)
➢ Estruturas de dados e Algoritmos: eles estão
intimamente ligados:
❖ Não se pode estudar estruturas sem
considerar os algoritmos associados a ela,
❖ Assim como a escolha de algoritmos em
geral depende da representação e da
estrutura de dados.

➢ Para resolver um problema é necessário


escolher uma abstração da realidade,
mediante a definição de um conjunto de
dados que representa a situação real.
➢ Uma Classe é um tipo com uma eventual
implementação.

➢ Uma classe abstrata é uma classe que


anuncia métodos para os quais não
apresenta implementação, isto é, não é
possível criar objectos de uma classe deste
género.

➢ Programas são formulações concretas de


algoritmos abstratos baseados em
representações e estruturas específicas de
dados
➢ TAD são usados extensivamente como base
para o projecto de algoritmos.

➢ A implementação do algoritmo em uma


linguagem de programação específica exige a
representação do TAD em termos dos tipos
de dados e dos operadores suportados,

➢ A representação do modelo abstrato de


dados é realizado mediante uma estrutura de
dados.
➢ Os TAD que iremos abordar são:
❖ Pilhas,
❖ Filas,
❖ Listas e Listas ligadas
❖ Arvores e arvores de buscas
❖ Tabela de hash
Conceitos
Operações
Implementação
Exercícios Práticos
➢ Pilha é um tipo abstrato de dados e estrutura
de dados baseado no princípio de LIFO (Last
In First Out).

➢ Todas as operações (inserção, eliminação,


pesquisa) na Pilha é realizada pela mesma
extremidade
➢ São exemplos de uso de pilhas em sistemas:
❖ Funções recursivas em compiladores,
❖ Mecanismo de desfazer/refazer dos editores
de texto,
❖ Navegação de páginas web,
❖ Analise de expressões aritméticas, etc

➢ A implementação de pilhas pode ser


efectuada através de vector(Array) ou através
de listas encadeadas.
➢ push(): inserir um novo elemento na pilha,
➢ pop(): remover um elemento do topo da
pilha,
➢ peek(): devolver o elemento que esta no topo,
➢ getSize(): devolver o tamanho da pilha,
➢ print(): mostrar o conteúdo da pilha,
➢ isFull(): verificar se a oilha esta cheia,
➢ isEmpty(): verificar se a pilha esta vazia,
1. Implemente os métodos:
a) getSize()
b) isFull()
1. Implemente os métodos:
a) getSize()
b) isFull()

Você também pode gostar