# 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 2. 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: