estrutura de dados
TRANSCRIPT
PLANO DE ENSINO CURSO: Sistemas de Informação SÉRIE: 3º semestre DISCIPLINA: Estruturas de Dados CARGA HORÁRIA SEMANAL: 04 horas-aula CARGA HORÁRIA SEMESTRAL: 80 horas I – EMENTA
Tipos abstratos de dados. Conceitos de análise de algoritmos. Estruturas de dados estáticas e dinâmicas em memória principal. Algoritmos de pesquisa e de ordenação em memória principal. II – OBJETIVOS GERAIS O aluno deverá conhecer os problemas e algoritmos clássicos na utilização de estruturas de dados básicos e avançados, sabendo utilizá-los (implementando-os numa linguagem de programação adequada) para o armazenamento e recuperação de dados em problemas práticos, conhecendo noções da complexidade computacional envolvida. III – OBJETIVOS ESPECÍFICOS O cumprimento da disciplina busca dar ao aluno ao final do semestre capacidade de:
Definir e diferenciar as estruturas de dados genéricas fundamentais, tais como filas, pilhas, listas encadeadas e árvores
Manipular estruturas de dados através do emprego de algoritmos
Selecionar e construir estruturas de dados adequadas para aplicações específicas
Comparar quantitativamente algoritmos através do emprego da notação assintótica
Comparar quantitativamente estruturas de dados através do emprego da notação assintótica
IV – CONTEÚDO PROGRAMÁTICO
1. Algoritmos e a Solução de Problemas. a. Introdução b. Nivelamento de algoritmos c. Conceito de análise de algoritmos d. Revisão de arranjos. Representação linear de matrizes.
2. Modularização. a. Procedimentos e Funções. b. Passagem de parâmetros por valor e por referência.
3. Tipos Abstratos de Dados.
a. Conceitos de TAD b. TAD cadeias. Operações com cadeias.
4. Alocação dinâmica de memória: Ponteiros.
5. Lista Linear: Definição e representação. a. Aplicações b. Lista sequencial. Operações. c. Lista encadeada. Operações. d. Listas com descritores. Listas duplamente encadeadas.
6. Listas Lineares com disciplina de acesso: Pilhas. a. Aplicações clássicas de pilhas. b. Representação Linear. c. Representação Encadeada.
7. Listas Lineares com disciplina de acesso: Filas. a. Aplicações clássicas de filas. b. Representação Linear. c. Representação Encadeada. d. Filas especiais: Deque. Fila circular.
8. Recursividade.
9. Árvores a. Definições e representações básicas b. Árvores binárias c. Percurso em árvores binárias d. Árvores binárias de busca
10. Grafos: conceitos, representação e aplicações.
11. Pesquisa de Dados: sequencial e binária
12. Ordenação de Dados a. Ordenação por troca
i. BubbleSort (método da bolha) ii. QuickSort (método da troca e partição)
b. Ordenação por inserção i. InsertionSort (método da inserção direta) ii. BinaryInsertionSort (método da inserção direta binária)
c. Ordenação por seleção i. SelectionSort (método da seleção direta) ii. HeapSort (método da seleção em árvore)
d. Outros métodos i. MergeSort (método da intercalação) ii. BucketSort (método da distribuição de chave)
13. Tabela Hash
V – ESTRATÉGIA DE TRABALHO
Aulas expositivas e recursos audiovisuais
Estudo dirigido com implementação de algoritmos
VI – AVALIAÇÃO
Provas bimestrais e trabalhos práticos.
VII – BIBLIOGRAFIA Básica PEREIRA, Silvio do Lago. - Estruturas de Dados Fundamentais. - Ed. Érica, 2000. EDELWEISS, Nina; GALANTE, Renata. - Estruturas de Dados - Livros Didáticos Informática Ufrgs, V.18 – Ed. Bookman Companhia, 2009. SENAC Estruturas de Dados - 2001 - SENAC RIO. Complementar
VELOSO, P., e outros. - Estruturas de Dados. - Ed. Campus. LAFORE, Robert - Estruturas de Dados e Algoritmos em Java. – Ed. Ciência Moderna, 2005. LORENZI, Fabiana; MATTOS, Patricia Noll de. ; CARVALHO, Tanisi Pereira de. - Estruturas de Dados. – Ed. Thomson Pioneira, 2006. WIRTH, Niklaus - Algoritmos e Estruturas de Dados – Ed. LTC, 1989. MORAES, Celso Roberto - Estruturas de Dados e Algoritmos – Ed. Futura, 2003.