estrutura de dados

3
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.

Upload: emerson-fiore-palma-guesa

Post on 30-Dec-2015

254 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Estrutura de Dados

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.

Page 2: Estrutura 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.

Page 3: Estrutura de Dados

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.