A tabela as seguir apresenta todas as disciplinas com vagas disponíveis para os discentes do Curso de ENGENHARIA COMPUTACIONAL (65B) da Universidade Federal de Juiz de Fora (UFJF) no período letivo atual. Os horários e os docentes responsáveis por cada disciplina podem ser consultados clicando na turma desejada.
Ressalta-se que o Curso de Engenharia Computacional da UFJF é ofertado em período integral, com aulas de segunda a sexta-feira, podendo ocorrer nos turnos matutino (8h às 12h), vespertino (14h às 18h) ou noturno (19h às 23h), conforme estabelecido na grade curricular.
Plano de Ensino
Disciplina: DCC200 - ALGORITMOS II
Horas Aula: 4
Departamento: DEPTO DE CIENCIA DA COMPUTACAO /ICE
Ementa
1. Arquivos
2. Ponteiros
3. Recursividade
4. Introdução à complexidade assintótica
5. Ordenação
6. Tipos abstratos de dados
7. Matrizes
2. Ponteiros
3. Recursividade
4. Introdução à complexidade assintótica
5. Ordenação
6. Tipos abstratos de dados
7. Matrizes
Conteúdo
1. Arquivos; Leitura e escrita em arquivos; Acesso sequencial e acesso direto.
2. Ponteiros; Organização e endereçamento de memória; Declaração, inicialização e aritmética de ponteiros; Passagem de parâmetros por referência; Alocação dinâmica de memória.
3. Recursividade; Definição; Algoritmos recursivos.
4. Introdução à complexidade assintótica; Conceito de ordem de grandeza.
5. Ordenação; Algoritmos BubbleSort, InsertionSort, SelectionSort, ShellSort, MergeSort, QuickSort e HeapSort.
6. Tipos abstratos de dados; Conceitos fundamentais: abstração, domínio de dados, invisibilidade, encapsulamento e proteção; Programação com tipos abstratos de dados.
7. Matrizes; Endereçamento de elementos; Representação linear de matrizes; Matrizes especiais: triangulares, diagonais, tridiagonais, simétrica e antissimétrica; Matrizes esparsas.
2. Ponteiros; Organização e endereçamento de memória; Declaração, inicialização e aritmética de ponteiros; Passagem de parâmetros por referência; Alocação dinâmica de memória.
3. Recursividade; Definição; Algoritmos recursivos.
4. Introdução à complexidade assintótica; Conceito de ordem de grandeza.
5. Ordenação; Algoritmos BubbleSort, InsertionSort, SelectionSort, ShellSort, MergeSort, QuickSort e HeapSort.
6. Tipos abstratos de dados; Conceitos fundamentais: abstração, domínio de dados, invisibilidade, encapsulamento e proteção; Programação com tipos abstratos de dados.
7. Matrizes; Endereçamento de elementos; Representação linear de matrizes; Matrizes especiais: triangulares, diagonais, tridiagonais, simétrica e antissimétrica; Matrizes esparsas.
Bibliografia
CORMEN, T. H.; LEISERSON, C. E.; RIVEST, R. L.; STEIN, C. Algoritmos: teoria e prática. 3a
edição. Elsevier, 2012.
MEDINA, M.; FERTIG, C. Algoritmos e Programação: teoria e prática. 2a edição. Novatec, 2005.
ZIVIANI, N. Projeto de algoritmos com implementação em Java e C++. Cengage Learning, 2007.
edição. Elsevier, 2012.
MEDINA, M.; FERTIG, C. Algoritmos e Programação: teoria e prática. 2a edição. Novatec, 2005.
ZIVIANI, N. Projeto de algoritmos com implementação em Java e C++. Cengage Learning, 2007.
Bibliografia(continuação)
DEITEL, H. M.; DEITEL, P. J. C++: como programar. 5a edição. Pearson, 2006.
GUIMARÃES, A. M.; LAGES, N. A. C. Algoritmos e estruturas de dados. LTC, 1994.
SEDGEWICK, R.; WAYNE, K. D. Algorithms. 4a edição. Addison Wesley, 2011.
STROUSTRUP, B. A linguagem de programação C++. 3a edição. Bookman, 2000.
SZWARCFITER, J. L., Estruturas de dados e seus algoritmos. 3a edição. LTC, 2010.
GUIMARÃES, A. M.; LAGES, N. A. C. Algoritmos e estruturas de dados. LTC, 1994.
SEDGEWICK, R.; WAYNE, K. D. Algorithms. 4a edição. Addison Wesley, 2011.
STROUSTRUP, B. A linguagem de programação C++. 3a edição. Bookman, 2000.
SZWARCFITER, J. L., Estruturas de dados e seus algoritmos. 3a edição. LTC, 2010.
Bibliografia complementar
Não informado