DEPARTAMENTO DE ENGENHARIAS E CIÊNCIA DA COMPUTAÇÃO Disciplina: Estrutura de Dados Código: 30-806 Carga Horária: 80h (60h Prática + 20h Teórica) Nº de Créditos: 04
EMENTA Análise e projeto dos tipos de dados abstratos, estruturas de dados e suas aplicações: listas lineares, pilhas, filas. Métodos e técnicas de classificação de dados. Estruturas de dados dinâmicas: tipos de árvores e generalizações, compactação de dados e hashing.
OBJETIVOS Capacitar o aluno a definir formalmente estruturas de dados, manipular estas estruturas, selecioná-las e utilizá-las em suas aplicações como também capacitar o aluno a compreender e aplicar árvores, hashing na busca de soluções eficientes para problemas da área de computação
CONTEÚDOS CURRICULARES Conceitos Iniciais Introdução: tipos primitivos de dados, vetores, matrizes, estruturas (structs). Tipos abstratos de dados (TADs) Representação e implementação de TDA. Recursividade Definição, exemplos, simulação e implementação de recursividade. Listas lineares Definição, estruturas estáticas e dinâmicas, operações básicas em listas de elementos. Pilhas Definição do tipo abstrato, aplicações e exemplos Operações básicas em uma pilha Exercícios e Implementações de pilhas Filas Definição do tipo abstrato, aplicações e exemplos Operações básicas em uma fila Filas circulares Exercícios e Implementação de filas Métodos de classificação de dados Conceituação de estruturas de dados tipo árvores: Árvores comuns Árvores de busca binária (ABB ou ABP), etc Implementação de árvores utilizando TAD com ponteiros; Balanceamento estático e dinâmico; Conceituação de estrutura de dados tipos árvore B, aplicações Técnicas de compressão de arquivos e Hashing
METODOLOGIA Os alunos desenvolverão Trabalhos Discente Efetivos (TDE) no total de 20h, de acordo com o planejamento do professor: estudos de caso, pesquisas bibliográficas, resolução de problemas e lista de exercícios. O desenvolvimento dos conteúdos será feito através de aulas expositivas no quadro, acompanhada da apostila da disciplina para a discussão dos itens de cunho teórico. A seguir, dar-se-á a realização de exercícios práticos para fixação do conteúdo estudado. A resolução de exercícios será seguida da correção dos mesmos pelo professor, com a participação dos alunos, a fim de demonstrar e fixar os conceitos estudados. No decorrer do semestre, serão utilizadas metodologias ativas com o objetivo de potencializar o processo de ensino-aprendizagem.
AVALIAÇÃO Para esta disciplina a avaliação semestral deve considerar a média entre 3 notas (N1, N2) com peso de 80%, e uma avaliação com peso 20% para as atividades desenvolvidas nas TDEs, conforme previsto pelas regras da graduação Ativa da URI, sendo que, N1 e N2 são provas teóricas. A atribuição de notas para a avaliação do desempenho do acadêmico, segue o prescreve o Regimento Geral da Universidade, Art. 88 a 92.
|
BIBLIOGRAFIA BÁSICA PAPADIMITRIOU, Christos H.; DASGUPTA, Sanjoy; VAZIRANI, Umesh. Algoritmos. MCGRAW-HILL. 2009 Drozdek, Adam. Estrutura De Dados E Algoritmos Em C++, Thompson Pioneira, 2002. THOMAS H. CORMEN. Algoritmos: teoria e prática. Rio de Janeiro: Elsevier, 2012. xvii, 916p.
BIBLIOGRAFIA COMPLEMENTAR SEDGEWICK, Robert; Wayne, Kevin; Algorithms(4th Edition) - Addison-Wesley Professional 2011
|