Plano de Ensino

Ciência da Computação

Página do Curso

Plano de Ensino | URI Câmpus de Erechim

PLANO DE ENSINO

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

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
PAPADIMITRIOU, C. H.; DASGUPTA, S.; VAZIRANI, U.
Algoritmos. Mcgraw-Hill. 2009
FEOFILOFF, Paulo.
Algoritmos em Linguagem C, Elsevier, 2008