Você está na página 1de 23

Estruturas de dados

INE5609

Revisão
Conceitos Gerais
José Eduardo De Lucca
UFSC
Programas

ALGORITMOS
+
DADOS
Programas

ALGORITMOS
+
DADOS
Niklaus Wirth

As estruturas de dados são formas de organizar e relacionar os dados

para tornar mais eficientes os algoritmos que manipulam esses dados.


Exemplos

Dados organizados em

listas tabelas árvores ...

A eficiência de um algoritmo está intimamente relacionada


com a estrutura de dados utilizada pelo programa.
Modelagem lógica

Qual estrutura lógica que deve ser usada para resolver o
problema?

Exemplo: em um programa que preciso manter nomes
respeitando:
– Primeiro e último
– Relação sucessor/predecessor
– Noção de sequência
– Ordenar
– Procurar
Modelagem lógica

Qual estrutura lógica que deve ser usada para resolver o
problema?

Exemplo: em um programa que preciso manter nomes
respeitando:
– Primeiro e último
– Relação sucessor/predecessor
– Noção de sequência LISTA?
– Ordenar
– Procurar
Modelagem Física

Uma estrutura física (disponível na linguagem de programação adotada)
que dê suporte à modelagem lógica
– Primeiro e último
– Relação sucessor/predecessor
– Noção de sequência
– Ordenar
– Procurar

Quais estruturas físicas estão disponíveis na linguagem de programação?
Modelagem Física

Uma estrutura física (disponível na linguagem de programação adotada)
que dê suporte à modelagem lógica
– Primeiro e último
– Relação sucessor/predecessor
– Noção de sequência
– Ordenar
– Procurar

Quais estruturas físicas estão disponíveis na linguagem de programação?

Inocêncio Hipólito Nazaré ... Zaqueu


Modelagem Física

Uma estrutura física (disponível na linguagem de programação
adotada) que dê suporte à modelagem lógica

Quais estruturas físicas estão disponíveis na linguagem de
programação?

Inocêncio Hipólito Nazaré ... Zaqueu

Array

Inocêncio Hipólito Nazaré ... Zaqueu


Encadeamento
Modelagem física

Depende de vários fatores:
– O número de dados será fixo ou variável
– A quantidade total de dados (muitos ou poucos)
– Quais operações deverão ser realizadas

Tipo de acesso,

Tipo de inserção (no fim, no meio),

Ordenação,

etc…

Há uma interrelação entre


Modelagem Física e Lógica
Tipos de dados
Python Java

x=5 int x;
f = 6.0 float f;
s = “hello” String s;

O que essas “declarações”


dizem?
TIPOS DE DADOS

int x; ou x = 5;

O que esses comandos estão dizendo?


TIPOS DE DADOS

int x; ou x = 5;

Valores possíveis

Operações possíveis
TIPO ABSTRATO DE DADOS

TAD e Orientação a Objetos
– Encapsulamento
– Segurança
– Flexibilidade
– Reuso
– MODULARIZAÇÃO
TIPO ABSTRATO DE DADOS

Abstrato? WTF?
– Classe abstrata – o que é?

Lista Array...
Tabela ...
TIPO “concreto” DE DADOS

Lista de pessoas Array de inteiros


Tabela de alunos
Tipo abstrato de dados

Um Tipo Abstrato de Dados (TAD) é um modelo matemático de
uma estrutura de dados que especifica:
– As operações definidas sobre essa estrutura de dados
– E isso define um certo “comportamento” dessa estrutura
– Que funcionará igual sempre, não importando o tipo de dado básico
que será colocado lá!

Tipo ABSTRATO DE DADOS ●
Tipo “concreto” de dados

– Ideal – Real
– Conceitual – Instância de um TAD
– Matemático (às vezes) – Programado
– Comportamento – Segue o comportamento
– Define O QUÊ faz definido com dados reais

E não COMO faz...
This work is licensed under a Creative Commons
Attribution-ShareAlike 3.0 Unported License.
It makes use of the works of Mateus Machado Luna.

Você também pode gostar