ESTRUTURAS DE DADOS II

Propaganda
ESTRUTURAS
DE DADOS II
MSC. DANIELE CARVALHO OLIVEIRA
MESTRE EM CIÊNCIA DA COMPUTAÇÃO – UFU
BACHAREL EM CIÊNCIA DA COMPUTAÇÃO - UFJF
Estruturas de Dados II: Msc. Daniele C. Oliveira
2
INTRODUÇÃO
Estruturas de Dados II: Msc. Daniele C. Oliveira
3 ALGORITMOS
• Sequência de ações executáveis para a obtenção de uma
solução para um determinado tipo de problema.
Segundo Dijkstra, um algoritmo corresponde a uma descrição
de um padrão de comportamento, expresso em termos de um
conjunto finito de ações.
Estruturas de Dados II: Msc. Daniele C. Oliveira
4 ESTRUTURAS DE DADOS
• Estruturas de Dados e Algoritmos estão intimamente ligados:
• Não se pode estudar estruturas de dados sem considerar os
algoritmos associados a elas;
• Assim como a escolha dos algoritmos em geral depende da
representação e da estrutura dos dados
• Para resolver um problema é necessário escolher uma
abstração da realidade, em geral mediante a definição de um
conjunto de dados que representa a situação real.
Estruturas de Dados II: Msc. Daniele C. Oliveira
5 TIPOS DE DADOS
• Tipos de Dados: Refere-se ao conjunto de valores que uma
constante ou variável pode assumir.
• Tipos Primitivos: números, valores lógicos, caracteres; comuns na maioria
das linguagens: int, float, char, boolean
• Tipos Abstratos de Dados: conjunto de valores e as operações
que serão efetuadas sobre esses valores.
• Modelo Matemático, acompanhado das operações definidas sobre ele.
• A representação do modelo matemático por trás do TAD é realizada
mediante uma estrutura de dados
Estruturas de Dados II: Msc. Daniele C. Oliveira
6 POR QUE ESTUDAR ESTRUTURAS
DE DADOS
• Identificar e desenvolver modelos matemáticos,
determinando classes de problemas que podem ser
resolvidos com o uso delas.
• Criar representações concretas de objetos e desenvolver
rotinas capazes de atuar sobre estas representações, de
acorde com o modelo considerado.
Estruturas de Dados II: Msc. Daniele C. Oliveira
7 ESTRUTURAS DE DADOS
HOMOGÊNEAS
• Permite agrupar diversas informações dentro de uma mesma
variável. Este agrupamento deverá obedecer sempre ao mesmo
tipo de dado.: Ex: Matrizes e Vetores
• Matrizes de uma Dimensão (Unidimensionais) ou Vetores - Os
elementos de um vetor são acessados por meio de índices de
valor inteiro
• Pascal » o 1º Elemento corresponde ao índice 1
• Java, C » o 1º Elemento corresponde ao índice 0
• Não é possível operar diretamente sobre um vetor como um todo, mas
apenas sobre seus componentes.
• Tem grande aplicação na pesquisa e classificação de dados.
Estruturas de Dados II: Msc. Daniele C. Oliveira
8 ESTRUTURAS DE DADOS
HOMOGÊNEAS
• Matrizes com mais de uma dimensão
• Definida por uma única variável de dimensão de determinado
tamanho > 1
• Do mesmo modo que em matrizes unidimensionais, não é possível
operar sobre a matriz como um todo, apenas sobre seus componentes.
Estruturas de Dados II: Msc. Daniele C. Oliveira
9 ESTRUTURAS DE DADOS
HETEROGÊNEAS
• É uma estrutura composta por um conjunto de variáveis de
tipos diferentes, logicamente relacionados. O tipo mais
comum é o registro.
Estruturas de Dados II: Msc. Daniele C. Oliveira
10 TADS
• Listas (Estáticas/Dinâmicas, Sequenciais/Dinâmicas)
• Pilha - LIFO
• Fila - FIFO
• Fila Dupla
Estruturas de Dados II: Msc. Daniele C. Oliveira
11 TADS
• Operações Possíveis
• Acessar qualquer elemento da lista
• Remover um elemento de uma posição específica da lista
• Combinar duas listas em uma
• Dividir uma lista em duas
• Obter cópias de uma lista
• Determinar o total de elementos de uma lista
• Ordenar os elementos de uma lista
• Buscar elementos na lista...
Estruturas de Dados II: Msc. Daniele C. Oliveira
12 ÁRVORES
• Filas, Pilhas.. – Estruturas Lineares
• Árvores – Estrutura não Linear
• Árvores N-árias
• Árvores Binárias
• Árvores Binárias de Busca (ABB ou ABP)
• Árvores B
• Árvores AVL
• Percurso em Árvores
DESAFIO – CONSTRUA A
ÁRVORE
•PRÉ – ORDEM:
•A B C F H D L M P N E G I
•IN – ORDEM:
•F C H B D L P M N A I G E
ESTRUTURAS DE
DADOS II: MSC.
DANIELE C. OLIVEIRA
13
Estruturas de Dados II: Msc. Daniele C. Oliveira
14
Extra
• URI
• 1119; 1451; 1463; 1466; 1211; 1062; 1063; 1242; 1340; 1438; 1110;
1425; 1633; 1897; 1215; 1200; 1201; 1696; 1861
Estruturas de Dados II: Msc. Daniele C. Oliveira
15
FIM DA AULA 2
Próxima aula:
Busca
Download