You are on page 1of 4

Introduo

Na programao de computadores precisamos criar modelos.

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.

Prof. Andreza Areo

Estrutura de Dados Introduo

Prof. Andreza Areo

Estrutura de Dados Introduo

O que estrutura de dados?


Agrupamentos de informaes com um significado completo que normalmente so representados em estruturas de arranjos de dados, ou para as quais possam ser definidas operaes prprias de conjuntos, tais como unio e interseco, ou ordenao e tratamento de repetio de valores (listas, filas, pilhas); Estruturas de dados so formas genricas de se estruturar informao de modo a serem registradas e processadas pelo computador. Contudo, estas s adquirem significado quando associadas a um conjunto de operaes, que visam, de um modo geral, manipul-las (algoritmos).

Por que estudar ED?


As ED servem para organizar as informaes em um padro ou formato a fim de acess-los ou recuper-los de forma mais apropriada ou mais rpida. H vrias maneiras de organizar os dados de forma estruturada, sendo que a estrutura escolhida deve favorecer a um princpio especfico do sistema como exemplo: melhorar o acesso aos dados ou mesmo melhorar a performance de acesso;

Prof. Andreza Areo

Estrutura de Dados Introduo

Prof. Andreza Areo

Estrutura de Dados Introduo

Por que estudar ED?


Os dados podem ser organizados em diferentes formas, porm, h algumas delas que so muito populares e bastante utilizadas, como Lista, Fila e Pilha. Pode-se organizar os dados em forma de lista (sequncia) para facilitar uma possvel busca ou mesmo para simplesmente organizar. Pode-se organizar os dados em forma de fila para representar uma ordem de entrada e sada dos dados como uma fila de banco onde o primeiro a entrar o primeiro a sair.
Prof. Andreza Areo Estrutura de Dados Introduo 7

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.

Prof. Andreza Areo

Estrutura de Dados Introduo

Tipo de Dados Abstratos (TDA)


Geralmente as aplicaes computacionais necessitam armazenar informaes compostas de diversos Tipos de Dados, semelhantes ou no. Por exemplo, o cadastro de clientes de uma empresa, armazena informaes do tipo: nome, endereo, telefone, identidade, etc. Para podermos armazenar esse tipo de informao, utilizamos um tipo conhecido como Tipo Abstrato de Dados (TAD).
Prof. Andreza Areo Estrutura de Dados Introduo 9

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.

Prof. Andreza Areo

Estrutura de Dados Introduo

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

operaes: operao1: entradas: prcondio: processo: sada: pscondio:

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

Prof. Andreza Areo

Estrutura de Dados Introduo

13

Prof. Andreza Areo

Estrutura de Dados Introduo

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.

Prof. Andreza Areo

15

Prof. Andreza Areo

Estrutura de Dados Introduo

16

You might also like