Algoritmos

  • Curso: Tecnologia em Redes de Computadores

  • Disciplina: Algoritmos

  • Carga-Horária: 60h (80h/a) Pré-

PROGRAMAção de computadores Número de créditos 4

Requsito(s):

EMENTA

Algoritmos e pseudocódigo. Complexidade de algoritmos. Implementação de algoritmos. Recursividade. Divisão e conquista. Algoritmos de busca. Algoritmos de ordenação. Processamento de cadeia de caracteres.

PROGRAMA

Objetivos

 Compreender os conceitos fundamentais de algoritmos como forma de solução de problemas;
 Compreender as técnicas de análise de desempenho de algoritmos;
 Compreender as questões envolvendo a implementação de algoritmos em uma linguagem de

PROGRAMAção

Bases Científico-Tecnológicas (Conteúdos)

  1. Conceitos básicos 1.1. Algoritmos e pseudocódigo 1.2. Comandos básicos 1.3. Controle de fluxo 1.4. Rotinas e sub-rotinas

  2. Complexidade de algoritmos 2.1. Análise de tempo de execução 2.2. Notação assintótica

  3. Implementação de algoritmos 3.1. Tipos de dados 3.2. Comandos 3.3. Processo de compilação 3.4. Acesso a memória com ponteiros 3.5. Alocação dinâmica, Listas ligadas 3.6. Otimização de programas 3.7. Estudo de caso: Cálculo de MDC 3.7.1. O problema 3.7.2. A Implementação 3.7.3. Algoritmo de Euclides 3.7.4. Análise comparativa

  4. Recursividade 4.1. Princípio 4.2. Como e quando usar 4.3. Quando não usar 4.4. Removendo recursividade

  5. Divisão e conquista 5.1. Recorrência 5.2. O problema do sub-vetor (sub-array) máximo

  6. Algoritmos de busca 6.1. Busca linear 6.2. Busca binária 6.3. Análise comparativa

  7. Algoritmos de ordenação 7.2. MergeSort 7.3. QuickSort 7.4. Análise comparativa dos métodos de ordenação

  8. Processamento de cadeia de caracteres (Strings) 8.1. Busca em cadeia de caracteres 8.2. Casamento de padrões (patternmatching) 8.3. Compactação de strings

Procedimentos Metodológicos

 Aulas teóricas expositivas;
 Aulas práticas em laboratório;
 Leitura de textos, palestras, seminários e pesquisas bibliográficas;
 Desenvolvimento de projetos.

Recursos Didáticos

 Quadro branco, computador e projetor multimídia

Avaliação

 Avaliações escritas e práticas;
 Trabalhos individuais e em grupo (listas de exercícios, estudos dirigidos, pesquisas);
 Apresentação dos trabalhos desenvolvidos.

Bibliografia Básica

  1. CORMEN, Thomas H…[et al]; SOUZA, Vandenberg D. de. Algoritmos: teoria e prática. Rio de Janeiro: Elsevier, 2002. 916 p. il. ISBN 85-352-0926-3.

Bibliografia Complementar

  1. ZIVIANI, Nivio. Projeto de algoritmos: com implementações em Pascal e C. 3. ed. São Paulo: Pioneira, 1996. ISBN 8522110506 Software(s) de Apoio: