Programa da Disciplina

Propaganda
UNIVERSIDADE ESTADUAL DE MARINGÁ
CENTRO DE TECNOLOGIA
DEPARTAMENTO DE INFORMÁTICA
PROGRAMA DE DISCIPLINA
Disciplina: Algoritmos e Estruturas de Dados I
Código: 1207
Carga Horária: 204
Ano Letivo: 2003
Curso: Bacharelado em Informática
1. EMENTA
Estudos das formas de representação do pensamento lógico através de técnicas de
desenvolvimento de algoritmos, e de estruturas de dados, para a representação e
manipulação de dados em memória primária de computadores.
2. OBJETIVOS
 desenvolver algoritmos por meio das técnicas: "a arte de resolver problemas",
refinamento sucessivo, recursividade e dividir para conquistar;
 estudar formas de representação e abstração de dados em memória primária de
computadores, em estruturas tais como: arranjos, agregados heterogêneos,
seqüências e encadeamentos estáticos e dinâmicos e, árvores;
 estudar os principais métodos de busca e classificação de dados em memória
primária de um computador;
 estudar conceitos e respectivas aplicações em problemas clássicos da Teoria dos
Grafos;
 desenvolver abstrações destinadas a aplicações específicas, buscando formas
alternativas na resolução de problemas modelados através da teoria dos grafos;
 estudar e desenvolver programas numa linguagem procedimental estruturada.
3. PROGRAMA
01. Desenvolvimento de Algoritmos
1.1 – Conceitos preliminares
1.2 – Definição de Algoritmo
1.3 – Formas de representação de algoritmos: pseudolinguagem e gráfica.
1.4 – Planejamento para abordar a solução de problemas na forma algoritmica: Definição
de objetos de entrada, saída e auxiliares.
1.5 – Estruturas algoritmicas em nível de comando
1.5.1 – Atribuição.
1.5.2 – Seleção.
1.5.3 – Repetição.
1.5.4 – Entrada e saída
1.5.5 – Avaliação de operadore e expressões
1.6 – Abstrações em nível de módulos
1.6.1 – Blocos.
1.6.2 – Procedimentos e funções.
1.6.3 – Módulo.
1.6.4 – Escopo de objetos.
1.6.5 – Passagem de parâmetros
1.6.6 – Tempo de vida.
02. Técnicas para construção de algoritmos e programação.
2.1 – Refinamento suscessivo.
2.2 – Modularização.
2.3 – Técnicas de depuração de algoritmos.
2.4 – Recursividade
03. Tipos de Dados
3.1 – Tipos básicos (inteiro, real, lógico, caracter)
3.2 – Tipos estruturados
3.2.1 – Agregados homogêneos unidimensionais.
3.2.2 – Agregados homogêneos multidimensionais.
3.2.3 – Agregados heterogêneos.
04. Implementação das estruturas algoritmicas em linguagem procedimental
4.1 - Tipos de dados, simples e estruturados.
4.2 - Comandos de entrada e saída.
4.3 - Atribuição e sequencialidade.
4.4 - Comandos de seleção.
4.5 - Comandos de repetição.
4.6 - Subprogramação.
4.7 - Módulos.
05. Introdução à manipulação de dados em arquivos
5.1 – Arquivos de acesso seqüencial
5.2 – Arquivos de acesso direto
06. Conceitos básicos
6.1 – Tipos Abstrato de Dados
6.2 – Estruturas de dados
6.3 – Formas de alocação
6.4 – Noções de complexidade de algoritmos
07. Listas
7.1 – Listas lineares estáticas e dinâmicas
7.2 – Listas circulares e duplamente ligadas
7.3 – Filas
7.4 – Pilhas e deques
7.5 – Algoritmos básicos de gerenciamento
08. Árvores
8.1 – Árvores binárias
8.2 – Árvores de pesquisa
8.3 – Árvores AVL
8.4 – Algoritmos básicos de travessia e gerenciamento
09. Tabelas
9.1 – Pesquisa seqüencial
9.2 – Pesquisa binária
9.3 – Pesquisa através de cálculo de endereço
9.4 – Algoritmos básicos de gerenciamento
10. Classificação interna
10.1 – Classificação por inserção (direta e método dos incrementos decrescentes)
10.2 – Classificação por troca (método da bolha e método de troca e partição)
10.3 – Classificação por seleção (método de seleção direta e método de seleção em
árvore)
10.4 – Classificação por distribuição
10.5 – Classificação por intercalação
11. Introdução à Teoria dos Grafos
11.1. Histórico e apresentação de problemas com solução através da Teoria dos Grafos.
11.2. Definições, elementos básicos e representação gráfica. (nó, arco, rotulação,
subgrafos, tipos de grafo, operações sobre grafos)
11.3. Representações computacionais.
11.4. Algoritmos básicos de travessia
4. BIBLIOGRAFIA
AHO, A. V., Hopcroft J. E., and Ullman J. D. - “Data Structures and Algorithms”. Editora
Addison-Weley, 1987.
BASE, S. – “Computer Algorithms: Introduction to Design and Analysis”. Editora Addison
Wesley, 1988.
CORMEN, T. H. et al – Algoritmos , Trad Segunda Edição Americana. Editora Campus,
2002.
HOROWITZ, E. E SAHNI, S. - Fundamentos de Estruturas de Dados. Editara Campus,
1987.
KNUTH, D.E. - "The art of computer programming". Vol. 1 e 3. Editora Addison-Wesley,
1996.
MANBER, U. - “Algorithms: A Creative Approach”. Editora Academic Press, 1989.
PREISS, B. R. – Estruturas de Dados e Algoritmos. Editora Campus, 2001.
ROWE, G. W., and Rowe G. – “Introduction to Data Structures and Algorithms With C++”.
Editora Prentice Hall 1996.
SHEN, A - “Algorithms and Programming: Problems and soluction”. Editora Birkhauser,
1996.
TANENBAUM, A. M., Langgsam, Y., Augenstein, M.- Estruturas de Dados Usando C.
Editora Makron Books, 1995.
TREMBLAY, J. P. E Bunt, R. B. - Ciência dos Computadores uma abordagem algorítmica.
Editora McGraw-Hill, 1983.
WEISS, M. A. - “Algorithms, Data Structures and Problema Solving with C++”. Editora
Addison-Wesley, 1996.
WIRTH, N. – Algoritmos e Estruturas de Dados. Editora Prentice-Hall, 1989.
ZIVIANI, N.; Projeto de Algoritmos com Implementações em Pascal e C, 3ª Edição, Livraria
Pioneira Editora, 1996.
Em 04/04/2003
___________________________________
APROVAÇÃO DO DEPARTAMENTO
Assinatura do Chefe
_______________________________
APROVAÇÃO DO COLEGIADO
Assinatura do Coordenador
Download