·

Cursos Gerais ·

Linguagens de Programação

Send your question to AI and receive an answer instantly

Ask Question

Preview text

Plano de Ensino Professor Carga Horária Semestral Carga Horária Semanal Carga Teórica Carga Prática Curso SemestreAno Sigla Disciplina PETER JANDL JUNIOR 80 4 IED001 Estruturas de Dados Tecnologia em Análise e Desenvolvimento de Sistemas 2 2 1o Semestre2022 Ementa Pilhas filas alocação dinâmica recursividade listas encadeadas tabelas de espalhamento e árvores Objetivo Criar e manipular tipos abstratos de dados listas pilhas filas e árvores Metodologia Expositivoprática Avaliação Prática Expositiva Critérios de Avaliação Fórmula MAX 030ATV 017P1 018P2 035T 05030ATV 017P1 018P2 035T 05EX Legendas Atividades Atividades em sala e extrasala Atividades em sala e extrasala Prova 1 Avaliação TeóricoPrática Avaliação TeóricoPrática P1 Prova 2 Avaliação TeóricoPrática Avaliação TeóricoPrática P2 Trabalho TrabalhoProjeto da disciplina TrabalhoProjeto Exame Avaliação TeóricoPrática Final Exame Plano de Aula 1 Introdução às estruturas de dados e Revisão Java Apresentação da disciplina Motivações para o estudo das estruturas de dados Importância das estruturas de dados no desenvolvimento de software Revisão da sintaxe Java tipos primitivos variáveis operadores expressões entrada e saída básicas Estruturas de decisão Estruturas de repetição Exemplos e exercícios 2 Tipos abstratos de dados TAD Tipos Abstratos de Dados TAD conceitos Interfaces e separação da implementação Tipos de operações Modelagem de classes que representam tipos abstratos de dados 3 Programação Orientada a Objeto POO Introdução a Programação Orientada a Objeto POO Classes atributos métodos e construtores Instanciação e Objetos Exemplos 4 Pilhas com alocação sequencial e Pilhas com alocação sequencial e sua aplicação O TAD Pilha Pilhas com alocação sequencial Conceito e operações O TAD Pilha implementação e aplicação 5 Filas com alocação sequencial e sua aplicação O TAD Fila Filas com alocação sequencial Conceito e operações implementação e aplicação Exemplos e exercícios 6 Listas com alocação sequencial e sua aplicação O TAD Lista Listas com alocação sequencial Conceito e operações Implementação e aplicação Exemplos e exercícios 7 Generalização das estruturas lineares com alocação sequencial e Alocação não sequencial Generalização das estruturas lineares com alocação sequencial Uso da estratégia de decoração decorator pattern Alocação não sequencial Comparação com alocação sequencial Endereços ponteiros e referências Técnica de encadeamento simples 8 Resolução de dúvidas Orientações para avaliação P2 e resolução de dúvidas 9 Avaliação P1 Avaliação teóricoprática P1 10 Ordenação e Pesquisa Introdução ao estudo da complexidade computacional Impacto do tipo de complexidade no custo computacional de algoritmos Tipos de complexidade Conceitos sobre classificaçãoordenação de dados Características dos algoritmos de ordenação Algoritmos de ordenação clássicos Comparação da eficiência dos algoritmos Responsavel pela Disciplina Coordenador pelo Curso PETER JANDL JUNIOR BENEDITO CRISTIANO APARECIDO PETRONI Plano de Ensino de ordenação Conceitos sobre pesquisabusca de dados Algoritmos de pesquisa clássicos Exercícios propostos 11 Listas ligadas simples e sua aplicação Listas ligadas com encadeamento simples Implementação Exemplos de aplicações Comparação entre listas ligadas simples e listas com armazenamento sequencial Exercícios 12 Pilhas e Filas com encadeamento simples e duplo Uso da técnica de encadeamento simples e duplo para implementação de pilhas e filas Exemplos e aplicações 13 Recursividade e Árvores Recursividade conceito Recursão direta e indireta Recursão e repetição Estruturas de dados não lineares grafos e árvores Definição de árvore Características 14 Árvores binárias de pesquisa ABP e suas aplicações Árvores binárias Conversão de árvores em árvores binárias Percursos navegação em árvores Árvores binárias de pesquisa ABP Implementação de árvore binária de pesquisa Implementação de operações complexas em árvore binárias de pesquisa remoção de nodos e balanceamento Aplicações 15 Hashing Tabelas de Espalhamento e suas aplicações Conceitos sobre tabelas de espalhamento Funções de hash hashing Comparação de desempenho de arrays listas ligadas árvores e tabelas de espalhamento Estratégias de implementação de tabelas de hashing Exercícios de aplicação de tabelas de espalhamento 16 Deques com armazenamento não sequencial Aplicações das estruturas de dados lineares Uso da técnica de encadeamento simples e duplo para implementação de deques double ended queues Exemplos e aplicações Aplicações de estrutura de dados lineares pilhas filas deques e listas 17 Avaliação P2 Avaliação teóricoprática P2 18 Apresentações de Trabalhos Apresentações de Trabalhos 19 Avaliação P3 Avaliação teóricoprática substitutiva 20 Encerramento da disciplina Revisão de notas de provas e trabalhos Encerramento da disciplina Bibliografia Basica EDELWEISS N GALANTE R Estruturas de Dados Livros Didáticos UFRGS V18 Bookman 2009 KOFFMANN E B Objetos abstração estrutura de dados e projeto LTC 2008 PEREIRA Silvio do Lago Estruturas de Dados Fundamentais Conceitos e Aplicações 12ª edição 2ª reimpressão São Paulo Érica 2009 Bibliografia Complementar JANDL JUNIOR Peter Java Guia do Programador 2a edição São Paulo Novatec 2013 ASCENCIO A F G Estrutura de dados algoritmos análise da complexidade eimplementações em JAVA e CC São Paulo Pearson Prentice Hall 2010 KOFFMANN E B Objetos abstração estrutura de dados e projeto LTC 2008 Bibliografia Referencia Responsavel pela Disciplina Coordenador pelo Curso PETER JANDL JUNIOR BENEDITO CRISTIANO APARECIDO PETRONI