Professional Documents
Culture Documents
TEMA 2 - Apresentacao - Estrutura de Dados
TEMA 2 - Apresentacao - Estrutura de Dados
EstruturadeDados
Aula1 Introduo Prof.AndrezaAreo
http://andrezaareao.blogspot.com/
Para a construo de bons modelos necessrio um bom conhecimento dos detalhes que compem a situao real, ser capaz de express-los por meio de uma estrutura de dados adequada e desenvolver um algoritmo adequado que atue sobre esta estrutura de dados.
Prof. Andreza Areo Estrutura de Dados Introduo 2
Sumrio
Introduo O que estrutura de dados? Tipo de Dados Abstratos (TDA) Descrio de um TDA Exemplo Exerccios
Introduo
Em um projeto de software, 2 aspectos devem ser considerados para sua implementao:
De que forma esto organizados os dados, qual a sua estrutura. Quais procedimentos atuam sobre estes dados, que operaes podem ser realizadas sobre eles.
Tipo de Dados
Tipos simples de dados ou, simplesmente, Tipos de Dados, so grupos de valores indivisveis, como os tipos bsicos: inteiros, real, caracteres e lgicos. Por exemplo, uma varivel do tipo inteiro pode assumir valores pertencentes ao conjunto dos nmeros inteiros.
Tipos Abstratos de Dados so tipos criados arbitrariamente pelo programador, sem que estejam definidos na linguagem de programao como Tipos de Dados primitivos. Na realidade, os Tipos Abstratos de Dados so unies de Tipos de Dados primitivos e, at mesmo, outros Tipos Abstratos de Dados, formando uma nica estrutura, semelhante a uma ficha com vrios campos. Os Tipos Abstratos de Dados devem ser previamente declarados antes de serem utilizados, ou seja, antes de ser declarada uma varivel com seu tipo. Um TAD pode ser visto como um modelo matemtico, acompanhado das operaes definidas sobre o modelo. O conjunto dos inteiros acompanhado das operaes adio, subtrao e multiplicao forma um exemplo de um Tipo Abstrato de Dados.
10
TDA nomeTDA:
Descrio de um TDA
Usaremos um formato especfico para descrever um TDA que inclui um cabealho com o nome da TDA, uma descrio do tipo do dado e uma lista de operaes. Para cada operao so especificados:
as entradas necessrias para executar a operao; as pr-condies que devem ser verificadas antes de executar a operao; o processo que deve ser executado; as sadas que devem ser obtidas aps a execuo do processo e retornadas da operao; as ps-condies, que indicam quaisquer alteraes que a execuo da operao em questo causou no dado.
dados:domniododado
operao2: . . . operaon:
fimTDA nomeTDA
Prof. Andreza Areo Estrutura de Dados Introduo 11 Prof. Andreza Areo Estrutura de Dados Introduo 12
TDAnro_racional : dado:consistededoisinteiros,oprimeiroonumeradoreosegundoodenominador operaes: multiplica: entradas:quatronmerosinteirossendoquecadapardenmerosrepresen ta umnmeroracional(n1/d1,n2/d2) prcondio:osdoisnmerosdevemservlidos,isto,d1ed2devemser diferentesdezero processo:seaprcondiofoiatendidacalcularamultiplicaode doisnmerosracionais:nr =n1*d1edr =d1*d2 sada:seaprcondiofoiatendidaretornaoresultadodamultiplica(nr/dr) casocontrrioretornaumnro racional0/0 pscondio:nenhuma
Exemplo em C
// definio do tipo typedef struct{ int numero; double saldo; }ContaBancaria;
soma: entradas:quatronmerosinteirossendoquecadapardenmerosrepresen ta umnmeroracional(n1/d1,n2/d2) prcondio:osdoisnmerosdevemservlidos,isto,d1ed2devemser diferentesdezero processo:seaprcondiofoiatendida,somarosdoisnmerosracionais Onumeradordonro resultanteobtidopor:nr =n1*d2+n2*d1 Odenominadordonro resultanteobtidopor:dr =d1*d2 sada:seaprcondiofoiatendidaretornaoresultadodasoma(nr/dr) casocontrrioretornaumnro racional0/0 psconido:nenhuma fimTDA nro_racional
13
14
Prximas Aulas
Estrutura de Dados Vetor Vetor ordenado Pilha Fila Lista ligada rvore binria Vantagem Insero rpida, acesso muito rpido se o ndice for conhecido. Pesquisa mais rpida que o vetor no ordenado Fornece acesso do tipo ltimo a entrar, primeiro a sair. Fornecer acesso do tipo primeiro a entrar, primeiro a sair Insero rpida, remoo rpida. Pesquisa, insero e remoo rpidas (se a rvore permanecer balanceada).
Estrutura de Dados Introduo
Exerccios de Fixao
Defina um TDA empregado para guardar os dados (nome, sobrenome, data de nascimento, RG, data de admisso, salrio) de um empregado de sua empresa.
Desvantagem Pesquisa lenta, remoo lenta, tamanho fixo. Insero e remoo lentas, tamanho fixo. Acesso lento para outros itens. Acesso lento para outros itens. Pesquisa lenta. O algoritmo de remoo complexo.
15
16