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)¶
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
Complexidade de algoritmos 2.1. Análise de tempo de execução 2.2. Notação assintótica
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
Recursividade 4.1. Princípio 4.2. Como e quando usar 4.3. Quando não usar 4.4. Removendo recursividade
Divisão e conquista 5.1. Recorrência 5.2. O problema do sub-vetor (sub-array) máximo
Algoritmos de busca 6.1. Busca linear 6.2. Busca binária 6.3. Análise comparativa
Algoritmos de ordenação 7.2. MergeSort 7.3. QuickSort 7.4. Análise comparativa dos métodos de ordenação
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¶
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¶
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: