1 / 26

INE 5384 Estruturas de Dados Prof a . Patrícia Vilain 2003.2

INE 5384 Estruturas de Dados Prof a . Patrícia Vilain 2003.2. Conteúdo. 1. Introdução 2. Listas 3. Listas Ordenadas 4. Filas 5. Pilhas 6. Árvores • Árvore Binária e Árvore AVL • Árvore N-ária e Árvore B 7. Tabelas de Dispersão (Hashing) 8. Métodos de Ordenação de Dados.

Download Presentation

INE 5384 Estruturas de Dados Prof a . Patrícia Vilain 2003.2

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. INE 5384 Estruturas de Dados Profa. Patrícia Vilain 2003.2

  2. Conteúdo 1. Introdução 2. Listas 3. Listas Ordenadas 4. Filas 5. Pilhas 6. Árvores • Árvore Binária e Árvore AVL • Árvore N-ária e Árvore B 7. Tabelas de Dispersão (Hashing) 8. Métodos de Ordenação de Dados

  3. Introdução

  4. Introdução Programa de computador: Algoritmos + Dados As estruturas de dados são formas de distribuir e relacionar os dados disponíveis, de modo a tornar mais eficientes os algoritmos que manipulam esses dados.

  5. Exemplos Problema 1: Manipular um conjunto de fichas em um fichário. Solução: Organizar as fichas em ordem alfabética. Operações possíveis: Inserir ou retirar uma ficha, procurar uma ficha, etc. Estrutura de dados correspondente: ???

  6. Exemplos Problema 1: Manipular um conjunto de fichas em um fichário. Solução: Organizar as fichas em ordem alfabética. Operações possíveis: Inserir ou retirar uma ficha, procurar uma ficha, etc. Estrutura de dados correspondente: LISTA (seqüência de elementos dispostos em ordem)

  7. Exemplos Problema 2: Organizar as pessoas que querem ser atendidas em um guichê. Solução: Colocar as pessoas em fila. Operações possíveis: Quando uma pessoa é atendida, ela sai da fila; pessoas podem entrar no final da fila; não é permitido “furar” a fila. Estrutura de dados correspondente: ???

  8. Exemplos Problema 2: Organizar as pessoas que querem ser atendidas em um guichê. Solução: Colocar as pessoas em fila. Operações possíveis: Quando uma pessoa é atendida, ela sai da fila; pessoas podem entrar no final da fila; não é permitido “furar” a fila. Estrutura de dados correspondente: FILA (seqüência de elementos dispostos de maneira que o primeiro que chega é o primeiro que sai)

  9. Exemplos Problema 3: Organizar um conjunto de pratos que estão sendo lavados, uma a um, em um restaurante. Solução: Colocar os pratos empilhados. Operações possíveis: Colocar um prato limpo no alto da pilha; retirar um prato do alto da pilha; etc. Estrutura de dados correspondente: ???

  10. Exemplos Problema 3: Organizar um conjunto de pratos que estão sendo lavados, uma a um, em um restaurante. Solução: Colocar os pratos empilhados. Operações possíveis: Colocar um prato limpo no alto da pilha; retirar um prato do alto da pilha; etc. Estrutura de dados correspondente: PILHA (seqüência de elementos dispostos de maneira que o último que chega é o primeiro que sai)

  11. Exemplos Problema 4: Conseguir um modo de visualizar o conjunto de pessoas que trabalham em uma empresa, considerando sua função. Solução: Construir um organograma da empresa. Operações possíveis: Inserir ou retirar certas funções, localizar uma pessoa, etc. Estrutura de dados correspondente: ???

  12. Exemplos Presidente Diretor Comercial Diretor Administrativo Diretor de Planejamento Gerente Depto A Gerente Depto B Gerente Depto C Gerente Depto D Gerente Depto E Gerente Depto F

  13. Exemplos Problema 4: Conseguir um modo de visualizar o conjunto de pessoas que trabalham em uma empresa, tendo em conta sua função. Solução: Construir um organograma da empresa. Operações possíveis: Inserir ou retirar certas funções, localizar uma pessoa, etc. Estrutura de dados correspondente: ÁRVORE (estrutura de dados que caracteriza uma relação de hierarquia entre os elementos)

  14. Exemplos Presidente Diretor Comercial Diretor Administrativo Diretor de Planejamento Gerente Depto A Gerente Depto B Gerente Depto C Gerente Depto D Gerente Depto E Gerente Depto F

  15. Estrutura de Dados A eficiência de um algoritmo está intimamente relacionada com a estrutura de dados utilizada pelo programa.

  16. Disciplina: INE 5384 – Estruturas de Dados Semestre: 2003/2 Turma: B Matrícula Nome 99065-4 Adriana 97177-9 Adriano ... 97143-3 Ana ... ... 98996-3 Zaqueu Exemplo - Folha de Chamada Exemplo: Programa para a geração da folha de chamada das disciplinas Manipula dados a respeito de nomes de alunos

  17. Exemplo - Folha de Chamada • Como organizar (estruturar) estes dados de modo que possam ser manipulados pelos algoritmos do programa? • Modelagem Lógica: definição de uma estrutura lógicapara manter os dados e seus relacionamentos. • Modelagem Física: implementação da estrutura lógica em uma estrutura física disponível em uma linguagem de programação.

  18. Modelagem Lógica • Definição de uma estrutura abstrata(estrutura lógica) para manter os dados e seus relacionamentos. Exemplo: estrutura para representar os nomes de alunos Lista  Por quê uma Lista? • Porque existe a noção de seqüência: • Relacionamentos sucessor e predecessor / primeiro e último • Esta noção é importante para as operações do programa: • Ordenar, pesquisar Adriana Adriano Ana . . . Zaqueu

  19. 1 2 3 . . . 34 . . . 50 Adriana Adriano Ana . . . Zaqueu . . . Modelagem Física • Implementação da estrutura lógica em uma estrutura de armazenamento(estrutura física) disponível em uma linguagem de programação. Exemplo: implementacão da lista de nomes de alunos usando um Array ListaAlunos:

  20. Modelagem Física Diversas alternativas de estruturas físicas podem implementar uma estrutura lógica: • Array • Encadeamento (uso de referências) Neste curso, as estruturas de dados serão implementadas usando OO.

  21. Modelagem Física A escolha pela melhor alternativa de estrutura física depende de alguns fatores: • Número de dados fixo ou variável • Quantidade de dados • Operações a realizar sobre os dados • ...

  22. Modelagem Física Exemplos de avaliação de fatores: • Necessita-se pesquisar um número fixo de dados em uma lista: Array pode ser a melhor opção • Necessita-se inserir freqüentemente novos dados na lista de forma ordenada: Encadeamento pode ser a melhor opção

  23. Estrutura de Dados Exemplos de estruturas de dados • Listas • Filas • Árvores • Pilhas • Grafos • . . .

  24. Estruturas de Dados Aplicadas a várias áreas da Ciência da Computação: • Banco de Dados: • Resultados de consulta (listas de dados) • Indexação de arquivos de dados (árvores de busca) • Sistemas Operacionais: • Controle de processos (filas de espera por recurso) • Computação Gráfica: • Manipulação de imagens (matrizes) • Compiladores: • Validação de instruções de uma LP - (pilha de instruções sendo reconhecidas)

  25. Estrutura de Dados e T.A.D. Uma estrutura de dados é um T.A.D. Tipo Abstrato de Dados (T.A.D.): abstração de um dado do mundo real: • Ênfase em atributos e operações (métodos) relevantes sobre elas • Omissão de atributos irrelevantes Exemplo: T.A.D. Pessoa • Abstração 1 • Atributos: nome, estadoCivil, sexo • Métodos: informaSexo, alteraEstadoCivil • Abstração 2 • Atributos: nome,idade, peso, altura • Métodos: fazAniversário, alteraPeso

  26. Estrutura de Dados e T.A.D. Uma estrutura de dados é um T.A.D. possui atributos e métodos Exemplo: ListaAlunos • Atributos: • VetorAlunos: vetor de 50 posições de inteiros • Tamanho: número de dados no vetor • Métodos: • InsereAlunoOrdenado (Aluno a) • RetornaPosiçãoAluno (Alunoa) • EstáCheia?

More Related