Sei sulla pagina 1di 36

INF 01126

Estruturas de Dados
Prof. Daltro José Nunes
Profa. Renata de Matos Galante

UFRGS – NF 01126 - Estruturas de Dados – Matemá


Matemática
Dados Gerais

– Email: galante@inf.ufrgs.br
– Prédio: 72 (43.424)
– Sala: 221
– Ramal: 3308 7746

UFRGS – NF 01126 - Estruturas de Dados – Matemá


Matemática
Conteúdo

• Objetivo da disciplina
• Pré-requisitos
• Conceitos de Estruturas de Dados
• Estruturas a serem estudadas
• Organização da Disciplina e Critérios de
Avaliação

UFRGS – NF 01126 - Estruturas de Dados – Matemá


Matemática
Tipos de Dados

• Tipos Primitivos
– Inteiro, real, lógico e caractere
• Tipos Construídos
– Vetores e matrizes
– Registros
– Seqüências (conjuntos)
– Referências (ponteiros)

UFRGS – NF 01126 - Estruturas de Dados – Matemá


Matemática
Tipos e Estruturas de Dados

• Representação dos funcionários e alunos


da UFRGS
–Tipo de dado ? ? ? ? ?
– Representação hierárquica

UFRGS – NF 01126 - Estruturas de Dados – Matemá


Matemática
Estruturas de Dados
Diretor
Hierarquia
Chefe Chefe
Depto INA Depto INT

Professores Funcionários Professores Funcionários

Alunos Alunos

Como representar com os tipos da LP?

UFRGS – NF 01126 - Estruturas de Dados – Matemá


Matemática
Tipos e Estruturas de Dados

• Tipos de Dados
– Construção (hierárquica) de tipos
• Fornecido pelo LP
• Estruturas de Dados
– Estruturação conceitual dos dados
– Reflete um relacionamento lógico entre
dados (no problema considerado)

UFRGS – NF 01126 - Estruturas de Dados – Matemá


Matemática
Exemplo em LP

Programa de Computador

Algoritmos + Dados
Devem estar organizados
de alguma forma!!!!

UFRGS – NF 01126 - Estruturas de Dados – Matemá


Matemática
Aplicação

• Programa de Computador
– Sistema de matrícula
• Programa para geração de folha de freqüência
da disciplina

UFRGS – NF 01126 - Estruturas de Dados – Matemá


Matemática
Aplicação

• Folha de freqüência
Disciplina: INF 01126 – Estruturas de Dados
Semestre: 2008-1 Turma: U
Professor: Renata Galante

matricula nome ... ... ...


XXXX Ana
ZZZZ Maria
YYYY Pedro

Programa: manipula dados a respeito


dos alunos matriculados

UFRGS – NF 01126 - Estruturas de Dados – Matemá


Matemática
Aplicação

• Folha de Freqüência
– Exemplos de operações sobre os dados dos
alunos
• Buscar os nomes dos alunos e armazenar na
memória
• Ordenar os nomes
• Pesquisar os nomes ordenados para imprimir a
folha de freqüência

UFRGS – NF 01126 - Estruturas de Dados – Matemá


Matemática
Aplicação na LP

• Estruturação de uma Estrutura de Dados


– Um ponto de partida
– Uma relação de acessibilidade
– Operações de caminhamento
– Atribuição de valores

Esses níveis não estão disponíveis na LP!!!!

UFRGS – NF 01126 - Estruturas de Dados – Matemá


Matemática
PROBLEMA!

• Como organizar (estruturar) esses


dados para que possam ser
manipulados pelos algoritmos dos
programas?

MODELAGEM DE DADOS
UFRGS – NF 01126 - Estruturas de Dados – Matemá
Matemática
Objetivo da Disciplina

• Estudo das principais técnicas de


representação e manipulação
de dados na memória principal

UFRGS – NF 01126 - Estruturas de Dados – Matemá


Matemática
Objetivo da Disciplina

• Estudo das principais técnicas de


representação e manipulação
de dados na memória principal

MODELOS OPERAÇÕES

UFRGS – NF 01126 - Estruturas de Dados – Matemá


Matemática
Modelagem de Dados
mundo real

Identificação dos Dados


Abstração do mundo real
MODELO LÓGICO
Relacionamentos entre os dados
DADOS + OPERAÇÕES

MODELO FÍSICO
Alternativas de implementação
ALGORITMOS PARA AS OPERAÇÕES

UFRGS – NF 01126 - Estruturas de Dados – Matemá


Matemática
1 – Identificação dos Dados
ABSTRAÇÃO DADOS
REALIDADE

ABSTRAÇÃO = OMISSÃO DE DETALHES IRRELEVANTES

<PESO>
ANIMAL <PESO,MEIO>
<PESO,MEIO,ESPÉCIE>

<NOME>
PESSOA
Exemplos <NOME,D.NASC.>
<NOME,D.NASC.,CIC,RG>
<NOME,ALTURA,PESO>

C1 C2
MALHA
RODOVIÁRIA C5 C3
C4

UFRGS – NF 01126 - Estruturas de Dados – Matemá


Matemática
2 – Modelo Lógico
1. Entender as relações lógicas Ordem linear
existentes entre os dados, pai / filhos
relevantes ao problema ...

Criação
Manutenção
Inserção de componente
2. Identificar as Remoção de componente
operações Alteração de componente
sobre estes dados Consulta
Destruição
Outras
UFRGS – NF 01126 - Estruturas de Dados – Matemá
Matemática
3 – Modelo Físico

• Escolher a representação física


– Preservar as relações lógicas
– Permitir operações através de procedimentos
simples e eficientes

As operações definidas sobre os dados


influenciam decisivamente na escolha da
representação física a ser adotada

UFRGS – NF 01126 - Estruturas de Dados – Matemá


Matemática
Níveis de Abstração
Mundo Objetos reais sem omissão de detalhes
Real

Informações relevantes Selecionadas aquelas informações relevantes para as


para o sistema aplicações consideradas
Depto, Emp, Veículo, etc.

Tipos Abstratos de Dados Componentes e operações dos diversos Tipos de Dados,


(TAD) abstraídos detalhes e implementação:
CADASTRO(insere, remove, ... )

Estrutura Lógica Esquemas de representação dos dados e detalhamento


e Algoritmos das operações definidas sobre tais esquemas

Representação física dos dados e programas que


Estrutura Física implementam as operações (o nível físico pode
e Programas corresponder a tipos primitivos de uma linguagem de
UFRGS – NF 01126 - programação)
Estruturas de Dados – Matemá
Matemática
Exemplos

• Identificar as estruturas de dados


apropriadas para as seguintes aplicações:
– Tele-entregas de uma pizzaria Î ?
– Linhas de ônibus Î ?
– Lista telefônica Î ?

UFRGS – NF 01126 - Estruturas de Dados – Matemá


Matemática
Estruturas de Dados
A serem vistas
Listas Lineares

Árvores
• formas de estruturar os dados
Grafos • opções para armazenamento físico
• algoritmos de manipulação
UFRGS – NF 01126 - Estruturas de Dados – Matemá
Matemática
Lista Linear
• Relação de ordem
• Linear - seqüencial

a b c d
Ex:
aplicação: empresa
problema: dados dos funcionários

UFRGS – NF 01126 - Estruturas de Dados – Matemá


Matemática
Árvore a

b c
• Relação de subordinação

d e f g h

Ex:
i j k l
aplicação: empresa
problema: organograma de funções
UFRGS – NF 01126 - Estruturas de Dados – Matemá
Matemática
Grafos
2
1

• Possibilidade de
relacionamento entre
quaisquer nodos 4

Ex:
5
aplicação: empresa
problema: circulação de documentos na empresa
UFRGS – NF 01126 - Estruturas de Dados – Matemá
Matemática
Alternativas de Representação
Física

Contigüidade física posicional - implícita

Encadeamento
posições aleatórias - ordem explícita

A posição do componente na
estrutura lógica determina sua
posição na estrutura física
UFRGS – NF 01126 - Estruturas de Dados – Matemá
Matemática
De volta ao Exemplo ...

• Folha de freqüência
Disciplina: INF 01126 – Estruturas de Dados
Semestre: 2008-1 Turma: U
Professor: Renata Galante

matricula nome ... ... ...


XXXX Ana
ZZZZ Maria
YYYY Pedro

UFRGS – NF 01126 - Estruturas de Dados – Matemá


Matemática
De volta ao Exemplo ...

• Folha de freqüência
– Modelo Lógico
• Estrutura abstrata para manter o relacionamento
entre os dados

UFRGS – NF 01126 - Estruturas de Dados – Matemá


Matemática
De volta ao Exemplo ...

• Folha de freqüência
– Modelo Lógico
• Estrutura abstrata para manter o relacionamento
entre os dados: LISTA

Ana Maria Pedro

UFRGS – NF 01126 - Estruturas de Dados – Matemá


Matemática
De volta ao Exemplo ...

• Folha de freqüência
– Modelo Físico
• Implementa a estrutura lógica em uma estrutura
de armazenamento (estrutura física) em uma
linguagem de programação

UFRGS – NF 01126 - Estruturas de Dados – Matemá


Matemática
De volta ao Exemplo ...

• Folha de freqüência
– Modelo Físico
• Implementa a estrutura lógica em uma estrutura
de armazenamento (estrutura física) em uma
linguagem de programação: ARRAY

vetor de alunos Ana Maria Pedro

UFRGS – NF 01126 - Estruturas de Dados – Matemá


Matemática
Modelo Físico

• Diversas alternativas de estruturas físicas


podem implementar uma mesma estrutura
lógica
– Vetores
– Matrizes
– Conjuntos
– Ponteiros

UFRGS – NF 01126 - Estruturas de Dados – Matemá


Matemática
Modelo Físico

• A escolha pela melhor alternativa de


estrutura física depende de alguns fatores
– Volume de dados
– Número (quantidade) de dados
• Fixo ou variável
– Operações realizadas sobre os dados

UFRGS – NF 01126 - Estruturas de Dados – Matemá


Matemática
Estruturas de Dados

• Estruturas de dados no contexto de


construção de programas
• Formas diferentes de estruturar os dados
• Dados e Operações

UFRGS – NF 01126 - Estruturas de Dados – Matemá


Matemática
Pré-requisitos
• programação básica segundo paradigma
procedimental
– incluindo programação “fluente” usando funções, procedimentos
e passagem de parâmetros
• variáveis simples
– inteiro, real, caracter, lógico,...
• variáveis estruturadas
– arranjo
– registro
– conjunto
– arquivo
– ponteiro (e alocação dinâmica de memória)
– recursividade

UFRGS – NF 01126 - Estruturas de Dados – Matemá


Matemática
Regras para a Disciplina

ww.inf.ufrgs.br/~galante/

)Teaching
)Graduação: INF 01126

Mantenha-se atualizado!

UFRGS – NF 01126 - Estruturas de Dados – Matemá


Matemática

Potrebbero piacerti anche